MCP Tools Reference: ces.googleapis.com

도구: get_app_version

지정된 앱 버전의 세부정보를 가져옵니다.

다음 샘플은 curl를 사용하여 get_app_version MCP 도구를 호출하는 방법을 보여줍니다.

curl 요청
                  
curl --location 'https://ces.[REGION].rep.googleapis.com/mcp' \
--header 'content-type: application/json' \
--header 'accept: application/json, text/event-stream' \
--data '{
  "method": "tools/call",
  "params": {
    "name": "get_app_version",
    "arguments": {
      // provide these details according to the tool's MCP specification
    }
  },
  "jsonrpc": "2.0",
  "id": 1
}'
                

입력 스키마

AgentService.GetAppVersion에 대한 요청 메시지입니다.

GetAppVersionRequest

JSON 표현
{
  "name": string
}
필드
name

string

필수 항목입니다. 가져올 앱 버전의 리소스 이름입니다.

출력 스키마

고객 참여 스위트 (CES)에서 앱 버전은 특정 시점의 앱 스냅샷입니다. 변경할 수 없으며 생성 후 수정할 수 없습니다.

AppVersion

JSON 표현
{
  "name": string,
  "displayName": string,
  "description": string,
  "creator": string,
  "createTime": string,
  "snapshot": {
    object (AppSnapshot)
  },
  "etag": string
}
필드
name

string

식별자. 앱 버전의 고유 식별자입니다. 형식: projects/{project}/locations/{location}/apps/{app}/versions/{version}

displayName

string

선택사항입니다. 앱 버전의 표시 이름입니다.

description

string

선택사항입니다. 앱 버전의 설명입니다.

creator

string

출력 전용입니다. 앱 버전을 만든 사용자의 이메일입니다.

createTime

string (Timestamp format)

출력 전용입니다. 앱 버전이 생성된 타임스탬프입니다.

생성된 출력은 항상 Z-정규화되고 소수점 이하 0, 3, 6 또는 9자리인 RFC 3339를 사용합니다. 'Z' 이외의 오프셋도 허용됩니다. 예를 들면 "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" 또는 "2014-10-02T15:01:23+05:30"입니다.

snapshot

object (AppSnapshot)

출력 전용입니다. 버전이 생성될 때의 앱 스냅샷입니다.

etag

string

출력 전용입니다. 읽기-수정-쓰기 작업 중에 객체가 변경되지 않았는지 확인하는 데 사용되는 Etag입니다. etag가 비어 있으면 업데이트가 동시에 발생한 변경사항을 덮어씁니다.

타임스탬프

JSON 표현
{
  "seconds": string,
  "nanos": integer
}
필드
seconds

string (int64 format)

Unix epoch 1970-01-01T00:00:00Z 이후 UTC 시간의 초 단위로 표현합니다. -62135596800~253402300799 (0001-01-01T00:00:00Z~9999-12-31T23:59:59Z에 해당) 사이여야 합니다.

nanos

integer

나노초 단위의 음수가 아닌 초수입니다. 이 필드는 기간의 나노초 부분이며 초의 대안이 아닙니다. 음수의 초수 값에는 시간에 반영되는 음수가 아닌 나노초 값이 있어야 합니다. 0~999,999,999(포함) 사이여야 합니다.

AppSnapshot

JSON 표현
{
  "app": {
    object (App)
  },
  "agents": [
    {
      object (Agent)
    }
  ],
  "tools": [
    {
      object (Tool)
    }
  ],
  "examples": [
    {
      object (Example)
    }
  ],
  "guardrails": [
    {
      object (Guardrail)
    }
  ],
  "toolsets": [
    {
      object (Toolset)
    }
  ]
}
필드
app

object (App)

선택사항입니다. 앱의 기본 설정입니다.

agents[]

object (Agent)

선택사항입니다. 앱의 에이전트 목록입니다.

tools[]

object (Tool)

선택사항입니다. 앱의 도구 목록입니다.

examples[]

object (Example)

선택사항입니다. 앱의 예시 목록입니다.

guardrails[]

object (Guardrail)

선택사항입니다. 앱의 가드레일 목록입니다.

toolsets[]

object (Toolset)

선택사항입니다. 앱의 도구 모음 목록입니다.

JSON 표현
{
  "name": string,
  "displayName": string,
  "description": string,
  "pinned": boolean,
  "rootAgent": string,
  "languageSettings": {
    object (LanguageSettings)
  },
  "timeZoneSettings": {
    object (TimeZoneSettings)
  },
  "audioProcessingConfig": {
    object (AudioProcessingConfig)
  },
  "loggingSettings": {
    object (LoggingSettings)
  },
  "errorHandlingSettings": {
    object (ErrorHandlingSettings)
  },
  "modelSettings": {
    object (ModelSettings)
  },
  "toolExecutionMode": enum (ToolExecutionMode),
  "evaluationMetricsThresholds": {
    object (EvaluationMetricsThresholds)
  },
  "variableDeclarations": [
    {
      object (VariableDeclaration)
    }
  ],
  "predefinedVariableDeclarations": [
    {
      object (VariableDeclaration)
    }
  ],
  "globalInstruction": string,
  "guardrails": [
    string
  ],
  "dataStoreSettings": {
    object (DataStoreSettings)
  },
  "defaultChannelProfile": {
    object (ChannelProfile)
  },
  "metadata": {
    string: string,
    ...
  },
  "createTime": string,
  "updateTime": string,
  "etag": string,
  "deploymentCount": integer,
  "clientCertificateSettings": {
    object (ClientCertificateSettings)
  },
  "locked": boolean
}
필드
name

string

식별자. 앱의 고유 식별자입니다. 형식: projects/{project}/locations/{location}/apps/{app}

displayName

string

필수 항목입니다. 앱의 표시 이름입니다.

description

string

선택사항입니다. 인간이 읽을 수 있는 앱 설명입니다.

pinned

boolean

선택사항입니다. 앱이 앱 목록에 고정되어 있는지 여부입니다.

rootAgent

string

선택사항입니다. 루트 에이전트는 앱의 진입점입니다. 형식: projects/{project}/locations/{location}/apps/{app}/agents/{agent}

languageSettings

object (LanguageSettings)

선택사항입니다. 앱의 언어 설정입니다.

timeZoneSettings

object (TimeZoneSettings)

선택사항입니다. 앱의 시간대 설정입니다.

audioProcessingConfig

object (AudioProcessingConfig)

선택사항입니다. 앱의 오디오 처리 구성입니다.

loggingSettings

object (LoggingSettings)

선택사항입니다. 앱의 로깅 설정입니다.

errorHandlingSettings

object (ErrorHandlingSettings)

선택사항입니다. 앱의 오류 처리 설정입니다.

modelSettings

object (ModelSettings)

선택사항입니다. 앱의 기본 LLM 모델 설정입니다. 개별 리소스 (예: 에이전트, 가드레일)는 필요에 따라 이러한 구성을 재정의할 수 있습니다.

toolExecutionMode

enum (ToolExecutionMode)

선택사항입니다. 앱의 도구 실행 모드입니다. 제공되지 않으면 기본값은 PARALLEL입니다.

evaluationMetricsThresholds

object (EvaluationMetricsThresholds)

선택사항입니다. 앱의 평가 기준입니다.

variableDeclarations[]

object (VariableDeclaration)

선택사항입니다. 변수의 선언입니다.

predefinedVariableDeclarations[]

object (VariableDeclaration)

출력 전용입니다. 앱의 사전 정의된 변수 선언입니다.

globalInstruction

string

선택사항입니다. 앱의 모든 에이전트에 관한 안내입니다. 이 안내를 사용하여 모든 에이전트에서 안정적인 ID 또는 페르소나를 설정할 수 있습니다.

guardrails[]

string

선택사항입니다. 앱의 가이드라인 목록입니다. 형식: projects/{project}/locations/{location}/apps/{app}/guardrails/{guardrail}

dataStoreSettings

object (DataStoreSettings)

선택사항입니다. 앱의 데이터 스토어 설정입니다.

defaultChannelProfile

object (ChannelProfile)

선택사항입니다. 앱에서 사용하는 기본 채널 프로필입니다.

metadata

map (key: string, value: string)

선택사항입니다. 앱에 관한 메타데이터입니다. 이 필드는 앱의 세부정보 또는 의도된 사용과 관련된 추가 정보를 저장하는 데 사용할 수 있습니다.

"key": value 쌍 목록을 포함하는 객체입니다. 예: { "name": "wrench", "mass": "1.3kg", "count": "3" }

createTime

string (Timestamp format)

출력 전용입니다. 앱이 생성된 타임스탬프입니다.

생성된 출력은 항상 Z-정규화되고 소수점 이하 0, 3, 6 또는 9자리인 RFC 3339를 사용합니다. 'Z' 이외의 오프셋도 허용됩니다. 예를 들면 "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" 또는 "2014-10-02T15:01:23+05:30"입니다.

updateTime

string (Timestamp format)

출력 전용입니다. 앱이 마지막으로 업데이트된 타임스탬프입니다.

생성된 출력은 항상 Z-정규화되고 소수점 이하 0, 3, 6 또는 9자리인 RFC 3339를 사용합니다. 'Z' 이외의 오프셋도 허용됩니다. 예를 들면 "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" 또는 "2014-10-02T15:01:23+05:30"입니다.

etag

string

출력 전용입니다. 읽기-수정-쓰기 작업 중에 객체가 변경되지 않았는지 확인하는 데 사용되는 Etag입니다. etag가 비어 있으면 업데이트가 동시에 발생한 변경사항을 덮어씁니다.

deploymentCount

integer

출력 전용입니다. 앱의 배포 수입니다.

clientCertificateSettings

object (ClientCertificateSettings)

선택사항입니다. 앱의 기본 클라이언트 인증서 설정입니다.

locked

boolean

선택사항입니다. 앱이 변경사항에 대해 잠겨 있는지 여부를 나타냅니다. 앱이 잠겨 있으면 앱 리소스 수정이 거부됩니다.

LanguageSettings

JSON 표현
{
  "defaultLanguageCode": string,
  "supportedLanguageCodes": [
    string
  ],
  "enableMultilingualSupport": boolean,
  "fallbackAction": string
}
필드
defaultLanguageCode

string

선택사항입니다. 앱의 기본 언어 코드입니다.

supportedLanguageCodes[]

string

선택사항입니다. default_language_code 외에 앱에서 지원하는 언어 코드 목록입니다.

enableMultilingualSupport

boolean

선택사항입니다. 다국어 지원을 사용 설정합니다. true인 경우 앱의 에이전트가 사전 빌드된 안내를 사용하여 다국어 입력 처리를 개선합니다.

fallbackAction

string

선택사항입니다. 상담사가 지원되지 않는 언어로 입력을 받는 경우 수행할 작업입니다.

사전 정의된 작업 또는 맞춤 도구 호출일 수 있습니다. 유효한 값은 다음과 같습니다. - 특정 도구 실행을 트리거하는 도구의 전체 리소스 이름 - '에스컬레이션' 또는 '종료'와 같은 사전 정의된 시스템 작업으로, 대화를 종료하기 위해 해당 metadata와 함께 EndSession 신호를 트리거합니다.

TimeZoneSettings

JSON 표현
{
  "timeZone": string
}
필드
timeZone

string

선택사항입니다. 시간대 데이터베이스의 앱 시간대입니다(예: America/Los_Angeles, Europe/Paris

AudioProcessingConfig

JSON 표현
{
  "synthesizeSpeechConfigs": {
    string: {
      object (SynthesizeSpeechConfig)
    },
    ...
  },
  "bargeInConfig": {
    object (BargeInConfig)
  },
  "inactivityTimeout": string,
  "ambientSoundConfig": {
    object (AmbientSoundConfig)
  }
}
필드
synthesizeSpeechConfigs

map (key: string, value: object (SynthesizeSpeechConfig))

선택사항입니다. 에이전트 응답이 합성되는 방식을 구성합니다. 언어 코드에서 SynthesizeSpeechConfig로 매핑됩니다.

지정된 언어 코드의 구성이 없으면 루트 언어 코드의 구성이 사용됩니다. 예를 들어 지도에 'en-us'와 'en'이 포함되어 있고 지정된 언어 코드가 'en-gb'인 경우 'en' 구성이 사용됩니다.

참고: 언어 코드는 대소문자를 구분하지 않습니다.

"key": value 쌍 목록을 포함하는 객체입니다. 예: { "name": "wrench", "mass": "1.3kg", "count": "3" }

bargeInConfig

object (BargeInConfig)

선택사항입니다. 사용자 끼어들기 활동의 에이전트 동작을 구성합니다.

inactivityTimeout

string (Duration format)

선택사항입니다. 상담사가 사용자에게 다시 참여하도록 프롬프트하기 전까지 사용자가 비활성 상태 (음성 또는 상호작용 없음)로 있는 시간입니다. 설정하지 않으면 상담사가 사용자에게 재참여를 요청하지 않습니다.

소수점 아래가 최대 9자리까지이고 's'로 끝나는 초 단위 기간입니다. 예를 들면 "3.5s"입니다.

ambientSoundConfig

object (AmbientSoundConfig)

선택사항입니다. 합성된 에이전트 응답과 함께 재생되는 주변 소리의 구성으로, 대화의 자연스러움을 향상합니다.

SynthesizeSpeechConfigsEntry

JSON 표현
{
  "key": string,
  "value": {
    object (SynthesizeSpeechConfig)
  }
}
필드
key

string

value

object (SynthesizeSpeechConfig)

SynthesizeSpeechConfig

JSON 표현
{
  "voice": string,
  "speakingRate": number
}
필드
voice

string

선택사항. 음성 이름입니다. 설정하지 않으면 서비스는 language_code와 같은 다른 매개변수를 기반으로 음성을 선택합니다.

사용 가능한 음성 목록은 Cloud Text-to-Speech의 지원되는 음성 및 언어를 참고하세요.

speakingRate

number

선택사항입니다. 말하기 속도로 범위는 [0.25, 2.0]입니다. 1.0은 특정 음성에서 지원하는 일반적인 기본 속도입니다. 2.0은 기본 속도의 2배이며 0.5는 절반입니다. [0.25, 2.0] 범위를 벗어난 값은 오류를 반환합니다.

BargeInConfig

JSON 표현
{
  "disableBargeIn": boolean,
  "bargeInAwareness": boolean
}
필드
disableBargeIn
(deprecated)

boolean

선택사항입니다. 상담사가 말하는 동안 사용자의 끼어들기를 사용 중지합니다. true인 경우 에이전트 응답 재생 중 사용자 입력이 무시됩니다.

지원 중단됨: ChannelProfile에서 disable_barge_in가 지원 중단되고 disable_barge_in_control로 대체되었습니다.

bargeInAwareness

boolean

선택사항입니다. 사용 설정된 경우 상담사는 사용자가 이전 상담사 메시지를 완전히 듣지 않았다는 가정에 따라 다음 응답을 조정합니다. 에이전트 응답이 시각적으로 표시되는 시나리오에서는 사용하면 안 됩니다.

기간

JSON 표현
{
  "seconds": string,
  "nanos": integer
}
필드
seconds

string (int64 format)

시간 범위의 부호가 있는 초입니다. -315,576,000,000~+315,576,000,000(포함) 사이여야 합니다. 참고: 이 범위는 60초/분 * 60분/시간 * 24시간/일 * 365.25일/년 * 10,000년에서 계산됩니다.

nanos

integer

시간 범위의 나노초 단위의 부호가 있는 초수입니다. 1초 미만의 기간은 0 seconds 필드와 양수 또는 음수 nanos 필드로 표현됩니다. 1초 이상의 기간의 경우 nanos 필드의 0이 아닌 값은 seconds 필드와 부호가 같아야 합니다. 값은 -999,999,999~+999,999,999(끝값 포함)이어야 합니다.

AmbientSoundConfig

JSON 표현
{
  "volumeGainDb": number,

  // Union field source can be only one of the following:
  "prebuiltAmbientNoise": enum (PrebuiltAmbientNoise),
  "gcsUri": string,
  "prebuiltAmbientSound": string
  // End of list of possible types for union field source.
}
필드
volumeGainDb

number

선택사항입니다. 주변 소음으로 지원되는 일반 기본 볼륨의 볼륨 게인 (dB)입니다. 범위는 [-96.0, 16.0]입니다. 값을 설정하지 않거나 0.0(dB)으로 설정하면 일반적인 기본 신호 진폭에서 재생됩니다. 값이 -6.0(dB)이면 일반적인 기본 신호 진폭의 약 절반에서 재생됩니다. 값이 +6.0(dB)이면 일반적인 기본 신호 진폭의 약 두 배에서 재생됩니다. +10(dB)을 초과하는 값을 사용하지 않는 것이 좋습니다. 값이 +10을 초과하면 일반적으로 소리가 커지는 효과가 없기 때문입니다.

통합 필드 source. 대화의 자연스러움을 높이기 위해 합성된 에이전트 응답과 함께 재생되는 주변 소음입니다. source은 다음 중 하나여야 합니다.
prebuiltAmbientNoise
(deprecated)

enum (PrebuiltAmbientNoise)

선택사항입니다. 지원 중단됨: prebuilt_ambient_noise이(가) 지원 중단되고 prebuilt_ambient_sound(으)로 대체되었습니다.

gcsUri

string

선택사항입니다. Cloud Storage에 저장된 모노 채널, 16kHz WAV 파일 형식의 주변 소음

참고: CES 서비스 에이전트 service-<PROJECT-NUMBER>@gcp-sa-ces.iam.gserviceaccount.com에 Cloud Storage 객체에 대한 storage.objects.get 권한이 있는지 확인하세요.

prebuiltAmbientSound

string

선택사항입니다. 미리 빌드된 주변 소리의 이름입니다. 유효한 값은 다음과 같습니다. - 'coffee_shop' - 'keyboard' - 'keypad' - 'hum' - 'office_1' - 'office_2' - 'office_3' - 'room_1' - 'room_2' - 'room_3' - 'room_4' - 'room_5' - 'air_conditioner'

LoggingSettings

JSON 표현
{
  "redactionConfig": {
    object (RedactionConfig)
  },
  "audioRecordingConfig": {
    object (AudioRecordingConfig)
  },
  "bigqueryExportSettings": {
    object (BigQueryExportSettings)
  },
  "cloudLoggingSettings": {
    object (CloudLoggingSettings)
  },
  "conversationLoggingSettings": {
    object (ConversationLoggingSettings)
  },
  "evaluationAudioRecordingConfig": {
    object (AudioRecordingConfig)
  },
  "metricAnalysisSettings": {
    object (MetricAnalysisSettings)
  }
}
필드
redactionConfig

object (RedactionConfig)

선택사항입니다. 민감한 정보를 수정하는 방법에 관한 구성입니다.

audioRecordingConfig

object (AudioRecordingConfig)

선택사항입니다. 오디오 상호작용을 녹음하는 방식에 관한 구성입니다.

bigqueryExportSettings

object (BigQueryExportSettings)

선택사항입니다. 앱의 BigQuery 내보내기 동작을 설명하는 설정입니다. 사용 설정된 경우 대화 데이터가 BigQuery 테이블로 내보내집니다.

cloudLoggingSettings

object (CloudLoggingSettings)

선택사항입니다. 앱의 Cloud Logging 동작을 설명하는 설정입니다.

conversationLoggingSettings

object (ConversationLoggingSettings)

선택사항입니다. 앱의 대화 로깅 동작을 설명하는 설정입니다.

evaluationAudioRecordingConfig

object (AudioRecordingConfig)

선택사항입니다. 평가를 위해 오디오 상호작용을 녹음하는 방식에 관한 구성입니다. 기본적으로 평가 세션에는 오디오 녹음이 사용 설정되어 있지 않습니다.

metricAnalysisSettings

object (MetricAnalysisSettings)

선택사항입니다. 앱의 LLM 분석 파이프라인의 대화 데이터 수집 동작을 설명하는 설정입니다.

RedactionConfig

JSON 표현
{
  "enableRedaction": boolean,
  "inspectTemplate": string,
  "deidentifyTemplate": string
}
필드
enableRedaction

boolean

선택사항입니다. true인 경우 대화 기록, Cloud Logging, 오디오 녹음 등 다양한 로깅 시나리오에 수정이 적용됩니다.

inspectTemplate

string

선택사항입니다. 민감한 정보 유형의 감지를 구성하는 DLP 검사 템플릿 이름입니다.

형식: projects/{project}/locations/{location}/inspectTemplates/{inspect_template}

deidentifyTemplate

string

선택사항입니다. 콘텐츠를 익명화하는 방법을 안내하는 DLP 익명화 템플릿 이름입니다.

형식: projects/{project}/locations/{location}/deidentifyTemplates/{deidentify_template}

AudioRecordingConfig

JSON 표현
{
  "gcsBucket": string,
  "gcsPathPrefix": string
}
필드
gcsBucket

string

선택사항입니다. 세션 오디오 녹음을 저장할 Cloud Storage 버킷입니다. URI는 'gs://'로 시작해야 합니다.

데이터 상주 요구사항을 충족하는 버킷 위치를 선택하세요.

참고: Cloud Storage 버킷이 앱과 다른 프로젝트에 있는 경우 CES 서비스 에이전트 service-<PROJECT-NUMBER>@gcp-sa-ces.iam.gserviceaccount.comstorage.objects.create 권한을 부여해야 합니다.

gcsPathPrefix

string

선택사항입니다. 오디오 녹음 파일의 Cloud Storage 경로 접두사입니다.

이 접두사에는 게재 시간에 동적으로 대체되는 다음 자리표시자가 포함될 수 있습니다. - $project: 프로젝트 ID - $location: 앱 위치 - $app: 앱 ID - $date: YYYY-MM-DD 형식의 세션 날짜 - $session: 세션 ID

경로 접두사를 지정하지 않으면 기본 접두사 $project/$location/$app/$date/$session/가 사용됩니다.

BigQueryExportSettings

JSON 표현
{
  "enabled": boolean,
  "project": string,
  "dataset": string
}
필드
enabled

boolean

선택사항입니다. BigQuery 내보내기가 사용 설정되어 있는지 여부를 나타냅니다.

project

string

선택사항입니다. 데이터를 내보낼 BigQuery 데이터 세트의 프로젝트 ID입니다.

참고: BigQuery 데이터 세트가 앱과 다른 프로젝트에 있는 경우 CES 서비스 에이전트 service-<PROJECT-NUMBER>@gcp-sa-ces.iam.gserviceaccount.comroles/bigquery.admin 역할을 부여해야 합니다.

dataset

string

선택사항입니다. 데이터를 내보낼 BigQuery 데이터 세트입니다.

CloudLoggingSettings

JSON 표현
{
  "enableCloudLogging": boolean
}
필드
enableCloudLogging

boolean

선택사항입니다. 세션에 Cloud Logging을 사용 설정할지 여부입니다.

ConversationLoggingSettings

JSON 표현
{
  "disableConversationLogging": boolean
}
필드
disableConversationLogging

boolean

선택사항입니다. 세션의 대화 로깅을 사용 중지할지 여부입니다.

MetricAnalysisSettings

JSON 표현
{
  "llmMetricsOptedOut": boolean
}
필드
llmMetricsOptedOut

boolean

선택사항입니다. llm 분석 측정항목을 위해 대화 데이터를 수집할지 여부입니다. true인 경우 llm 분석 측정항목에 대한 대화 데이터가 수집되지 않습니다. 그렇지 않으면 대화 데이터가 수집됩니다.

ErrorHandlingSettings

JSON 표현
{
  "errorHandlingStrategy": enum (ErrorHandlingStrategy)
}
필드
errorHandlingStrategy

enum (ErrorHandlingStrategy)

선택사항입니다. 오류 처리에 사용할 전략입니다.

ModelSettings

JSON 표현
{
  "model": string,

  // Union field _temperature can be only one of the following:
  "temperature": number
  // End of list of possible types for union field _temperature.
}
필드
model

string

선택사항입니다. 에이전트가 사용해야 하는 LLM 모델입니다. 설정하지 않으면 에이전트가 상위 에이전트의 모델을 상속합니다.

통합 필드 _temperature.

_temperature는 다음 중 하나여야 합니다.

temperature

number

선택사항입니다. 설정된 경우 이 온도가 LLM 모델에 사용됩니다. 온도는 모델 응답의 무작위성을 제어합니다. 온도가 낮을수록 더 예측 가능한 대답이 생성됩니다. 온도가 높을수록 더 창의적인 대답이 생성됩니다.

EvaluationMetricsThresholds

JSON 표현
{
  "goldenEvaluationMetricsThresholds": {
    object (GoldenEvaluationMetricsThresholds)
  },
  "hallucinationMetricBehavior": enum (HallucinationMetricBehavior),
  "goldenHallucinationMetricBehavior": enum (HallucinationMetricBehavior),
  "scenarioHallucinationMetricBehavior": enum (HallucinationMetricBehavior)
}
필드
goldenEvaluationMetricsThresholds

object (GoldenEvaluationMetricsThresholds)

선택사항입니다. 핵심 평가 측정항목 기준입니다.

hallucinationMetricBehavior
(deprecated)

enum (HallucinationMetricBehavior)

선택사항입니다. 지원 중단됨: 대신 golden_hallucination_metric_behavior을 사용하세요. 현재 골든 평가에는 허위 정보 측정항목 동작이 사용됩니다.

goldenHallucinationMetricBehavior

enum (HallucinationMetricBehavior)

선택사항입니다. 골든 평가의 허위 정보 측정항목 동작입니다.

scenarioHallucinationMetricBehavior

enum (HallucinationMetricBehavior)

선택사항입니다. 시나리오 평가의 허위 정보 측정항목 동작입니다.

GoldenEvaluationMetricsThresholds

JSON 표현
{
  "turnLevelMetricsThresholds": {
    object (TurnLevelMetricsThresholds)
  },
  "expectationLevelMetricsThresholds": {
    object (ExpectationLevelMetricsThresholds)
  },
  "toolMatchingSettings": {
    object (ToolMatchingSettings)
  }
}
필드
turnLevelMetricsThresholds

object (TurnLevelMetricsThresholds)

선택사항입니다. 턴 수준 측정항목 기준점입니다.

expectationLevelMetricsThresholds

object (ExpectationLevelMetricsThresholds)

선택사항입니다. 기대 수준 측정항목 기준점입니다.

toolMatchingSettings

object (ToolMatchingSettings)

선택사항입니다. 도구 매칭 설정입니다. 추가 도구 호출은 실행에 있지만 골든 기대치에 있는 도구 호출과 일치하지 않는 도구 호출입니다.

TurnLevelMetricsThresholds

JSON 표현
{
  "semanticSimilarityChannel": enum (SemanticSimilarityChannel),

  // Union field _semantic_similarity_success_threshold can be only one of the
  // following:
  "semanticSimilaritySuccessThreshold": integer
  // End of list of possible types for union field
  // _semantic_similarity_success_threshold.

  // Union field _overall_tool_invocation_correctness_threshold can be only one
  // of the following:
  "overallToolInvocationCorrectnessThreshold": number
  // End of list of possible types for union field
  // _overall_tool_invocation_correctness_threshold.
}
필드
semanticSimilarityChannel

enum (SemanticSimilarityChannel)

선택사항입니다. 평가에 사용할 시맨틱 유사성 채널입니다.

통합 필드 _semantic_similarity_success_threshold.

_semantic_similarity_success_threshold는 다음 중 하나여야 합니다.

semanticSimilaritySuccessThreshold

integer

선택사항입니다. 의미론적 유사성의 성공 기준입니다. 0에서 4 사이의 정수여야 합니다. 기본값은 3 이상입니다.

통합 필드 _overall_tool_invocation_correctness_threshold.

_overall_tool_invocation_correctness_threshold는 다음 중 하나여야 합니다.

overallToolInvocationCorrectnessThreshold

number

선택사항입니다. 전반적인 도구 호출 정확성의 성공 기준입니다. 0과 1 사이의 부동 소수점이어야 합니다. 기본값은 1.0입니다.

ExpectationLevelMetricsThresholds

JSON 표현
{

  // Union field _tool_invocation_parameter_correctness_threshold can be only one
  // of the following:
  "toolInvocationParameterCorrectnessThreshold": number
  // End of list of possible types for union field
  // _tool_invocation_parameter_correctness_threshold.
}
필드

통합 필드 _tool_invocation_parameter_correctness_threshold.

_tool_invocation_parameter_correctness_threshold는 다음 중 하나여야 합니다.

toolInvocationParameterCorrectnessThreshold

number

선택사항입니다. 개별 도구 호출 매개변수 정확성의 성공 기준입니다. 0과 1 사이의 부동 소수점이어야 합니다. 기본값은 1.0입니다.

ToolMatchingSettings

JSON 표현
{
  "extraToolCallBehavior": enum (ExtraToolCallBehavior)
}
필드
extraToolCallBehavior

enum (ExtraToolCallBehavior)

선택사항입니다. 추가 도구 호출의 동작입니다. 기본값은 FAIL입니다.

VariableDeclaration

JSON 표현
{
  "name": string,
  "description": string,
  "schema": {
    object (Schema)
  }
}
필드
name

string

필수 항목입니다. 변수의 이름입니다. 이름은 문자 또는 밑줄로 시작해야 하며 문자, 숫자, 밑줄만 포함할 수 있습니다.

description

string

필수 항목입니다. 변수에 대한 설명입니다.

schema

object (Schema)

필수 항목입니다. 변수의 스키마입니다.

스키마

JSON 표현
{
  "type": enum (Type),
  "properties": {
    string: {
      object (Schema)
    },
    ...
  },
  "required": [
    string
  ],
  "description": string,
  "items": {
    object (Schema)
  },
  "nullable": boolean,
  "uniqueItems": boolean,
  "prefixItems": [
    {
      object (Schema)
    }
  ],
  "additionalProperties": {
    object (Schema)
  },
  "anyOf": [
    {
      object (Schema)
    }
  ],
  "enum": [
    string
  ],
  "default": value,
  "ref": string,
  "defs": {
    string: {
      object (Schema)
    },
    ...
  },
  "title": string,
  "minItems": string,
  "maxItems": string,

  // Union field _minimum can be only one of the following:
  "minimum": number
  // End of list of possible types for union field _minimum.

  // Union field _maximum can be only one of the following:
  "maximum": number
  // End of list of possible types for union field _maximum.
}
필드
type

enum (Type)

필수 항목입니다. 데이터 유형입니다.

properties

map (key: string, value: object (Schema))

선택사항입니다. Type.OBJECT의 속성입니다.

"key": value 쌍 목록을 포함하는 객체입니다. 예: { "name": "wrench", "mass": "1.3kg", "count": "3" }

required[]

string

선택사항입니다. Type.OBJECT의 필수 속성입니다.

description

string

선택사항입니다. 데이터의 설명입니다.

items

object (Schema)

선택사항입니다. Type.ARRAY 요소의 스키마입니다.

nullable

boolean

선택사항입니다. null 값을 나타냅니다.

uniqueItems

boolean

선택사항입니다. 배열의 항목이 고유해야 함을 나타냅니다. TYPE.ARRAY에만 적용됩니다.

prefixItems[]

object (Schema)

선택사항입니다. Type.ARRAY의 초기 요소 스키마입니다.

additionalProperties

object (Schema)

선택사항입니다. 불리언 또는 객체일 수 있으며 추가 속성의 존재를 제어합니다.

anyOf[]

object (Schema)

선택사항입니다. 값은 목록에 있는 하위 스키마 중 하나 이상에 대해 검증되어야 합니다.

enum[]

string

선택사항입니다. enum 형식의 기본 유형 요소의 가능한 값입니다. 예: 1. 방향을 {type:STRING, format:enum, enum:["EAST", NORTH", "SOUTH", "WEST"]}로 정의할 수 있습니다. 2. 아파트 번호를 {type:INTEGER, format:enum, enum:["101", "201", "301"]}로 정의할 수 있습니다.

default

value (Value format)

선택사항입니다. 데이터의 기본값입니다.

ref

string

선택사항입니다. 스키마 노드 간의 간접 참조를 허용합니다. 값은 루트 defs의 하위에 대한 유효한 참조여야 합니다.

예를 들어 다음 스키마는 'Pet'이라는 스키마 노드에 대한 참조를 정의합니다.

type: object
properties:
  pet:
    ref: #/defs/Pet
defs:
  Pet:
    type: object
    properties:
      name:
        type: string

'pet' 속성의 값은 'Pet'이라는 스키마 노드를 참조합니다. 자세한 내용은 https://json-schema.org/understanding-json-schema/structuring을 참고하세요.

defs

map (key: string, value: object (Schema))

선택사항입니다. ref에서 사용할 정의의 맵입니다. 스키마의 루트에서만 허용됩니다.

"key": value 쌍 목록을 포함하는 객체입니다. 예: { "name": "wrench", "mass": "1.3kg", "count": "3" }

title

string

선택사항입니다. 스키마의 제목입니다.

minItems

string (int64 format)

선택사항입니다. Type.ARRAY의 최소 요소 수입니다.

maxItems

string (int64 format)

선택사항입니다. Type.ARRAY의 최대 요소 수입니다.

통합 필드 _minimum.

_minimum는 다음 중 하나여야 합니다.

minimum

number

선택사항입니다. Type.INTEGER 및 Type.NUMBER의 최솟값입니다.

통합 필드 _maximum.

_maximum는 다음 중 하나여야 합니다.

maximum

number

선택사항입니다. Type.INTEGER 및 Type.NUMBER의 최댓값입니다.

PropertiesEntry

JSON 표현
{
  "key": string,
  "value": {
    object (Schema)
  }
}
필드
key

string

value

object (Schema)

JSON 표현
{

  // Union field kind can be only one of the following:
  "nullValue": null,
  "numberValue": number,
  "stringValue": string,
  "boolValue": boolean,
  "structValue": {
    object
  },
  "listValue": array
  // End of list of possible types for union field kind.
}
필드
통합 필드 kind. 값의 종류입니다. kind은 다음 중 하나여야 합니다.
nullValue

null

null 값을 나타냅니다.

numberValue

number

double 값을 나타냅니다.

stringValue

string

문자열 값을 나타냅니다.

boolValue

boolean

불리언 값을 나타냅니다.

structValue

object (Struct format)

구조화된 값을 나타냅니다.

listValue

array (ListValue format)

반복되는 Value을 나타냅니다.

구조체

JSON 표현
{
  "fields": {
    string: value,
    ...
  }
}
필드
fields

map (key: string, value: value (Value format))

동적으로 입력된 값의 순서가 지정되지 않은 맵입니다.

"key": value 쌍 목록을 포함하는 객체입니다. 예: { "name": "wrench", "mass": "1.3kg", "count": "3" }

FieldsEntry

JSON 표현
{
  "key": string,
  "value": value
}
필드
key

string

value

value (Value format)

ListValue

JSON 표현
{
  "values": [
    value
  ]
}
필드
values[]

value (Value format)

동적으로 입력된 값의 반복 필드입니다.

DefsEntry

JSON 표현
{
  "key": string,
  "value": {
    object (Schema)
  }
}
필드
key

string

value

object (Schema)

DataStoreSettings

JSON 표현
{
  "engines": [
    {
      object (Engine)
    }
  ]
}
필드
engines[]

object (Engine)

출력 전용입니다. 앱의 엔진입니다.

엔진

JSON 표현
{
  "name": string,
  "type": enum (Type)
}
필드
name

string

출력 전용입니다. 엔진의 리소스 이름입니다. 형식: projects/{project}/locations/{location}/collections/{collection}/engines/{engine}

type

enum (Type)

출력 전용입니다. 엔진 유형입니다.

ChannelProfile

JSON 표현
{
  "profileId": string,
  "channelType": enum (ChannelType),
  "personaProperty": {
    object (PersonaProperty)
  },
  "disableDtmf": boolean,
  "disableBargeInControl": boolean,
  "webWidgetConfig": {
    object (WebWidgetConfig)
  },
  "noiseSuppressionLevel": string
}
필드
profileId

string

선택사항입니다. 채널 프로필의 고유 식별자입니다.

channelType

enum (ChannelType)

선택사항입니다. 채널 프로필 유형입니다.

personaProperty

object (PersonaProperty)

선택사항입니다. 채널 프로필의 페르소나 속성입니다.

disableDtmf

boolean

선택사항입니다. DTMF (듀얼 톤 다중 주파수)를 사용 중지할지 여부입니다.

disableBargeInControl

boolean

선택사항입니다. 대화에서 사용자 끼어들기 제어를 사용 중지할지 여부입니다. - true: 에이전트가 말하는 동안 사용자 중단이 사용 중지됩니다. - false: 사용자가 언제 중단할 수 있는지에 대한 자동 제어가 에이전트에 유지됩니다.

webWidgetConfig

object (WebWidgetConfig)

선택사항입니다. 웹 위젯의 구성입니다.

noiseSuppressionLevel

string

선택사항입니다. 채널 프로필의 노이즈 제거 수준입니다. 사용 가능한 값은 'low', 'moderate', 'high', 'very_high'입니다.

PersonaProperty

JSON 표현
{
  "persona": enum (Persona)
}
필드
persona

enum (Persona)

선택사항입니다. 채널의 페르소나입니다.

WebWidgetConfig

JSON 표현
{
  "modality": enum (Modality),
  "theme": enum (Theme),
  "webWidgetTitle": string,
  "securitySettings": {
    object (SecuritySettings)
  }
}
필드
modality

enum (Modality)

선택사항입니다. 웹 위젯의 모달리티입니다.

theme

enum (Theme)

선택사항입니다. 웹 위젯의 테마입니다.

webWidgetTitle

string

선택사항입니다. 웹 위젯의 제목입니다.

securitySettings

object (SecuritySettings)

선택사항입니다. 웹 위젯의 보안 설정입니다.

SecuritySettings

JSON 표현
{
  "enablePublicAccess": boolean,
  "enableOriginCheck": boolean,
  "allowedOrigins": [
    string
  ],
  "enableRecaptcha": boolean
}
필드
enablePublicAccess

boolean

선택사항입니다. 웹 위젯에 대한 공개 액세스가 사용 설정되어 있는지 여부를 나타냅니다. true인 경우 웹 위젯에 공개적으로 액세스할 수 있습니다. false인 경우 웹 위젯이 자체 인증 및 승인 시스템과 통합되어 CES 에이전트에 액세스하기 위한 유효한 사용자 인증 정보를 반환해야 합니다.

enableOriginCheck

boolean

선택사항입니다. 웹 위젯의 출처 확인이 사용 설정되었는지 나타냅니다. true인 경우 웹 위젯은 웹 위젯을 로드하는 웹사이트의 출처를 확인하고 동일한 출처 또는 허용된 출처 중 하나에서만 로드되도록 허용합니다.

allowedOrigins[]

string

선택사항입니다. 웹 위젯을 호스팅할 수 있는 출처입니다. 출처는 RFC 6454에 의해 정의됩니다. 비어 있으면 모든 출처가 허용됩니다. 최대 100개의 출처가 허용됩니다. 예: 'https://example.com'

enableRecaptcha

boolean

선택사항입니다. 웹 위젯의 reCAPTCHA 인증이 사용 설정되어 있는지 여부를 나타냅니다.

MetadataEntry

JSON 표현
{
  "key": string,
  "value": string
}
필드
key

string

value

string

ClientCertificateSettings

JSON 표현
{
  "tlsCertificate": string,
  "privateKey": string,
  "passphrase": string
}
필드
tlsCertificate

string

필수 항목입니다. PEM 형식으로 인코딩된 TLS 인증서입니다. 이 문자열에는 시작 헤더와 종료 바닥글 줄이 포함되어야 합니다.

privateKey

string

필수 항목입니다. PEM 형식으로 인코딩된 비공개 키를 저장하는 SecretManager 보안 비밀 버전 리소스의 이름입니다. 형식: projects/{project}/secrets/{secret}/versions/{version}

passphrase

string

선택사항입니다. 비공개 키를 복호화하는 암호를 저장하는 SecretManager 보안 비밀 버전 리소스의 이름입니다. 비공개 키가 암호화되지 않은 경우 설정되지 않은 상태로 두어야 합니다. 형식: projects/{project}/secrets/{secret}/versions/{version}

에이전트

JSON 표현
{
  "name": string,
  "displayName": string,
  "description": string,
  "modelSettings": {
    object (ModelSettings)
  },
  "instruction": string,
  "tools": [
    string
  ],
  "childAgents": [
    string
  ],
  "beforeAgentCallbacks": [
    {
      object (Callback)
    }
  ],
  "afterAgentCallbacks": [
    {
      object (Callback)
    }
  ],
  "beforeModelCallbacks": [
    {
      object (Callback)
    }
  ],
  "afterModelCallbacks": [
    {
      object (Callback)
    }
  ],
  "beforeToolCallbacks": [
    {
      object (Callback)
    }
  ],
  "afterToolCallbacks": [
    {
      object (Callback)
    }
  ],
  "createTime": string,
  "updateTime": string,
  "guardrails": [
    string
  ],
  "etag": string,
  "toolsets": [
    {
      object (AgentToolset)
    }
  ],
  "generatedSummary": string,
  "transferRules": [
    {
      object (TransferRule)
    }
  ],

  // Union field agent_type can be only one of the following:
  "llmAgent": {
    object (LlmAgent)
  },
  "remoteDialogflowAgent": {
    object (RemoteDialogflowAgent)
  }
  // End of list of possible types for union field agent_type.
}
필드
name

string

식별자. 에이전트의 고유 식별자입니다. 형식: projects/{project}/locations/{location}/apps/{app}/agents/{agent}

displayName

string

필수 항목입니다. 에이전트의 표시 이름입니다.

description

string

선택사항입니다. 인간이 읽을 수 있는 에이전트 설명입니다.

modelSettings

object (ModelSettings)

선택사항입니다. LLM 모델의 구성입니다.

instruction

string

선택사항입니다. 에이전트의 동작을 안내하는 LLM 모델의 요청 사항입니다.

tools[]

string

선택사항입니다. 에이전트에서 사용할 수 있는 도구 목록입니다. 형식: projects/{project}/locations/{location}/apps/{app}/tools/{tool}

childAgents[]

string

선택사항입니다. 에이전트 트리의 하위 에이전트 목록입니다. 형식: projects/{project}/locations/{location}/apps/{app}/agents/{agent}

beforeAgentCallbacks[]

object (Callback)

선택사항입니다. 에이전트가 호출되기 전에 실행할 콜백입니다. 제공된 콜백은 목록에 제공된 정확한 순서대로 순차적으로 실행됩니다. 콜백이 재정의된 응답을 반환하면 실행이 중지되고 남은 콜백은 건너뜁니다.

afterAgentCallbacks[]

object (Callback)

선택사항입니다. 에이전트가 호출된 후 실행할 콜백입니다. 제공된 콜백은 목록에 제공된 정확한 순서대로 순차적으로 실행됩니다. 콜백이 재정의된 응답을 반환하면 실행이 중지되고 남은 콜백은 건너뜁니다.

beforeModelCallbacks[]

object (Callback)

선택사항입니다. 모델이 호출되기 전에 실행할 콜백입니다. 모델에 대한 호출이 여러 개 있는 경우 콜백이 여러 번 실행됩니다. 제공된 콜백은 목록에 제공된 정확한 순서대로 순차적으로 실행됩니다. 콜백이 재정의된 응답을 반환하면 실행이 중지되고 남은 콜백은 건너뜁니다.

afterModelCallbacks[]

object (Callback)

선택사항입니다. 모델이 호출된 후 실행할 콜백입니다. 모델에 대한 호출이 여러 개 있는 경우 콜백이 여러 번 실행됩니다. 제공된 콜백은 목록에 제공된 정확한 순서대로 순차적으로 실행됩니다. 콜백이 재정의된 응답을 반환하면 실행이 중지되고 남은 콜백은 건너뜁니다.

beforeToolCallbacks[]

object (Callback)

선택사항입니다. 도구가 호출되기 전에 실행할 콜백입니다. 도구 호출이 여러 개 있는 경우 콜백이 여러 번 실행됩니다. 제공된 콜백은 목록에 제공된 정확한 순서대로 순차적으로 실행됩니다. 콜백이 재정의된 응답을 반환하면 실행이 중지되고 남은 콜백은 건너뜁니다.

afterToolCallbacks[]

object (Callback)

선택사항입니다. 도구가 호출된 후 실행할 콜백입니다. 도구 호출이 여러 개 있는 경우 콜백이 여러 번 실행됩니다. 제공된 콜백은 목록에 제공된 정확한 순서대로 순차적으로 실행됩니다. 콜백이 재정의된 응답을 반환하면 실행이 중지되고 남은 콜백은 건너뜁니다.

createTime

string (Timestamp format)

출력 전용입니다. 에이전트가 생성된 타임스탬프입니다.

생성된 출력은 항상 Z-정규화되고 소수점 이하 0, 3, 6 또는 9자리인 RFC 3339를 사용합니다. 'Z' 이외의 오프셋도 허용됩니다. 예를 들면 "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" 또는 "2014-10-02T15:01:23+05:30"입니다.

updateTime

string (Timestamp format)

출력 전용입니다. 에이전트가 마지막으로 업데이트된 타임스탬프입니다.

생성된 출력은 항상 Z-정규화되고 소수점 이하 0, 3, 6 또는 9자리인 RFC 3339를 사용합니다. 'Z' 이외의 오프셋도 허용됩니다. 예를 들면 "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" 또는 "2014-10-02T15:01:23+05:30"입니다.

guardrails[]

string

선택사항입니다. 에이전트의 가드레일 목록입니다. 형식: projects/{project}/locations/{location}/apps/{app}/guardrails/{guardrail}

etag

string

읽기-수정-쓰기 작업 중에 객체가 변경되지 않았는지 확인하는 데 사용되는 Etag입니다. etag가 비어 있으면 업데이트가 동시에 발생한 변경사항을 덮어씁니다.

toolsets[]

object (AgentToolset)

선택사항입니다. 에이전트의 도구 세트 목록입니다.

generatedSummary

string

출력 전용입니다. 에이전트가 LLM 어시스턴트에 의해 생성된 경우 이 필드에는 생성에 관한 설명 요약이 포함됩니다.

transferRules[]

object (TransferRule)

선택사항입니다. 상담사 트랜스퍼 규칙입니다. 일치하는 규칙이 여러 개 있으면 목록의 첫 번째 규칙이 사용됩니다.

통합 필드 agent_type. 에이전트 유형입니다. agent_type은 다음 중 하나여야 합니다.
llmAgent

object (LlmAgent)

선택사항입니다. 기본 에이전트 유형입니다.

remoteDialogflowAgent

object (RemoteDialogflowAgent)

선택사항입니다. 에이전트 실행에 사용할 원격 Dialogflow 에이전트입니다. 이 필드가 설정되면 다른 모든 상담사 수준 속성은 무시됩니다.

참고: Dialogflow 에이전트가 앱과 다른 프로젝트에 있는 경우 CES 서비스 에이전트 service-<PROJECT-NUMBER>@gcp-sa-ces.iam.gserviceaccount.comroles/dialogflow.client 권한을 부여해야 합니다.

RemoteDialogflowAgent

JSON 표현
{
  "agent": string,
  "flowId": string,
  "environmentId": string,
  "inputVariableMapping": {
    string: string,
    ...
  },
  "outputVariableMapping": {
    string: string,
    ...
  },
  "respectResponseInterruptionSettings": boolean
}
필드
agent

string

필수 항목입니다. Dialogflow 에이전트 리소스 이름입니다. 형식: projects/{project}/locations/{location}/agents/{agent}

flowId

string

선택사항입니다. Dialogflow 에이전트의 흐름 ID입니다.

environmentId

string

선택사항입니다. 에이전트 실행에 사용할 Dialogflow 에이전트의 환경 ID입니다. 지정하지 않으면 초안 환경이 사용됩니다.

inputVariableMapping

map (key: string, value: string)

선택사항입니다. Dialogflow 에이전트에 입력으로 전송될 앱 변수 이름과 Dialogflow 세션 매개변수 이름의 매핑입니다.

"key": value 쌍 목록을 포함하는 객체입니다. 예: { "name": "wrench", "mass": "1.3kg", "count": "3" }

outputVariableMapping

map (key: string, value: string)

선택사항입니다. Dialogflow 에이전트 실행이 종료된 후 CES 에이전트로 다시 전송될 Dialogflow 세션 파라미터 이름과 앱 변수 이름의 매핑입니다.

"key": value 쌍 목록을 포함하는 객체입니다. 예: { "name": "wrench", "mass": "1.3kg", "count": "3" }

respectResponseInterruptionSettings

boolean

선택사항입니다. Dialogflow 에이전트에서 구성된 메시지 수준 인터럽션 설정을 준수할지 여부를 나타냅니다.

  • false인 경우: Dialogflow 에이전트의 모든 응답 메시지는 앱 수준의 끼어들기 설정을 따릅니다.
  • true인 경우: allow_playback_interruption이 true로 설정된 응답 메시지만 인터럽트 가능하며, 다른 모든 메시지는 앱 수준 바지인 설정을 따릅니다.

InputVariableMappingEntry

JSON 표현
{
  "key": string,
  "value": string
}
필드
key

string

value

string

OutputVariableMappingEntry

JSON 표현
{
  "key": string,
  "value": string
}
필드
key

string

value

string

콜백

JSON 표현
{
  "description": string,
  "disabled": boolean,
  "proactiveExecutionEnabled": boolean,

  // Union field callback can be only one of the following:
  "pythonCode": string
  // End of list of possible types for union field callback.
}
필드
description

string

선택사항입니다. 콜백에 대한 사람이 읽을 수 있는 설명입니다.

disabled

boolean

선택사항입니다. 콜백이 사용 중지되었는지 여부입니다. 사용 중지된 콜백은 에이전트에서 무시됩니다.

proactiveExecutionEnabled

boolean

선택사항입니다. 사용 설정된 경우 콜백은 중간 모델 출력에서도 실행됩니다. 이 설정은 모델 콜백 후에만 영향을 미칩니다. 주의해서 사용 설정 일반적으로 모델 콜백은 모든 모델 응답을 받은 후에만 실행하면 됩니다. 사전 실행을 사용 설정하면 실행 비용과 지연 시간에 부정적인 영향을 미칠 수 있으므로 드문 경우에만 사용 설정해야 합니다.

통합 필드 callback. 실행할 콜백입니다. callback은 다음 중 하나여야 합니다.
pythonCode

string

필수 항목입니다. 콜백을 위해 실행할 Python 코드입니다.

AgentToolset

JSON 표현
{
  "toolset": string,
  "toolIds": [
    string
  ]
}
필드
toolset

string

필수 항목입니다. 툴셋의 리소스 이름입니다. 형식: projects/{project}/locations/{location}/apps/{app}/toolsets/{toolset}

toolIds[]

string

선택사항입니다. 도구 세트를 필터링할 도구 ID입니다.

TransferRule

JSON 표현
{
  "childAgent": string,
  "direction": enum (Direction),

  // Union field rule_type can be only one of the following:
  "deterministicTransfer": {
    object (DeterministicTransfer)
  },
  "disablePlannerTransfer": {
    object (DisablePlannerTransfer)
  }
  // End of list of possible types for union field rule_type.
}
필드
childAgent

string

필수 항목입니다. 규칙이 적용되는 하위 에이전트의 리소스 이름입니다. 형식: projects/{project}/locations/{location}/apps/{app}/agents/{agent}

direction

enum (Direction)

필수 항목입니다. 전송 방향입니다.

통합 필드 rule_type. 규칙 유형입니다. rule_type은 다음 중 하나여야 합니다.
deterministicTransfer

object (DeterministicTransfer)

선택사항입니다. 조건이 충족되면 즉시 타겟 상담사에게 트랜스퍼되는 규칙입니다.

disablePlannerTransfer

object (DisablePlannerTransfer)

선택사항입니다. 계획자가 타겟 에이전트로 트랜스퍼되지 않도록 하는 규칙입니다.

DeterministicTransfer

JSON 표현
{

  // Union field condition_type can be only one of the following:
  "expressionCondition": {
    object (ExpressionCondition)
  },
  "pythonCodeCondition": {
    object (PythonCodeCondition)
  }
  // End of list of possible types for union field condition_type.
}
필드
통합 필드 condition_type. 평가할 조건입니다. condition_type은 다음 중 하나여야 합니다.
expressionCondition

object (ExpressionCondition)

선택사항입니다. 세션 상태 조건을 평가하는 규칙입니다. 조건이 true로 평가되면 전송이 발생합니다.

pythonCodeCondition

object (PythonCodeCondition)

선택사항입니다. Python 코드 블록을 사용하여 조건을 평가하는 규칙 조건이 true로 평가되면 전송이 발생합니다.

ExpressionCondition

JSON 표현
{
  "expression": string
}
필드
expression

string

필수 항목입니다. cloud.api.Expression 조건의 문자열 표현입니다.

PythonCodeCondition

JSON 표현
{
  "pythonCode": string
}
필드
pythonCode

string

필수 항목입니다. 실행할 Python 코드입니다.

DisablePlannerTransfer

JSON 표현
{
  "expressionCondition": {
    object (ExpressionCondition)
  }
}
필드
expressionCondition

object (ExpressionCondition)

필수 항목입니다. 조건이 true로 평가되면 플래너가 타겟 상담사에게 트랜스퍼할 수 없습니다.

도구

JSON 표현
{
  "name": string,
  "displayName": string,
  "executionType": enum (ExecutionType),
  "createTime": string,
  "updateTime": string,
  "etag": string,
  "generatedSummary": string,
  "toolFakeConfig": {
    object (ToolFakeConfig)
  },

  // Union field tool_type can be only one of the following:
  "clientFunction": {
    object (ClientFunction)
  },
  "openApiTool": {
    object (OpenApiTool)
  },
  "googleSearchTool": {
    object (GoogleSearchTool)
  },
  "connectorTool": {
    object (ConnectorTool)
  },
  "dataStoreTool": {
    object (DataStoreTool)
  },
  "pythonFunction": {
    object (PythonFunction)
  },
  "mcpTool": {
    object (McpTool)
  },
  "fileSearchTool": {
    object (FileSearchTool)
  },
  "systemTool": {
    object (SystemTool)
  },
  "widgetTool": {
    object (WidgetTool)
  }
  // End of list of possible types for union field tool_type.
}
필드
name

string

식별자. 도구의 고유 식별자입니다. 형식: - projects/{project}/locations/{location}/apps/{app}/tools/{tool}(

projects/{project}/locations/{location}/apps/{app}/toolsets/{toolset}/tools/{tool}: 도구 세트에서 가져온 도구 이러한 도구는 동적이며 출력 전용이므로 도구가 필요한 곳에서 직접 참조할 수 없습니다.

displayName

string

출력 전용입니다. 도구의 유형에 따라 파생된 도구의 표시 이름입니다. 예를 들어 [ClientFunction][Tool.ClientFunction] 의 표시 이름은 name 속성에서 파생됩니다.

executionType

enum (ExecutionType)

선택사항입니다. 도구의 실행 유형입니다.

createTime

string (Timestamp format)

출력 전용입니다. 도구가 생성된 타임스탬프입니다.

생성된 출력은 항상 Z-정규화되고 소수점 이하 0, 3, 6 또는 9자리인 RFC 3339를 사용합니다. 'Z' 이외의 오프셋도 허용됩니다. 예를 들면 "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" 또는 "2014-10-02T15:01:23+05:30"입니다.

updateTime

string (Timestamp format)

출력 전용입니다. 도구가 마지막으로 업데이트된 타임스탬프입니다.

생성된 출력은 항상 Z-정규화되고 소수점 이하 0, 3, 6 또는 9자리인 RFC 3339를 사용합니다. 'Z' 이외의 오프셋도 허용됩니다. 예를 들면 "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" 또는 "2014-10-02T15:01:23+05:30"입니다.

etag

string

읽기-수정-쓰기 작업 중에 객체가 변경되지 않았는지 확인하는 데 사용되는 Etag입니다. etag가 비어 있으면 업데이트가 동시에 발생한 변경사항을 덮어씁니다.

generatedSummary

string

출력 전용입니다. 도구가 LLM 어시스턴트에 의해 생성된 경우 이 필드에는 생성에 관한 설명 요약이 포함됩니다.

toolFakeConfig

object (ToolFakeConfig)

선택사항입니다. 가짜 모드에서 도구 동작의 구성입니다.

통합 필드 tool_type. 도구 유형입니다. tool_type은 다음 중 하나여야 합니다.
clientFunction

object (ClientFunction)

선택사항입니다. 클라이언트 함수입니다.

openApiTool

object (OpenApiTool)

선택사항입니다. 개방형 API 도구

googleSearchTool

object (GoogleSearchTool)

선택사항입니다. Google 검색 도구입니다.

connectorTool

object (ConnectorTool)

선택사항입니다. Integration Connector 도구

dataStoreTool

object (DataStoreTool)

선택사항입니다. 데이터 스토어 도구입니다.

pythonFunction

object (PythonFunction)

선택사항입니다. Python 함수 도구입니다.

mcpTool

object (McpTool)

선택사항입니다. MCP 도구 MCP 도구는 직접 만들거나 업데이트할 수 없으며 MCP 도구 세트에서 관리합니다.

fileSearchTool

object (FileSearchTool)

선택사항입니다. 파일 검색 도구

systemTool

object (SystemTool)

선택사항입니다. 시스템 도구

widgetTool

object (WidgetTool)

선택사항입니다. 위젯 도구

ClientFunction

JSON 표현
{
  "name": string,
  "description": string,
  "parameters": {
    object (Schema)
  },
  "response": {
    object (Schema)
  }
}
필드
name

string

필수 항목입니다. 함수 이름입니다.

description

string

선택사항입니다. 함수 설명입니다.

parameters

object (Schema)

선택사항입니다. 함수 파라미터의 스키마입니다.

response

object (Schema)

선택사항입니다. 함수 응답의 스키마입니다.

OpenApiTool

JSON 표현
{
  "openApiSchema": string,
  "name": string,
  "description": string,
  "apiAuthentication": {
    object (ApiAuthentication)
  },
  "tlsConfig": {
    object (TlsConfig)
  },
  "serviceDirectoryConfig": {
    object (ServiceDirectoryConfig)
  },
  "ignoreUnknownFields": boolean,
  "url": string
}
필드
openApiSchema

string

필수 항목입니다. JSON 또는 YAML 형식의 OpenAPI 스키마입니다.

name

string

선택사항입니다. 도구의 이름입니다. 제공되지 않으면 도구의 이름이 OpenAPI 스키마에서 operation.operationId에서 파생됩니다.

description

string

선택사항입니다. 도구에 대한 설명입니다. 제공되지 않으면 도구 설명이 OpenAPI 스키마, operation.description 또는 operation.summary에서 파생됩니다.

apiAuthentication

object (ApiAuthentication)

선택사항입니다. API에 필요한 인증 정보입니다.

tlsConfig

object (TlsConfig)

선택사항입니다. TLS 구성입니다. 클라이언트가 신뢰할 맞춤 서버 인증서를 포함합니다.

serviceDirectoryConfig

object (ServiceDirectoryConfig)

선택사항입니다. 서비스 디렉터리 구성입니다.

ignoreUnknownFields

boolean

선택사항입니다. true인 경우 에이전트는 API 응답에서 알 수 없는 필드를 무시합니다.

url

string

선택사항입니다. Open API 스키마의 서버 URL입니다. 이 필드는 스키마에 서버 URL이 포함된 경우 내보내기 프로세스 중에 환경 종속 항목의 도구에만 설정됩니다. 가져오기 프로세스 중에 이 URL이 환경 종속 항목에 있고 스키마에 $env_var 자리표시자가 있으면 스키마의 자리표시자를 대체합니다.

ApiAuthentication

JSON 표현
{

  // Union field auth_config can be only one of the following:
  "apiKeyConfig": {
    object (ApiKeyConfig)
  },
  "oauthConfig": {
    object (OAuthConfig)
  },
  "serviceAgentIdTokenAuthConfig": {
    object (ServiceAgentIdTokenAuthConfig)
  },
  "serviceAccountAuthConfig": {
    object (ServiceAccountAuthConfig)
  },
  "bearerTokenConfig": {
    object (BearerTokenConfig)
  }
  // End of list of possible types for union field auth_config.
}
필드
통합 필드 auth_config. 인증 구성입니다. auth_config은 다음 중 하나여야 합니다.
apiKeyConfig

object (ApiKeyConfig)

선택사항입니다. API 키 인증 구성입니다.

oauthConfig

object (OAuthConfig)

선택사항입니다. OAuth 구성입니다.

serviceAgentIdTokenAuthConfig

object (ServiceAgentIdTokenAuthConfig)

선택사항입니다. CES 서비스 에이전트에서 생성된 ID 토큰 인증 구성입니다.

serviceAccountAuthConfig

object (ServiceAccountAuthConfig)

선택사항입니다. 서비스 계정 인증 구성입니다.

bearerTokenConfig

object (BearerTokenConfig)

선택사항입니다. Bearer 토큰 인증 구성입니다.

ApiKeyConfig

JSON 표현
{
  "keyName": string,
  "apiKeySecretVersion": string,
  "requestLocation": enum (RequestLocation)
}
필드
keyName

string

필수 항목입니다. API 키의 매개변수 이름 또는 헤더 이름입니다. 예: API 요청이 'https://example.com/act?X-Api-Key='인 경우 'X-Api-Key'가 매개변수 이름이 됩니다.

apiKeySecretVersion

string

필수 항목입니다. API 키를 저장하는 SecretManager 보안 비밀 버전 리소스의 이름입니다. 형식: projects/{project}/secrets/{secret}/versions/{version}

참고: CES 서비스 에이전트 service-<PROJECT-NUMBER>@gcp-sa-ces.iam.gserviceaccount.comroles/secretmanager.secretAccessor 역할을 부여해야 합니다.

requestLocation

enum (RequestLocation)

필수 항목입니다. 요청의 키 위치입니다.

OAuthConfig

JSON 표현
{
  "oauthGrantType": enum (OauthGrantType),
  "clientId": string,
  "clientSecretVersion": string,
  "tokenEndpoint": string,
  "scopes": [
    string
  ]
}
필드
oauthGrantType

enum (OauthGrantType)

필수 항목입니다. OAuth 부여 유형입니다.

clientId

string

필수 항목입니다. OAuth 제공업체의 클라이언트 ID입니다.

clientSecretVersion

string

필수 항목입니다. 클라이언트 보안 비밀번호를 저장하는 SecretManager 보안 비밀 버전 리소스의 이름입니다. 형식: projects/{project}/secrets/{secret}/versions/{version}

참고: CES 서비스 에이전트 service-<PROJECT-NUMBER>@gcp-sa-ces.iam.gserviceaccount.comroles/secretmanager.secretAccessor 역할을 부여해야 합니다.

tokenEndpoint

string

필수 항목입니다. 액세스 토큰으로 교환할 OAuth 제공자의 토큰 엔드포인트입니다.

scopes[]

string

선택사항입니다. 부여할 OAuth 범위입니다.

ServiceAccountAuthConfig

JSON 표현
{
  "serviceAccount": string,
  "scopes": [
    string
  ]
}
필드
serviceAccount

string

필수 항목입니다. 인증에 사용되는 서비스 계정의 이메일 주소입니다. CES는 이 서비스 계정을 사용하여 액세스 토큰을 교환하며 액세스 토큰은 요청의 Authorization 헤더에 전송됩니다.

서비스 계정에는 CES 서비스 에이전트 service-<PROJECT-NUMBER>@gcp-sa-ces.iam.gserviceaccount.com에 부여된 roles/iam.serviceAccountTokenCreator 역할이 있어야 합니다.

scopes[]

string

선택사항입니다. 부여할 OAuth 범위입니다. 지정하지 않으면 기본 범위 https://www.googleapis.com/auth/cloud-platform이 사용됩니다.

BearerTokenConfig

JSON 표현
{
  "token": string
}
필드
token

string

필수 항목입니다. Bearer 토큰입니다. $context.variables.<name_of_variable> 형식이어야 합니다.

TlsConfig

JSON 표현
{
  "caCerts": [
    {
      object (CaCert)
    }
  ]
}
필드
caCerts[]

object (CaCert)

필수 항목입니다. HTTPS 확인을 위해 허용된 맞춤 CA 인증서 목록을 지정합니다.

CaCert

JSON 표현
{
  "displayName": string,
  "cert": string
}
필드
displayName

string

필수 항목입니다. 허용된 맞춤 CA 인증서의 이름입니다. 이는 커스텀 CA 인증서를 명확하게 구분하는 데 사용할 수 있습니다.

cert

string (bytes format)

필수 항목입니다. HTTPS 확인에 허용되는 맞춤 CA 인증서 (DER 형식)입니다. 이렇게 하면 기본 SSL 트러스트 저장소가 재정의됩니다. 비어 있거나 지정되지 않은 경우 CES는 Google의 기본 트러스트 저장소를 사용하여 인증서를 확인합니다. 참고: HTTPS 서버 인증서가 '제목 대체 이름'으로 서명되었는지 확인하세요. 예를 들어 다음 명령어를 사용하여 인증서를 자체 서명할 수 있습니다. openssl x509 -req -days 200 -in example.com.csr \ -signkey example.com.key \ -out example.com.crt \ -extfile <(printf "\nsubjectAltName='DNS:www.example.com'")

base64 인코딩 문자열입니다.

ServiceDirectoryConfig

JSON 표현
{
  "service": string
}
필드
service

string

필수 항목입니다. 서비스 디렉터리 서비스의 이름입니다. 형식은 projects/{project}/locations/{location}/namespaces/{namespace}/services/{service}입니다. 서비스 디렉터리의 위치는 앱의 위치와 동일해야 합니다.

GoogleSearchTool

JSON 표현
{
  "name": string,
  "description": string,
  "contextUrls": [
    string
  ],
  "preferredDomains": [
    string
  ],
  "excludeDomains": [
    string
  ],
  "promptConfig": {
    object (PromptConfig)
  }
}
필드
name

string

필수 항목입니다. 도구의 이름입니다.

description

string

선택사항입니다. 도구의 목적에 관한 설명입니다.

contextUrls[]

string

선택사항입니다. 콘텐츠는 컨텍스트와 그라운딩을 위해 이러한 URL에서 직접 가져옵니다. 예: 'https://example.com/path.html' URL은 최대 20개까지 허용됩니다.

preferredDomains[]

string

선택사항입니다. 검색 결과를 제한할 도메인을 지정합니다. 예: 'example.com', 'another.site' 최대 20개의 도메인을 지정할 수 있습니다.

excludeDomains[]

string

선택사항입니다. 검색 결과에서 제외할 도메인 목록입니다. 예: 'example.com' 최대 2,000개의 도메인을 제외할 수 있습니다.

promptConfig

object (PromptConfig)

선택사항입니다. 텍스트 및 음성에 대한 검색 결과를 처리하는 방법에 관해 플래너에 전달된 프롬프트 안내입니다.

PromptConfig

JSON 표현
{
  "textPrompt": string,
  "voicePrompt": string
}
필드
textPrompt

string

선택사항입니다. 채팅 대화에서 에이전트와 상호작용할 때 시스템 안내에 사용되는 프롬프트를 정의합니다. 설정하지 않으면 기본 프롬프트가 사용됩니다.

voicePrompt

string

선택사항입니다. 음성 대화에서 에이전트와 상호작용할 때 시스템 안내에 사용되는 프롬프트를 정의합니다. 설정하지 않으면 기본 프롬프트가 사용됩니다.

ConnectorTool

JSON 표현
{
  "connection": string,
  "action": {
    object (Action)
  },
  "authConfig": {
    object (EndUserAuthConfig)
  },
  "name": string,
  "description": string
}
필드
connection

string

필수 항목입니다. 참조된 Integration Connectors Connection의 전체 리소스 이름입니다. 형식: projects/{project}/locations/{location}/connections/{connection}

action

object (Action)

필수 항목입니다. 도구에서 사용할 작업입니다.

authConfig

object (EndUserAuthConfig)

선택사항입니다. Integration Connectors에서 인증이 처리되는 방식을 구성합니다. 기본적으로 관리자 인증은 Integration Connectors API 요청에 전달됩니다. 다른 최종 사용자 인증 구성으로 재정의할 수 있습니다. 참고: 여기에 EUC 구성을 지정하려면 연결에 인증 재정의가 사용 설정되어 있어야 합니다. 그렇지 않으면 ConnectorTool 생성이 실패합니다. 자세한 내용은 https://cloud.google.com/application-integration/docs/configure-connectors-task#configure-authentication-override를 참고하세요.

name

string

선택사항입니다. 에이전트가 이 ConnectorTool을 호출할지 여부를 결정하는 데 사용할 수 있는 도구의 이름입니다.

description

string

선택사항입니다. 에이전트가 이 ConnectorTool을 호출할지 여부를 결정하는 데 사용할 수 있는 도구의 설명입니다.

작업

JSON 표현
{
  "inputFields": [
    string
  ],
  "outputFields": [
    string
  ],

  // Union field action_spec can be only one of the following:
  "connectionActionId": string,
  "entityOperation": {
    object (EntityOperation)
  }
  // End of list of possible types for union field action_spec.
}
필드
inputFields[]

string

선택사항입니다. 작업의 입력으로 사용할 항목 필드입니다. 필드를 지정하지 않으면 엔티티의 모든 필드가 사용됩니다.

outputFields[]

string

선택사항입니다. 작업에서 반환할 항목 필드입니다. 필드를 지정하지 않으면 엔티티의 모든 필드가 반환됩니다.

통합 필드 action_spec. 도구에서 사용할 작업을 구성하기 위한 사양입니다. action_spec은 다음 중 하나여야 합니다.
connectionActionId

string

도구에서 사용할 연결 작업의 ID입니다.

entityOperation

object (EntityOperation)

도구에서 사용할 항목 작업 구성입니다.

EntityOperation

JSON 표현
{
  "entityId": string,
  "operation": enum (OperationType)
}
필드
entityId

string

필수 항목입니다. 항목의 ID입니다.

operation

enum (OperationType)

필수 항목입니다. 항목에 대해 실행할 작업입니다.

EndUserAuthConfig

JSON 표현
{

  // Union field auth_config can be only one of the following:
  "oauth2AuthCodeConfig": {
    object (Oauth2AuthCodeConfig)
  },
  "oauth2JwtBearerConfig": {
    object (Oauth2JwtBearerConfig)
  }
  // End of list of possible types for union field auth_config.
}
필드
통합 필드 auth_config. 인증 구성입니다. auth_config은 다음 중 하나여야 합니다.
oauth2AuthCodeConfig

object (Oauth2AuthCodeConfig)

OAuth 2.0 승인 코드 인증입니다.

oauth2JwtBearerConfig

object (Oauth2JwtBearerConfig)

JWT 프로필 OAuth 2.0 승인 부여 인증입니다.

Oauth2AuthCodeConfig

JSON 표현
{
  "oauthToken": string
}
필드
oauthToken

string

필수 항목입니다. 통과할 OAuth 토큰 매개변수 이름입니다. $context.variables.<name_of_variable> 형식이어야 합니다.

Oauth2JwtBearerConfig

JSON 표현
{
  "issuer": string,
  "subject": string,
  "clientKey": string
}
필드
issuer

string

필수 항목입니다. 통과할 발급기관 매개변수 이름입니다. $context.variables.<name_of_variable> 형식이어야 합니다.

subject

string

필수 항목입니다. 통과할 주제 매개변수 이름입니다. $context.variables.<name_of_variable> 형식이어야 합니다.

clientKey

string

필수 항목입니다. 통과할 클라이언트 매개변수 이름입니다. $context.variables.<name_of_variable> 형식이어야 합니다.

DataStoreTool

JSON 표현
{
  "name": string,
  "description": string,
  "boostSpecs": [
    {
      object (BoostSpecs)
    }
  ],
  "modalityConfigs": [
    {
      object (ModalityConfig)
    }
  ],
  "filterParameterBehavior": enum (FilterParameterBehavior),

  // Union field search_source can be only one of the following:
  "dataStoreSource": {
    object (DataStoreSource)
  },
  "engineSource": {
    object (EngineSource)
  }
  // End of list of possible types for union field search_source.
}
필드
name

string

필수 항목입니다. 데이터 스토어 도구 이름입니다.

description

string

선택사항입니다. 도구 설명입니다.

boostSpecs[]

object (BoostSpecs)

선택사항입니다. 특정 문서를 부스팅하는 부스트 사양입니다.

modalityConfigs[]

object (ModalityConfig)

선택사항입니다. 데이터 스토어의 모달리티 구성입니다.

filterParameterBehavior

enum (FilterParameterBehavior)

선택사항입니다. 필터 매개변수 동작입니다.

통합 필드 search_source. 단일 DataStore 또는 엔진인 검색 소스를 정의합니다. search_source은 다음 중 하나여야 합니다.
dataStoreSource

object (DataStoreSource)

선택사항입니다. 단일 특정 DataStore 내에서 검색합니다.

engineSource

object (EngineSource)

선택사항입니다. 엔진 내에서 검색합니다 (여러 데이터 스토어에 걸쳐 검색할 수 있음).

DataStoreSource

JSON 표현
{
  "filter": string,
  "dataStore": {
    object (DataStore)
  }
}
필드
filter

string

선택사항입니다. DataStore의 필터 사양입니다. 참고: https://cloud.google.com/generative-ai-app-builder/docs/filter-search-metadata

dataStore

object (DataStore)

선택사항입니다. 데이터 스토어입니다.

DataStore

JSON 표현
{
  "name": string,
  "type": enum (DataStoreType),
  "documentProcessingMode": enum (DocumentProcessingMode),
  "displayName": string,
  "createTime": string,
  "connectorConfig": {
    object (ConnectorConfig)
  }
}
필드
name

string

필수 항목입니다. DataStore의 전체 리소스 이름입니다. 형식: projects/{project}/locations/{location}/collections/{collection}/dataStores/{dataStore}

type

enum (DataStoreType)

출력 전용입니다. 데이터 스토어의 유형입니다. 이 필드는 읽기 전용이며 서버에서 채워집니다.

documentProcessingMode

enum (DocumentProcessingMode)

출력 전용입니다. 데이터 스토어 연결의 문서 처리 모드입니다. PUBLIC_WEB 및 UNSTRUCTURED 데이터 스토어에만 설정됩니다.

displayName

string

출력 전용입니다. 데이터 스토어의 표시 이름입니다.

createTime

string (Timestamp format)

출력 전용입니다. 데이터 스토어가 생성된 타임스탬프입니다.

생성된 출력은 항상 Z-정규화되고 소수점 이하 0, 3, 6 또는 9자리인 RFC 3339를 사용합니다. 'Z' 이외의 오프셋도 허용됩니다. 예를 들면 "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" 또는 "2014-10-02T15:01:23+05:30"입니다.

connectorConfig

object (ConnectorConfig)

출력 전용입니다. 데이터 스토어 연결의 커넥터 구성입니다.

ConnectorConfig

JSON 표현
{
  "collection": string,
  "collectionDisplayName": string,
  "dataSource": string
}
필드
collection

string

데이터 스토어가 속한 컬렉션의 리소스 이름입니다.

collectionDisplayName

string

데이터 스토어가 속한 컬렉션의 표시 이름입니다.

dataSource

string

데이터 소스의 이름입니다. 예: salesforce, jira, confluence, bigquery

EngineSource

JSON 표현
{
  "engine": string,
  "dataStoreSources": [
    {
      object (DataStoreSource)
    }
  ],
  "filter": string
}
필드
engine

string

필수 항목입니다. 엔진의 전체 리소스 이름입니다. 형식: projects/{project}/locations/{location}/collections/{collection}/engines/{engine}

dataStoreSources[]

object (DataStoreSource)

선택사항입니다. 엔진 내에서 특정 데이터 스토어를 타겟팅하는 데 사용됩니다. 비어 있으면 검색이 엔진과 연결된 모든 데이터 스토어에 적용됩니다.

filter

string

선택사항입니다. 엔진 전체 검색에 적용된 필터입니다. 'data_store_sources'가 제공되면 관련성이 없으며 사용되지 않습니다. 참고: https://cloud.google.com/generative-ai-app-builder/docs/filter-search-metadata

BoostSpecs

JSON 표현
{
  "dataStores": [
    string
  ],
  "spec": [
    {
      object (BoostSpec)
    }
  ]
}
필드
dataStores[]

string

필수 항목입니다. 부스팅 구성이 적용되는 데이터 스토어입니다. DataStore의 전체 리소스 이름입니다(예: projects/{project}/locations/{location}/collections/{collection}/dataStores/{dataStore}).

spec[]

object (BoostSpec)

필수 항목입니다. 부스팅 사양 목록입니다.

BoostSpec

JSON 표현
{
  "conditionBoostSpecs": [
    {
      object (ConditionBoostSpec)
    }
  ]
}
필드
conditionBoostSpecs[]

object (ConditionBoostSpec)

필수 항목입니다. 부스팅 사양 목록입니다.

ConditionBoostSpec

JSON 표현
{
  "condition": string,
  "boost": number,
  "boostControlSpec": {
    object (BoostControlSpec)
  }
}
필드
condition

string

필수 항목입니다. 부스트 조건을 지정하는 표현식입니다. 구문은 필터 표현식 구문과 동일합니다. 현재 지원되는 유일한 조건은 BCP-47 언어 코드 목록입니다. 예: 영어 또는 프랑스어의 추천을 강화하려면 (lang_code: ANY("en", "fr"))

boost

number

선택사항입니다. 부스트의 강도이며, 범위는 [-1, 1]입니다. 음수 부스팅은 순위를 내리는 것을 의미합니다. 기본값은 0.0입니다.

1.0으로 설정하면 추천의 순위가 크게 높아집니다. 하지만 최상위 결과가 부스팅된 추천이라고는 할 수 없습니다.

-1.0으로 설정하면 추천의 순위가 크게 낮아집니다. 하지만 관련성이 있는 다른 추천은 계속 표시될 수 있습니다.

0.0으로 설정하면 부스트가 적용되지 않습니다. 부스팅 조건은 무시됩니다.

boostControlSpec

object (BoostControlSpec)

선택사항입니다. 고객 정의 속성 값을 기반으로 하는 맞춤 순위 지정의 복잡한 사양입니다.

BoostControlSpec

JSON 표현
{
  "fieldName": string,
  "attributeType": enum (AttributeType),
  "interpolationType": enum (InterpolationType),
  "controlPoints": [
    {
      object (ControlPoint)
    }
  ]
}
필드
fieldName

string

선택사항입니다. 값이 부스트 금액을 결정하는 데 사용되는 필드의 이름입니다.

attributeType

enum (AttributeType)

선택사항입니다. 부스트 금액을 결정하는 데 사용할 속성 유형입니다. 속성 값은 지정된 field_name의 필드 값에서 파생될 수 있습니다. 숫자의 경우 attribute_value = numerical_field_value와 같이 간단합니다. 하지만 신선도의 경우 attribute_value = (time.now() - datetime_field_value)입니다.

interpolationType

enum (InterpolationType)

선택사항입니다. 아래에 나열된 제어점을 연결하는 데 적용할 보간 유형입니다.

controlPoints[]

object (ControlPoint)

선택사항입니다. 곡선을 정의하는 데 사용되는 제어점입니다. 단조 함수 (위의 interpolation_type을 통해 정의됨)는 여기에 나열된 제어점을 통과합니다.

ControlPoint

JSON 표현
{
  "attributeValue": string,
  "boostAmount": number
}
필드
attributeValue

string

선택사항입니다. 다음 중 하나일 수 있습니다. 1. 숫자 필드 값입니다. 2. 새로고침의 기간 사양입니다. 값은 XSD dayTimeDuration 값 (ISO 8601 기간 값의 제한된 하위 집합)으로 형식이 지정되어야 합니다. 이 패턴은 [nD][T[nH][nM][nS]]입니다.

boostAmount

number

선택사항입니다. attribute_value가 위에 지정된 값으로 평가되는 경우 점수를 높이는 데 사용할 -1~1 사이의 값입니다.

ModalityConfig

JSON 표현
{
  "modalityType": enum (ModalityType),
  "rewriterConfig": {
    object (RewriterConfig)
  },
  "summarizationConfig": {
    object (SummarizationConfig)
  },
  "groundingConfig": {
    object (GroundingConfig)
  }
}
필드
modalityType

enum (ModalityType)

필수 항목입니다. 모달리티 유형입니다.

rewriterConfig

object (RewriterConfig)

선택사항입니다. 재작성기 구성입니다.

summarizationConfig

object (SummarizationConfig)

선택사항입니다. 요약 구성입니다.

groundingConfig

object (GroundingConfig)

선택사항입니다. 그라운딩 구성입니다.

RewriterConfig

JSON 표현
{
  "modelSettings": {
    object (ModelSettings)
  },
  "prompt": string,
  "disabled": boolean
}
필드
modelSettings

object (ModelSettings)

필수 항목입니다. LLM 모델의 구성입니다.

prompt

string

선택사항입니다. 프롬프트 정의입니다. 설정하지 않으면 기본 프롬프트가 사용됩니다.

disabled

boolean

선택사항입니다. 리라이터가 사용 중지되었는지 여부입니다.

SummarizationConfig

JSON 표현
{
  "modelSettings": {
    object (ModelSettings)
  },
  "prompt": string,
  "disabled": boolean
}
필드
modelSettings

object (ModelSettings)

선택사항입니다. LLM 모델의 구성입니다.

prompt

string

선택사항입니다. 프롬프트 정의입니다. 설정하지 않으면 기본 프롬프트가 사용됩니다.

disabled

boolean

선택사항입니다. 요약이 사용 중지되었는지 여부입니다.

GroundingConfig

JSON 표현
{
  "groundingLevel": number,
  "disabled": boolean
}
필드
groundingLevel

number

선택사항입니다. 검색된 소스를 기반으로 한 답변의 그라운딩 기준입니다. 값의 구성 가능한 범위는 [1, 5]입니다. 이 수준은 답변의 그라운딩을 제한하는 데 사용됩니다. 즉, 그라운딩 점수가 기준점 미만인 모든 응답은 관련 스니펫만 반환하도록 대체됩니다.

예를 들어 수준이 3이면 대답이 반환되려면 그라운딩 점수가 3 이상이어야 합니다.

disabled

boolean

선택사항입니다. 그라운딩이 사용 중지되었는지 여부입니다.

PythonFunction

JSON 표현
{
  "name": string,
  "pythonCode": string,
  "description": string
}
필드
name

string

선택사항입니다. 실행할 Python 함수의 이름입니다. Python 코드에 정의된 Python 함수 이름과 일치해야 합니다. 대소문자를 구분합니다. 이름이 제공되지 않으면 Python 코드에 정의된 첫 번째 함수가 사용됩니다.

pythonCode

string

선택사항입니다. 도구에 대해 실행할 Python 코드입니다.

description

string

출력 전용입니다. Python 코드의 문서 문자열에서 파싱된 Python 함수의 설명입니다.

McpTool

JSON 표현
{
  "name": string,
  "description": string,
  "inputSchema": {
    object (Schema)
  },
  "outputSchema": {
    object (Schema)
  },
  "serverAddress": string,
  "apiAuthentication": {
    object (ApiAuthentication)
  },
  "tlsConfig": {
    object (TlsConfig)
  },
  "serviceDirectoryConfig": {
    object (ServiceDirectoryConfig)
  }
}
필드
name

string

필수 항목입니다. MCP 도구의 이름입니다.

description

string

선택사항입니다. MCP 도구의 설명입니다.

inputSchema

object (Schema)

선택사항입니다. MCP 도구의 입력 인수 스키마입니다.

outputSchema

object (Schema)

선택사항입니다. MCP 도구의 출력 인수 스키마입니다.

serverAddress

string

필수 항목입니다. MCP 서버의 서버 주소입니다(예: "https://example.com/mcp/". 서버가 MCP SDK로 빌드된 경우 URL에 '/mcp/'이 접미사로 붙어야 합니다. 스트림 가능 HTTP 전송 기반 서버만 지원됩니다. 이는 McpToolset의 server_address와 동일합니다. 자세한 내용은 https://modelcontextprotocol.io/specification/2025-03-26/basic/transports#streamable-http를 참고하세요.

apiAuthentication

object (ApiAuthentication)

선택사항입니다. MCP 서버에 대해 도구를 실행하는 데 필요한 인증 정보입니다. 베어러 토큰 인증의 경우 토큰은 목록 도구가 아닌 도구 실행에만 적용됩니다. 이를 위해서는 인증 없이 도구를 나열할 수 있어야 합니다.

tlsConfig

object (TlsConfig)

선택사항입니다. TLS 구성입니다. 클라이언트가 신뢰해야 하는 맞춤 서버 인증서를 포함합니다.

serviceDirectoryConfig

object (ServiceDirectoryConfig)

선택사항입니다. 경계 내에서 서비스 이름을 확인하는 데 사용되는 VPC-SC의 서비스 디렉터리 구성입니다.

FileSearchTool

JSON 표현
{
  "corpusType": enum (CorpusType),
  "name": string,
  "description": string,
  "fileCorpus": string
}
필드
corpusType

enum (CorpusType)

선택사항입니다. 코퍼스 유형입니다. 기본값은 FULLY_MANAGED입니다.

name

string

필수 항목입니다. 도구 이름입니다.

description

string

선택사항입니다. 도구 설명입니다.

fileCorpus

string

선택사항입니다. 파일이 저장된 말뭉치입니다. 형식: projects/{project}/locations/{location}/ragCorpora/{rag_corpus}

SystemTool

JSON 표현
{
  "name": string,
  "description": string
}
필드
name

string

필수 항목입니다. 시스템 도구의 이름입니다.

description

string

출력 전용입니다. 시스템 도구의 설명입니다.

WidgetTool

JSON 표현
{
  "name": string,
  "description": string,
  "widgetType": enum (WidgetType),

  // Union field input can be only one of the following:
  "parameters": {
    object (Schema)
  }
  // End of list of possible types for union field input.
}
필드
name

string

필수 항목입니다. 위젯 도구의 표시 이름입니다.

description

string

선택사항입니다. 위젯 도구의 설명입니다.

widgetType

enum (WidgetType)

선택사항입니다. 위젯 도구의 유형입니다. 지정하지 않으면 기본 유형은 CUSTOMIZED입니다.

통합 필드 input. 위젯 도구의 입력입니다. input은 다음 중 하나여야 합니다.
parameters

object (Schema)

선택사항입니다. 위젯 도구의 입력 매개변수입니다.

ToolFakeConfig

JSON 표현
{
  "enableFakeMode": boolean,

  // Union field tool_response can be only one of the following:
  "codeBlock": {
    object (CodeBlock)
  }
  // End of list of possible types for union field tool_response.
}
필드
enableFakeMode

boolean

선택사항입니다. 도구에서 모의 모드를 사용하는지 여부입니다.

통합 필드 tool_response. 대답은 정적이거나 Python 함수에 의해 제공됩니다. tool_response은 다음 중 하나여야 합니다.
codeBlock

object (CodeBlock)

선택사항입니다. 실제 도구 호출 대신 실행될 코드 블록입니다.

CodeBlock

JSON 표현
{
  "pythonCode": string
}
필드
pythonCode

string

필수 항목입니다. 도구 가짜 모드에서 호출될 Python 코드입니다. 예상되는 Python 함수 서명 - 모든 도구 호출을 포착하려면: def fake_tool_call(tool: Tool, input: dict[str, Any], callback_context: CallbackContext) -> Optional[dict[str, Any]] 특정 도구 호출을 포착하려면: def fake_{tool_id}(tool: Tool, input: dict[str, Any], callback_context: CallbackContext) -> Optional[dict[str, Any]] 함수가 None을 반환하면 실제 도구가 대신 호출됩니다.

JSON 표현
{
  "name": string,
  "displayName": string,
  "description": string,
  "entryAgent": string,
  "messages": [
    {
      object (Message)
    }
  ],
  "createTime": string,
  "updateTime": string,
  "invalid": boolean,
  "etag": string
}
필드
name

string

식별자. 예의 고유 식별자입니다. 형식: projects/{project}/locations/{location}/apps/{app}/examples/{example}

displayName

string

필수 항목입니다. 예의 표시 이름입니다.

description

string

선택사항입니다. 예에 대한 인간이 읽을 수 있는 설명입니다.

entryAgent

string

선택사항입니다. 대화를 처음 처리하는 상담사입니다. 지정하지 않으면 예시가 루트 에이전트가 처리하는 대화를 나타냅니다. 형식: projects/{project}/locations/{location}/apps/{app}/agents/{agent}

messages[]

object (Message)

선택사항입니다. 대화를 구성하는 메시지 모음입니다.

createTime

string (Timestamp format)

출력 전용입니다. 예가 생성된 타임스탬프입니다.

생성된 출력은 항상 Z-정규화되고 소수점 이하 0, 3, 6 또는 9자리인 RFC 3339를 사용합니다. 'Z' 이외의 오프셋도 허용됩니다. 예를 들면 "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" 또는 "2014-10-02T15:01:23+05:30"입니다.

updateTime

string (Timestamp format)

출력 전용입니다. 예가 마지막으로 업데이트된 타임스탬프입니다.

생성된 출력은 항상 Z-정규화되고 소수점 이하 0, 3, 6 또는 9자리인 RFC 3339를 사용합니다. 'Z' 이외의 오프셋도 허용됩니다. 예를 들면 "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" 또는 "2014-10-02T15:01:23+05:30"입니다.

invalid

boolean

출력 전용입니다. 참조 리소스가 삭제되면 예가 무효화될 수 있습니다. 잘못된 예는 퓨샷 예로 사용되지 않습니다.

etag

string

읽기-수정-쓰기 작업 중에 객체가 변경되지 않았는지 확인하는 데 사용되는 Etag입니다. etag가 비어 있으면 업데이트가 동시에 발생한 변경사항을 덮어씁니다.

메시지

JSON 표현
{
  "role": string,
  "chunks": [
    {
      object (Chunk)
    }
  ],
  "eventTime": string
}
필드
role

string

선택사항입니다. 대화 내 역할(예: 사용자, 에이전트)입니다.

chunks[]

object (Chunk)

선택사항입니다. 메시지의 콘텐츠(일련의 청크).

eventTime

string (Timestamp format)

선택사항입니다. 메일이 전송 또는 수신된 시점의 타임스탬프입니다. 메시지가 example의 일부인 경우에는 사용하면 안 됩니다.

생성된 출력은 항상 Z-정규화되고 소수점 이하 0, 3, 6 또는 9자리인 RFC 3339를 사용합니다. 'Z' 이외의 오프셋도 허용됩니다. 예를 들면 "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" 또는 "2014-10-02T15:01:23+05:30"입니다.

Chunk

JSON 표현
{

  // Union field data can be only one of the following:
  "text": string,
  "transcript": string,
  "blob": {
    object (Blob)
  },
  "payload": {
    object
  },
  "image": {
    object (Image)
  },
  "toolCall": {
    object (ToolCall)
  },
  "toolResponse": {
    object (ToolResponse)
  },
  "agentTransfer": {
    object (AgentTransfer)
  },
  "updatedVariables": {
    object
  },
  "defaultVariables": {
    object
  }
  // End of list of possible types for union field data.
}
필드
통합 필드 data. 청크 데이터입니다. data은 다음 중 하나여야 합니다.
text

string

선택사항입니다. 텍스트 데이터.

transcript

string

선택사항입니다. 오디오와 연결된 스크립트입니다.

blob

object (Blob)

선택사항입니다. BLOB 데이터입니다.

payload

object (Struct format)

선택사항입니다. 맞춤 페이로드 데이터입니다.

image

object (Image)

선택사항입니다. 이미지 데이터입니다.

toolCall

object (ToolCall)

선택사항입니다. 도구 실행 요청입니다.

toolResponse

object (ToolResponse)

선택사항입니다. 도구 실행 응답입니다.

agentTransfer

object (AgentTransfer)

선택사항입니다. 상담사 트랜스퍼 이벤트입니다.

updatedVariables

object (Struct format)

구조체는 변수 이름으로 키가 지정된 대화에서 업데이트된 변수를 나타냅니다.

defaultVariables

object (Struct format)

구조체는 대화 시작 시 기본 변수를 나타내며 변수 이름으로 키가 지정됩니다.

blob

JSON 표현
{
  "mimeType": string,
  "data": string
}
필드
mimeType

string

필수 항목입니다. 소스 데이터의 IANA 표준 MIME 유형입니다.

data

string (bytes format)

필수 항목입니다. blob의 원시 바이트입니다.

base64 인코딩 문자열입니다.

이미지

JSON 표현
{
  "mimeType": string,
  "data": string
}
필드
mimeType

string

필수 항목입니다. 소스 데이터의 IANA 표준 MIME 유형입니다. 지원되는 이미지 유형은 다음과 같습니다. * image/png * image/jpeg * image/webp

data

string (bytes format)

필수 항목입니다. 이미지의 원시 바이트입니다.

base64 인코딩 문자열입니다.

ToolCall

JSON 표현
{
  "id": string,
  "displayName": string,
  "args": {
    object
  },

  // Union field tool_identifier can be only one of the following:
  "tool": string,
  "toolsetTool": {
    object (ToolsetTool)
  }
  // End of list of possible types for union field tool_identifier.
}
필드
id

string

선택사항입니다. 도구 호출의 고유 식별자입니다. 채워진 경우 클라이언트는 ToolResponse에서 일치하는 ID로 실행 결과를 반환해야 합니다.

displayName

string

출력 전용입니다. 도구의 표시 이름입니다.

args

object (Struct format)

선택사항입니다. JSON 객체 형식의 도구 입력 매개변수와 값입니다.

통합 필드 tool_identifier. 실행할 도구의 식별자입니다. 지속형 도구 또는 도구 세트의 도구일 수 있습니다. tool_identifier은 다음 중 하나여야 합니다.
tool

string

선택사항입니다. 실행할 도구의 이름입니다. 형식: projects/{project}/locations/{location}/apps/{app}/tools/{tool}

toolsetTool

object (ToolsetTool)

선택사항입니다. 실행할 도구 세트 도구입니다.

ToolsetTool

JSON 표현
{
  "toolset": string,
  "toolId": string
}
필드
toolset

string

필수 항목입니다. 이 도구가 파생된 도구 세트의 리소스 이름입니다. 형식: projects/{project}/locations/{location}/apps/{app}/toolsets/{toolset}

toolId

string

선택사항입니다. 스키마를 가져올 도구를 필터링할 도구 ID입니다.

ToolResponse

JSON 표현
{
  "id": string,
  "displayName": string,
  "response": {
    object
  },

  // Union field tool_identifier can be only one of the following:
  "tool": string,
  "toolsetTool": {
    object (ToolsetTool)
  }
  // End of list of possible types for union field tool_identifier.
}
필드
id

string

선택사항입니다. 응답이 속한 tool call의 일치하는 ID입니다.

displayName

string

출력 전용입니다. 도구의 표시 이름입니다.

response

object (Struct format)

필수 항목입니다. JSON 객체 형식의 도구 실행 결과입니다. 'output' 키를 사용하여 도구 응답을 지정하고 'error' 키를 사용하여 오류 세부정보를 지정합니다 (있는 경우). 'output' 및 'error' 키가 지정되지 않은 경우 전체 'response'가 도구 실행 결과로 처리됩니다.

통합 필드 tool_identifier. 실행된 도구의 식별자입니다. 지속형 도구 또는 도구 세트의 도구일 수 있습니다. tool_identifier은 다음 중 하나여야 합니다.
tool

string

선택사항입니다. 실행할 도구의 이름입니다. 형식: projects/{project}/locations/{location}/apps/{app}/tools/{tool}

toolsetTool

object (ToolsetTool)

선택사항입니다. 실행된 도구 세트 도구입니다.

AgentTransfer

JSON 표현
{
  "targetAgent": string,
  "displayName": string
}
필드
targetAgent

string

필수 항목입니다. 대화가 트랜스퍼되는 상담사입니다. 이 시점부터 상담사가 대화를 처리합니다. 형식: projects/{project}/locations/{location}/apps/{app}/agents/{agent}

displayName

string

출력 전용입니다. 에이전트의 표시 이름입니다.

가드레일

JSON 표현
{
  "name": string,
  "displayName": string,
  "description": string,
  "enabled": boolean,
  "action": {
    object (TriggerAction)
  },
  "createTime": string,
  "updateTime": string,
  "etag": string,

  // Union field guardrail_type can be only one of the following:
  "contentFilter": {
    object (ContentFilter)
  },
  "llmPromptSecurity": {
    object (LlmPromptSecurity)
  },
  "llmPolicy": {
    object (LlmPolicy)
  },
  "modelSafety": {
    object (ModelSafety)
  },
  "codeCallback": {
    object (CodeCallback)
  }
  // End of list of possible types for union field guardrail_type.
}
필드
name

string

식별자. 가드레일의 고유 식별자입니다. 형식: projects/{project}/locations/{location}/apps/{app}/guardrails/{guardrail}

displayName

string

필수 항목입니다. 가이드레일의 표시 이름입니다.

description

string

선택사항입니다. 가이드라인에 대한 설명입니다.

enabled

boolean

선택사항입니다. 가드레일이 사용 설정되어 있는지 여부입니다.

action

object (TriggerAction)

선택사항입니다. 가드레일이 트리거될 때 취할 작업입니다.

createTime

string (Timestamp format)

출력 전용입니다. 가이드레일이 생성된 타임스탬프입니다.

생성된 출력은 항상 Z-정규화되고 소수점 이하 0, 3, 6 또는 9자리인 RFC 3339를 사용합니다. 'Z' 이외의 오프셋도 허용됩니다. 예를 들면 "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" 또는 "2014-10-02T15:01:23+05:30"입니다.

updateTime

string (Timestamp format)

출력 전용입니다. 가드레일이 마지막으로 업데이트된 타임스탬프입니다.

생성된 출력은 항상 Z-정규화되고 소수점 이하 0, 3, 6 또는 9자리인 RFC 3339를 사용합니다. 'Z' 이외의 오프셋도 허용됩니다. 예를 들면 "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" 또는 "2014-10-02T15:01:23+05:30"입니다.

etag

string

읽기-수정-쓰기 작업 중에 객체가 변경되지 않았는지 확인하는 데 사용되는 Etag입니다. etag가 비어 있으면 업데이트가 동시에 발생한 변경사항을 덮어씁니다.

통합 필드 guardrail_type. 가드레일 유형입니다. guardrail_type은 다음 중 하나여야 합니다.
contentFilter

object (ContentFilter)

선택사항입니다. 대화에서 특정 콘텐츠의 사용을 금지하는 가드레일입니다.

llmPromptSecurity

object (LlmPromptSecurity)

선택사항입니다. LLM 분류에 따라 프롬프트가 안전하지 않다고 간주되면 대화를 차단하는 가드레일

llmPolicy

object (LlmPolicy)

선택사항입니다. LLM 분류에 따라 LLM 응답이 정책을 위반하는 것으로 간주되는 경우 대화를 차단하는 가드레일입니다.

modelSafety

object (ModelSafety)

선택사항입니다. 모델 안전 설정에 따라 LLM 응답이 안전하지 않다고 간주되는 경우 대화를 차단하는 가드레일입니다.

codeCallback

object (CodeCallback)

선택사항입니다. 콜백 실행 결과에 따라 대화를 차단할 수 있는 가드레일입니다.

ContentFilter

JSON 표현
{
  "bannedContents": [
    string
  ],
  "bannedContentsInUserInput": [
    string
  ],
  "bannedContentsInAgentResponse": [
    string
  ],
  "matchType": enum (MatchType),
  "disregardDiacritics": boolean
}
필드
bannedContents[]

string

선택사항입니다. 차단된 문구 목록입니다. 사용자 입력과 상담사 응답 모두에 적용됩니다.

bannedContentsInUserInput[]

string

선택사항입니다. 차단된 문구 목록입니다. 사용자 입력에만 적용됩니다.

bannedContentsInAgentResponse[]

string

선택사항입니다. 차단된 문구 목록입니다. 상담사 응답에만 적용됩니다.

matchType

enum (MatchType)

필수 항목입니다. 콘텐츠 필터의 일치 유형입니다.

disregardDiacritics

boolean

선택사항입니다. true인 경우 일치하는 동안 발음 구별 기호가 무시됩니다.

LlmPromptSecurity

JSON 표현
{
  "failOpen": boolean,

  // Union field security_config can be only one of the following:
  "defaultSettings": {
    object (DefaultSecuritySettings)
  },
  "customPolicy": {
    object (LlmPolicy)
  }
  // End of list of possible types for union field security_config.
}
필드
failOpen

boolean

선택사항입니다. 가드레일에서 LLM 오류가 발생할 때의 동작을 결정합니다. - true인 경우: 가드레일이 우회됩니다. - false (기본값): 가드레일이 트리거되거나 차단됩니다.

참고: 맞춤 정책이 제공되면 정책의 'fail_open' 구성이 우선 적용되어 이 필드는 무시됩니다.

통합 필드 security_config. 보안 구성 모드를 정의합니다. 사용자는 다음 구성 중 하나를 선택해야 합니다. security_config은 다음 중 하나여야 합니다.
defaultSettings

object (DefaultSecuritySettings)

선택사항입니다. 시스템의 사전 정의된 기본 보안 설정을 사용합니다. 이 모드를 선택하려면 요청에 빈 'default_settings' 메시지를 포함하세요. 내부의 'default_prompt_template' 필드는 서버에서 응답에 채워집니다.

customPolicy

object (LlmPolicy)

선택사항입니다. 사용자 정의 LlmPolicy를 사용하여 보안 가드레일을 구성합니다.

DefaultSecuritySettings

JSON 표현
{
  "defaultPromptTemplate": string
}
필드
defaultPromptTemplate

string

출력 전용입니다. 시스템에서 사용하는 기본 프롬프트 템플릿입니다. 이 필드는 시스템에서 기본적으로 사용하는 프롬프트를 사용자에게 표시하기 위한 용도입니다. OUTPUT_ONLY입니다.

LlmPolicy

JSON 표현
{
  "maxConversationMessages": integer,
  "modelSettings": {
    object (ModelSettings)
  },
  "prompt": string,
  "policyScope": enum (PolicyScope),
  "failOpen": boolean,
  "allowShortUtterance": boolean
}
필드
maxConversationMessages

integer

선택사항입니다. 이 정책을 확인할 때는 대화의 마지막 'n'개 메시지를 고려하세요. 설정하지 않으면 기본값 10이 사용됩니다.

modelSettings

object (ModelSettings)

선택사항입니다. 모델 설정입니다.

prompt

string

필수 항목입니다. 정책 프롬프트

policyScope

enum (PolicyScope)

필수 항목입니다. 대화 중에 정책 확인을 적용할 시기를 정의합니다. POLICY_SCOPE_UNSPECIFIED로 설정하면 정책이 사용자 입력에 적용됩니다. 상담사 응답에 정책을 적용하면 상담사가 응답하기 전에 추가 지연 시간이 발생합니다.

failOpen

boolean

선택사항입니다. 정책 확인 중에 오류가 발생하면 fail open하고 가드레일을 트리거하지 않습니다.

allowShortUtterance

boolean

선택사항입니다. 기본적으로 짧은 발화의 경우 LLM 정책 확인이 우회됩니다. 이 설정을 사용 설정하면 일반적으로 건너뛰는 발화도 포함하여 모든 발화에 정책 확인이 적용됩니다.

ModelSafety

JSON 표현
{
  "safetySettings": [
    {
      object (SafetySetting)
    }
  ]
}
필드
safetySettings[]

object (SafetySetting)

필수 항목입니다. 안전 설정 목록입니다.

SafetySetting

JSON 표현
{
  "category": enum (HarmCategory),
  "threshold": enum (HarmBlockThreshold)
}
필드
category

enum (HarmCategory)

필수 항목입니다. 피해 카테고리입니다.

threshold

enum (HarmBlockThreshold)

필수 항목입니다. 피해 차단 기준점입니다.

CodeCallback

JSON 표현
{
  "beforeAgentCallback": {
    object (Callback)
  },
  "afterAgentCallback": {
    object (Callback)
  },
  "beforeModelCallback": {
    object (Callback)
  },
  "afterModelCallback": {
    object (Callback)
  }
}
필드
beforeAgentCallback

object (Callback)

선택사항입니다. 상담사가 호출되기 전에 실행할 콜백입니다. 각 콜백 함수는 다음을 포함하는 구조 (예: dict 또는 객체)를 반환해야 합니다. - 'decision': 'OK' 또는 'TRIGGER' - 'reason': 결정을 설명하는 문자열입니다. 'TRIGGER' 결정으로 인해 추가 처리가 중지될 수 있습니다.

afterAgentCallback

object (Callback)

선택사항입니다. 에이전트가 호출된 후 실행할 콜백입니다. 각 콜백 함수는 다음을 포함하는 구조 (예: dict 또는 객체)를 반환해야 합니다. - 'decision': 'OK' 또는 'TRIGGER' - 'reason': 결정을 설명하는 문자열입니다. 'TRIGGER' 결정으로 인해 추가 처리가 중지될 수 있습니다.

beforeModelCallback

object (Callback)

선택사항입니다. 모델이 호출되기 전에 실행할 콜백입니다. 모델에 대한 호출이 여러 개 있는 경우 콜백이 여러 번 실행됩니다. 각 콜백 함수는 다음을 포함하는 구조 (예: dict 또는 객체)를 반환해야 합니다. - 'decision': 'OK' 또는 'TRIGGER' - 'reason': 결정을 설명하는 문자열입니다. 'TRIGGER' 결정으로 인해 추가 처리가 중지될 수 있습니다.

afterModelCallback

object (Callback)

선택사항입니다. 모델이 호출된 후 실행할 콜백입니다. 모델에 대한 호출이 여러 개 있는 경우 콜백이 여러 번 실행됩니다. 각 콜백 함수는 다음을 포함하는 구조 (예: dict 또는 객체)를 반환해야 합니다. - 'decision': 'OK' 또는 'TRIGGER' - 'reason': 결정을 설명하는 문자열입니다. 'TRIGGER' 결정으로 인해 추가 처리가 중지될 수 있습니다.

TriggerAction

JSON 표현
{

  // Union field action can be only one of the following:
  "respondImmediately": {
    object (RespondImmediately)
  },
  "transferAgent": {
    object (TransferAgent)
  },
  "generativeAnswer": {
    object (GenerativeAnswer)
  }
  // End of list of possible types for union field action.
}
필드
통합 필드 action. 수행할 작업입니다. action은 다음 중 하나여야 합니다.
respondImmediately

object (RespondImmediately)

선택사항입니다. 사전 구성된 응답으로 즉시 응답합니다.

transferAgent

object (TransferAgent)

선택사항입니다. 대화를 다른 상담사에게 트랜스퍼합니다.

generativeAnswer

object (GenerativeAnswer)

선택사항입니다. 생성 답변으로 대답합니다.

RespondImmediately

JSON 표현
{
  "responses": [
    {
      object (Response)
    }
  ]
}
필드
responses[]

object (Response)

필수 항목입니다. 상담사가 선택할 수 있는 미리 준비된 답변입니다. 대답은 무작위로 선택됩니다.

응답

JSON 표현
{
  "text": string,
  "disabled": boolean
}
필드
text

string

필수 항목입니다. 에이전트가 응답할 텍스트입니다.

disabled

boolean

선택사항입니다. 대답이 사용 중지되었는지 여부입니다. 사용 중지된 응답은 상담사가 사용하지 않습니다.

TransferAgent

JSON 표현
{
  "agent": string
}
필드
agent

string

필수 항목입니다. 대화를 트랜스퍼할 에이전트의 이름입니다. 에이전트는 현재 에이전트와 동일한 앱에 있어야 합니다. 형식: projects/{project}/locations/{location}/apps/{app}/agents/{agent}

GenerativeAnswer

JSON 표현
{
  "prompt": string
}
필드
prompt

string

필수 항목입니다. 생성형 답변에 사용할 프롬프트입니다.

툴셋

JSON 표현
{
  "name": string,
  "displayName": string,
  "description": string,
  "createTime": string,
  "updateTime": string,
  "etag": string,
  "executionType": enum (ExecutionType),
  "toolFakeConfig": {
    object (ToolFakeConfig)
  },

  // Union field toolset_type can be only one of the following:
  "mcpToolset": {
    object (McpToolset)
  },
  "openApiToolset": {
    object (OpenApiToolset)
  },
  "connectorToolset": {
    object (ConnectorToolset)
  }
  // End of list of possible types for union field toolset_type.
}
필드
name

string

식별자. 툴셋의 고유 식별자입니다. 형식: projects/{project}/locations/{location}/apps/{app}/toolsets/{toolset}

displayName

string

선택사항입니다. 툴셋의 표시 이름입니다. 동일한 앱 내에서 고유해야 합니다.

description

string

선택사항입니다. 툴셋에 대한 설명입니다.

createTime

string (Timestamp format)

출력 전용입니다. 툴셋이 생성된 타임스탬프입니다.

생성된 출력은 항상 Z-정규화되고 소수점 이하 0, 3, 6 또는 9자리인 RFC 3339를 사용합니다. 'Z' 이외의 오프셋도 허용됩니다. 예를 들면 "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" 또는 "2014-10-02T15:01:23+05:30"입니다.

updateTime

string (Timestamp format)

출력 전용입니다. 툴셋이 마지막으로 업데이트된 타임스탬프입니다.

생성된 출력은 항상 Z-정규화되고 소수점 이하 0, 3, 6 또는 9자리인 RFC 3339를 사용합니다. 'Z' 이외의 오프셋도 허용됩니다. 예를 들면 "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" 또는 "2014-10-02T15:01:23+05:30"입니다.

etag

string

읽기-수정-쓰기 작업 중에 객체가 변경되지 않았는지 확인하는 데 사용되는 ETag입니다. etag가 비어 있으면 업데이트가 동시에 발생한 변경사항을 덮어씁니다.

executionType

enum (ExecutionType)

선택사항입니다. 툴셋에 있는 도구의 실행 유형입니다.

toolFakeConfig

object (ToolFakeConfig)

선택사항입니다. 가짜 모드에서 도구 동작의 구성입니다.

통합 필드 toolset_type. 툴셋의 유형입니다. toolset_type은 다음 중 하나여야 합니다.
mcpToolset

object (McpToolset)

선택사항입니다. MCP 서버에서 제공하는 도구 목록이 포함된 도구 세트입니다.

openApiToolset

object (OpenApiToolset)

선택사항입니다. OpenAPI 스키마로 정의된 도구 목록이 포함된 도구 모음입니다.

connectorToolset

object (ConnectorToolset)

선택사항입니다. Integration Connectors 연결에서 도구를 생성하는 도구 모음입니다.

McpToolset

JSON 표현
{
  "serverAddress": string,
  "apiAuthentication": {
    object (ApiAuthentication)
  },
  "serviceDirectoryConfig": {
    object (ServiceDirectoryConfig)
  },
  "tlsConfig": {
    object (TlsConfig)
  }
}
필드
serverAddress

string

필수 항목입니다. MCP 서버의 주소입니다(예: 'https://example.com/mcp/'). 서버가 MCP SDK로 빌드된 경우 URL에 '/mcp/'이 접미사로 붙어야 합니다. 스트림 가능 HTTP 전송 기반 서버만 지원됩니다. 자세한 내용은 https://modelcontextprotocol.io/specification/2025-03-26/basic/transports#streamable-http를 참고하세요.

apiAuthentication

object (ApiAuthentication)

선택사항입니다. 도구에 액세스하고 MCP 서버에 대해 도구를 실행하는 데 필요한 인증 정보입니다. 베어러 토큰 인증의 경우 토큰은 목록 도구가 아닌 도구 실행에만 적용됩니다. 이를 위해서는 인증 없이 도구를 나열할 수 있어야 합니다.

serviceDirectoryConfig

object (ServiceDirectoryConfig)

선택사항입니다. 경계 내에서 서비스 이름을 확인하는 데 사용되는 VPC-SC의 서비스 디렉터리 구성입니다.

tlsConfig

object (TlsConfig)

선택사항입니다. TLS 구성입니다. 클라이언트가 신뢰해야 하는 맞춤 서버 인증서를 포함합니다.

OpenApiToolset

JSON 표현
{
  "openApiSchema": string,
  "apiAuthentication": {
    object (ApiAuthentication)
  },
  "tlsConfig": {
    object (TlsConfig)
  },
  "serviceDirectoryConfig": {
    object (ServiceDirectoryConfig)
  },
  "ignoreUnknownFields": boolean,
  "url": string
}
필드
openApiSchema

string

필수 항목입니다. 툴셋의 OpenAPI 스키마입니다.

apiAuthentication

object (ApiAuthentication)

선택사항입니다. API에 필요한 인증 정보입니다.

tlsConfig

object (TlsConfig)

선택사항입니다. TLS 구성입니다. 맞춤 서버 인증서를 포함합니다.

serviceDirectoryConfig

object (ServiceDirectoryConfig)

선택사항입니다. 서비스 디렉터리 구성입니다.

ignoreUnknownFields

boolean

선택사항입니다. true인 경우 에이전트는 OpenAPI 스키마에 정의된 모든 작업의 API 응답에서 알 수 없는 필드를 무시합니다.

url

string

선택사항입니다. Open API 스키마의 서버 URL입니다. 이 필드는 스키마에 서버 URL이 포함된 경우 내보내기 프로세스 중에 환경 종속 항목의 도구 모음에만 설정됩니다. 가져오기 프로세스 중에 이 URL이 환경 종속 항목에 있고 스키마에 $env_var 자리표시자가 있으면 스키마의 자리표시자를 대체합니다.

ConnectorToolset

JSON 표현
{
  "connection": string,
  "authConfig": {
    object (EndUserAuthConfig)
  },
  "connectorActions": [
    {
      object (Action)
    }
  ]
}
필드
connection

string

필수 항목입니다. 참조된 Integration Connectors Connection의 전체 리소스 이름입니다. 형식: projects/{project}/locations/{location}/connections/{connection}

authConfig

object (EndUserAuthConfig)

선택사항입니다. Integration Connectors에서 인증이 처리되는 방식을 구성합니다. 기본적으로 관리자 인증은 Integration Connectors API 요청에 전달됩니다. 다른 최종 사용자 인증 구성으로 재정의할 수 있습니다. 참고: 여기에 EUC 구성을 지정하려면 연결에 인증 재정의가 사용 설정되어 있어야 합니다. 그렇지 않으면 도구 모음 생성이 실패합니다. https://cloud.google.com/application-integration/docs/configure-connectors-task#configure-authentication-override를 참고하세요.

connectorActions[]

object (Action)

필수 항목입니다. 도구를 생성할 커넥터 작업/엔티티 작업 목록입니다.

도구 주석

파괴적 힌트: ❌ | 동일한 힌트: ✅ | 읽기 전용 힌트: ✅ | 오픈 월드 힌트: ❌