MCP Tools Reference: ces.googleapis.com

도구: get_app_version

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

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

curl 요청
curl --location 'https://ces.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 MCP tool specification.
    }
  },
  "jsonrpc": "2.0",
  "id": 1
}'

입력 스키마

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

GetAppVersionRequest

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

string

필수 항목입니다. 검색할 앱 버전의 리소스 이름입니다.

출력 스키마

Customer Engagement Suite(CES)에서 앱 버전은 특정 시점의 앱 스냅샷입니다. 변경할 수 없으며 생성 후에는 수정할 수 없습니다.

AppVersion

JSON 표현
{
  "name": string,
  "displayName": string,
  "description": string,
  "creator": string,
  "createTime": string,
  "updateTime": 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"입니다.

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"입니다.

snapshot

object (AppSnapshot)

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

etag

string

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

타임스탬프

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

string (int64 format)

유닉스 시간 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)
  },
  "vpcScSettings": {
    object (VpcScSettings)
  },
  "locked": boolean,
  "validationErrors": [
    string
  ],
  "dashboardSettings": {
    object (DashboardSettings)
  }
}
필드
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)

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

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)

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

vpcScSettings

object (VpcScSettings)

선택사항입니다. 앱의 VPC-SC 설정입니다.

locked

boolean

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

validationErrors[]

string

출력 전용입니다. 앱의 구성 오류 또는 경고

dashboardSettings

object (DashboardSettings)

선택사항입니다. Contact Center Insights 대시보드를 연결하고 구성하기 위한 앱별 대시보드 설정입니다.

LanguageSettings

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

string

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

supportedLanguageCodes[]

string

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

enableMultilingualSupport

boolean

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

fallbackAction
(deprecated)

string

선택사항입니다. 지원 중단됨: 이 기능은 더 이상 지원되지 않습니다. 대신 enable_multilingual_support를 사용하여 다국어 입력 처리를 개선하세요. 에이전트가 지원되지 않는 언어로 입력을 받을 때 수행할 작업입니다.

이는 사전 정의된 작업 또는 커스텀 도구 호출일 수 있습니다. 유효한 값은 다음과 같습니다. - 특정 도구 실행을 트리거하는 도구의 전체 리소스 이름 - '에스컬레이션' 또는 '종료'와 같은 사전 정의된 시스템 작업으로, 해당 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)
  },
  "customVoiceSamples": [
    {
      object (CustomVoiceSample)
    }
  ]
}
필드
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)

선택사항입니다. 대화의 자연스러움을 향상하기 위해 합성된 에이전트 응답과 함께 재생할 주변 소리 구성입니다.

customVoiceSamples[]

object (CustomVoiceSample)

선택사항입니다. 음성 클론을 위한 커스텀 음성 샘플을 구성합니다.

SynthesizeSpeechConfigsEntry

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

string

value

object (SynthesizeSpeechConfig)

SynthesizeSpeechConfig

JSON 표현
{
  "voice": string,
  "speakingRate": number,
  "model": string,
  "instruction": string
}
필드
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] 범위를 벗어나는 값은 오류를 반환합니다.

model

string

선택사항입니다. 오디오를 합성하는 데 사용되는 모델입니다. 현재 지원되는 값은 'gemini-3.1-flash-tts-preview'입니다. 비어 있으면 Chirp3-HD가 사용됩니다.

instruction

string

선택사항입니다. 생성 모델을 사용할 때 음성을 합성하는 데 사용되는 요청 사항입니다.

BargeInConfig

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

boolean

선택사항입니다. 경고: ChannelProfile에서 disable_barge_in은 disable_barge_in_control로 대체되었습니다.

에이전트가 말하는 동안 사용자 끼어들기를 사용 중지합니다. true이면 에이전트 응답 재생 중 사용자 입력이 무시됩니다.

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'입니다.

CustomVoiceSample

JSON 표현
{
  "name": string,
  "voiceSampleGcsUri": string,
  "consentAudioGcsUri": string,
  "voiceInstruction": string,
  "previewAudioContent": string,
  "previewText": string,
  "warnings": [
    {
      object (Warning)
    }
  ],
  "voiceInstructionMode": enum (VoiceInstructionMode)
}
필드
name

string

선택사항입니다. 커스텀 음성 샘플의 사용자 정의 이름입니다.

voiceSampleGcsUri

string

선택사항입니다. 음성 클론을 위한 오디오 샘플의 Cloud Storage URI입니다. 오디오 샘플은 모노 채널, 24kHz WAV 파일이어야 합니다.

consentAudioGcsUri

string

선택사항입니다. 음성 클론에 대한 동의 오디오입니다.

voiceInstruction

string

선택사항입니다. 음성 스타일, 어조, 속도 또는 발음에 대한 자연어 안내입니다.

previewAudioContent

string (bytes format)

출력 전용입니다. 커스텀 음성을 위해 합성된 프리뷰 오디오로, 표준 WAV(LINEAR16, 24kHz, 16비트, 모노) 형식입니다.

base64 인코딩 문자열입니다.

previewText

string

선택사항입니다. 커스텀 음성의 미리보기 오디오를 합성하기 위한 텍스트입니다.

warnings[]

object (Warning)

출력 전용입니다. 음성 클론 처리 중에 발생한 경고 메시지입니다(예: 낮은 오디오 수준).

voiceInstructionMode

enum (VoiceInstructionMode)

선택사항입니다. 음성 샘플의 요청 사항 모드입니다. 지정하지 않으면 기본값은 NO_INSTRUCTION입니다.

경고

JSON 표현
{
  "message": string,
  "type": enum (WarningType)
}
필드
message

string

출력 전용입니다. 인간이 읽을 수 있는 경고 설명입니다.

type

enum (WarningType)

출력 전용입니다. 경고 유형입니다.

LoggingSettings

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

object (RedactionConfig)

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

audioRecordingConfig

object (AudioRecordingConfig)

선택사항입니다. 오디오 상호작용을 기록하는 방법에 대한 구성입니다. 오디오는 RedactionConfig에 구성된 대로 수정됩니다.

unredactedAudioRecordingConfig

object (AudioRecordingConfig)

선택사항입니다. 수정되지 않은 오디오의 추가 녹음을 구성합니다. 이는 오디오 수정이 enabled일 때 원시 오디오 사본을 유지하는 데 사용할 수 있으며, 일반적으로 감사 또는 모니터링 목적으로 사용됩니다.

bigqueryExportSettings

object (BigQueryExportSettings)

선택사항입니다. 앱의 BigQuery Export 동작을 구성합니다. 대화 데이터는 RedactionConfig에 구성된 대로 수정됩니다.

unredactedBigqueryExportSettings

object (BigQueryExportSettings)

선택사항입니다. 앱의 BigQuery 내보내기 동작을 구성합니다. 사용 설정하면 수정되지 않은 대화 데이터가 BigQuery 테이블로 내보내집니다.

cloudLoggingSettings

object (CloudLoggingSettings)

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

conversationLoggingSettings

object (ConversationLoggingSettings)

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

evaluationAudioRecordingConfig

object (AudioRecordingConfig)

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

metricAnalysisSettings

object (MetricAnalysisSettings)

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

requiredRecordingConsent

boolean

선택사항입니다. 앱이 녹음될 수 있는 내용을 말해야 하는지 여부

true인 경우 세션은 녹음이 사용 중지된 상태로 시작되며 클라이언트가 SessionInput.recording_control를 전송할 때까지 사용 중지된 상태로 유지됩니다. 이 시점부터는 모든 차례가 결정됩니다. 여기에는 오디오 녹음, 대화 기록, BigQuery Export, Cloud Logging이 포함됩니다.

기본값인 false인 경우 위의 설정이 자체적으로 결정되며 클라이언트는 아무것도 전송할 필요가 없습니다.

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.com에 storage.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 Export가 사용 설정되어 있는지 여부를 나타냅니다.

project

string

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

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

dataset

string

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

CloudLoggingSettings

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

boolean

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

ConversationLoggingSettings

JSON 표현
{
  "disableConversationLogging": boolean,
  "retentionWindow": string
}
필드
disableConversationLogging

boolean

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

retentionWindow

string (Duration format)

선택사항입니다. 대화의 보관 기간을 제어합니다. 설정하지 않으면 대화가 365일 동안 보관됩니다.

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

MetricAnalysisSettings

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

boolean

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

ErrorHandlingSettings

JSON 표현
{
  "errorHandlingStrategy": enum (ErrorHandlingStrategy),
  "fallbackResponseConfig": {
    object (FallbackResponseConfig)
  },
  "endSessionConfig": {
    object (EndSessionConfig)
  }
}
필드
errorHandlingStrategy

enum (ErrorHandlingStrategy)

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

fallbackResponseConfig

object (FallbackResponseConfig)

선택사항입니다. 대체 응답을 처리하기 위한 구성입니다.

endSessionConfig

object (EndSessionConfig)

선택사항입니다. 시스템 오류(예: LLM 오류)가 발생할 경우 세션을 종료하기 위한 구성입니다.

FallbackResponseConfig

JSON 표현
{
  "customFallbackMessages": {
    string: string,
    ...
  },
  "maxFallbackAttempts": integer
}
필드
customFallbackMessages

map (key: string, value: string)

선택사항입니다. 시스템 오류(예: LLM 오류)가 발생할 경우의 대체 메시지이며 지원되는 언어 코드로 매핑됩니다.

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

maxFallbackAttempts

integer

선택사항입니다. 에이전트가 EndSession 신호를 내보내기 전에 시도할 최대 대체 시도 횟수입니다.

CustomFallbackMessagesEntry

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

string

value

string

EndSessionConfig

JSON 표현
{

  // Union field _escalate_session can be only one of the following:
  "escalateSession": boolean
  // End of list of possible types for union field _escalate_session.
}
필드

통합 필드 _escalate_session.

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

escalateSession

boolean

선택사항입니다. EndSession에서 세션을 에스컬레이션할지 여부 세션이 에스컬레이션되면 metadata in EndSession에 session_escalated = true이 포함됩니다. 자세한 내용은 https://docs.cloud.google.com/customer-engagement-ai/conversational-agents/ps/deploy/google-telephony-platform#transfer_a_call_to_a_human_agent를 참고하세요.

ModelSettings

JSON 표현
{
  "model": string,
  "thinkingLevel": enum (ThinkingLevel),

  // 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 모델입니다. 설정하지 않으면 에이전트가 상위 에이전트에서 모델을 상속합니다.

thinkingLevel

enum (ThinkingLevel)

선택사항입니다. 모델의 사고 수준입니다.

통합 필드 _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

JSON null을 나타냅니다.

numberValue

number

JSON 숫자를 나타냅니다. JSON에서 지원되지 않으므로 NaN, Infinity 또는 -Infinity가 아니어야 합니다. 또한 JSON 형식은 일반적으로 숫자 유형에서 큰 Int64 값을 지원하지 않으므로 이를 표현할 수 없습니다.

stringValue

string

JSON 문자열을 나타냅니다.

boolValue

boolean

JSON 불리언(JSON의 true 또는 false 리터럴)을 나타냅니다.

structValue

object (Struct format)

JSON 객체를 나타냅니다.

listValue

array (ListValue format)

JSON 배열을 나타냅니다.

구조체

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)
  },
  "webWidgetConfig": {
    object (WebWidgetConfig)
  },
  "whatsappConfig": {
    object (WhatsAppConfig)
  },
  "instagramConfig": {
    object (InstagramConfig)
  },

  // Union field _disable_dtmf can be only one of the following:
  "disableDtmf": boolean
  // End of list of possible types for union field _disable_dtmf.

  // Union field _disable_barge_in_control can be only one of the following:
  "disableBargeInControl": boolean
  // End of list of possible types for union field _disable_barge_in_control.

  // Union field _noise_suppression_level can be only one of the following:
  "noiseSuppressionLevel": string
  // End of list of possible types for union field _noise_suppression_level.
}
필드
profileId

string

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

channelType

enum (ChannelType)

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

personaProperty

object (PersonaProperty)

선택사항입니다. 채널 프로필의 캐릭터 속성입니다.

webWidgetConfig

object (WebWidgetConfig)

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

whatsappConfig

object (WhatsAppConfig)

선택사항입니다. WhatsApp 배포와 관련된 구성입니다.

instagramConfig

object (InstagramConfig)

선택사항입니다. Instagram 배포와 관련된 구성입니다.

통합 필드 _disable_dtmf.

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

disableDtmf

boolean

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

통합 필드 _disable_barge_in_control.

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

disableBargeInControl

boolean

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

통합 필드 _noise_suppression_level.

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

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 인증이 사용 설정되어 있는지 여부를 나타냅니다.

WhatsAppConfig

JSON 표현
{
  "wabaId": string,
  "phoneNumberId": string,
  "phoneNumber": string,
  "displayName": string,
  "thumbnailUrl": string,
  "description": string
}
필드
wabaId

string

필수 항목입니다. WhatsApp Business 계정 ID입니다.

phoneNumberId

string

필수 항목입니다. Meta 전화번호 ID입니다.

phoneNumber

string

선택사항입니다. E.164 형식의 전화번호입니다.

displayName

string

출력 전용입니다. 가져온 Meta 비즈니스 페이지 이름입니다.

thumbnailUrl

string

출력 전용입니다. 가져온 메타 비즈니스 프로필 썸네일 URL입니다.

description

string

출력 전용입니다. 메타 비즈니스 페이지 또는 프로필에 대한 설명입니다.

InstagramConfig

JSON 표현
{
  "instagramAccountId": string,
  "displayName": string,
  "thumbnailUrl": string,
  "description": string
}
필드
instagramAccountId

string

필수 항목입니다. Instagram 계정 ID입니다.

displayName

string

출력 전용입니다. 가져온 Meta 비즈니스 페이지 이름입니다.

thumbnailUrl

string

출력 전용입니다. 가져온 메타 비즈니스 프로필 썸네일 URL입니다.

description

string

출력 전용입니다. 메타 비즈니스 페이지 또는 프로필에 대한 설명입니다.

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}

VpcScSettings

JSON 표현
{
  "allowedOrigins": [
    string
  ]
}
필드
allowedOrigins[]

string

선택사항입니다. VPC 서비스 제어가 사용 설정된 경우 앱의 OpenAPI 도구가 직접 호출할 수 있는 허용된 HTTP(S) 출처입니다. 이 문자열은 포트가 지정된 경우 포트를 포함하여 출처와 정확히 일치해야 합니다. 예를 들면 'https://example.com' 또는 'https://example.com:443'입니다. 이 목록은 직접 HTTP 호출을 수행할 수 있는 Python 도구에는 아직 적용되지 않습니다.

DashboardSettings

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

string

선택사항입니다. 앱과 연결된 기본 Contact Center Insights 대시보드의 리소스 이름입니다. 사용자가 앱의 모니터링 뷰로 이동할 때 표시되는 대시보드입니다.

형식: projects/{project}/locations/{location}/dashboards/{dashboard}

에이전트

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)
    }
  ],
  "validationErrors": [
    string
  ],

  // Union field agent_type can be only one of the following:
  "llmAgent": {
    object (LlmAgent)
  },
  "remoteDialogflowAgent": {
    object (RemoteDialogflowAgent)
  },
  "remoteA2aAgent": {
    object (RemoteA2aAgent)
  }
  // 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)

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

validationErrors[]

string

출력 전용입니다. 에이전트 품질에 영향을 미칠 수 있는 에이전트의 잘못된 구성 또는 오류입니다.

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

object (LlmAgent)

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

remoteDialogflowAgent

object (RemoteDialogflowAgent)

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

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

remoteA2aAgent

object (RemoteA2aAgent)

선택사항입니다. 에이전트 실행에 사용할 원격 A2A 에이전트입니다.

RemoteDialogflowAgent

JSON 표현
{
  "agent": string,
  "flowId": string,
  "environmentId": string,
  "inputVariableMapping": {
    string: string,
    ...
  },
  "outputVariableMapping": {
    string: string,
    ...
  },
  "respectResponseInterruptionSettings": boolean,
  "languageCodeVariable": string
}
필드
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로 설정된 응답 메시지만 중단할 수 있으며 다른 모든 메시지는 앱 수준의 끼어들기 설정을 따릅니다.
languageCodeVariable

string

선택사항입니다. Dialogflow 세션에 사용할 언어 코드가 포함된 변수의 이름입니다. 지정하지 않으면 Dialogflow 에이전트의 기본 언어 코드가 사용됩니다.

InputVariableMappingEntry

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

string

value

string

OutputVariableMappingEntry

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

string

value

string

RemoteA2aAgent

JSON 표현
{
  "a2aConfig": {
    object (RemoteA2aConfig)
  }
}
필드
a2aConfig

object (RemoteA2aConfig)

필수 항목입니다. A2A 연결 구성입니다.

RemoteA2aConfig

JSON 표현
{
  "apiAuthentication": {
    object (ApiAuthentication)
  },
  "inputVariableMapping": {
    string: string,
    ...
  },
  "outputVariableMapping": {
    string: string,
    ...
  },
  "streamingEnabled": boolean,
  "contextId": string,

  // Union field agent_spec can be only one of the following:
  "agentCard": {
    object (AgentCard)
  },
  "agentRegistry": string
  // End of list of possible types for union field agent_spec.
}
필드
apiAuthentication

object (ApiAuthentication)

선택사항입니다. 원격 에이전트를 호출하기 위한 인증 구성입니다. 레지스트리 참조가 이미 인증을 처리하는 경우 선택사항입니다.

inputVariableMapping

map (key: string, value: string)

선택사항입니다. 원격 에이전트의 입력 변수 이름을 GECX 변수 이름에 매핑합니다.

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

outputVariableMapping

map (key: string, value: string)

선택사항입니다. 원격 에이전트의 출력 변수 이름을 GECX 변수 이름에 매핑합니다.

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

streamingEnabled

boolean

선택사항입니다. 원격 에이전트에 스트리밍이 사용 설정되어 있는지 여부입니다.

contextId

string

선택사항입니다. 비어 있지 않으면 원격 A2A 에이전트와의 상호작용에 이 컨텍스트 ID가 사용됩니다. 이 context_id 필드는 $context.variables.order_agent_session_id와 같은 세션 변수를 참조할 수 있습니다.

통합 필드 agent_spec. 원격 에이전트의 사양입니다. agent_spec은 다음 중 하나여야 합니다.
agentCard

object (AgentCard)

선택사항입니다. 인라인으로 정의된 전체 에이전트 카드입니다.

agentRegistry

string

선택사항입니다. Agent Registry의 에이전트에 대한 참조입니다. 형식: projects/{project}/locations/{location}/agents/{agent}

AgentCard

JSON 표현
{
  "name": string,
  "description": string,
  "supportedInterfaces": [
    {
      object (AgentInterface)
    }
  ],
  "version": string,
  "skills": [
    {
      object (AgentSkill)
    }
  ]
}
필드
name

string

필수 항목입니다. 인간이 읽을 수 있는 에이전트의 이름입니다.

description

string

필수 항목입니다. 에이전트의 작업 도메인/솔루션 공간에 대한 설명입니다.

supportedInterfaces[]

object (AgentInterface)

필수 항목입니다. 지원되는 인터페이스의 순서가 지정된 목록입니다. 첫 번째 항목이 선호됩니다.

version

string

필수 항목입니다. 에이전트 버전입니다.

skills[]

object (AgentSkill)

필수 항목입니다. 스킬은 에이전트가 수행할 수 있는 능력의 단위를 나타냅니다. 이는 다소 추상적일 수 있지만 에이전트가 성공할 가능성이 높은 보다 집중적인 작업 집합을 나타냅니다.

AgentInterface

JSON 표현
{
  "url": string,
  "protocolBinding": string,
  "tenant": string,
  "protocolVersion": string
}
필드
url

string

필수 항목입니다. 이 인터페이스를 사용할 수 있는 URL입니다. 프로덕션에서 유효한 절대 HTTPS URL이어야 합니다. 예: 'https://api.example.com/a2a/v1', 'https://grpc.example.com/a2a'

protocolBinding

string

필수 항목입니다. 이 URL에서 지원되는 프로토콜 바인딩입니다. 이는 다른 프로토콜 바인딩에 쉽게 확장할 수 있는 개방형 문자열입니다. 공식적으로 지원되는 핵심 플러그인은 JSONRPC, GRPC, HTTP+JSON입니다.

tenant

string

에이전트를 호출할 때 요청에 사용할 테넌트 ID입니다.

protocolVersion

string

필수 항목입니다. 이 인터페이스가 노출하는 A2A 프로토콜의 버전입니다. 메이저 버전별로 지원되는 최신 마이너 버전을 사용합니다. 예: '0.3', '1.0'

AgentSkill

JSON 표현
{
  "id": string,
  "name": string,
  "description": string,
  "tags": [
    string
  ],
  "examples": [
    string
  ],
  "inputModes": [
    string
  ],
  "outputModes": [
    string
  ]
}
필드
id

string

필수 항목입니다. 상담사 기술의 고유 식별자입니다.

name

string

필수 항목입니다. 인간이 읽을 수 있는 기술 이름입니다.

description

string

필수 항목입니다. 스킬에 대한 자세한 설명입니다.

tags[]

string

필수 항목입니다. 스킬의 기능을 설명하는 키워드 집합입니다.

examples[]

string

이 기술로 처리할 수 있는 프롬프트 또는 시나리오의 예입니다.

inputModes[]

string

이 스킬에 지원되는 입력 미디어 유형 집합으로, 에이전트의 기본값을 재정의합니다.

outputModes[]

string

이 스킬에 지원되는 출력 미디어 유형 집합으로, 에이전트의 기본값을 재정의합니다.

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.com에 roles/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.com에 roles/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> 형식이어야 합니다.

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),
  "timeout": string,
  "createTime": string,
  "updateTime": string,
  "etag": string,
  "generatedSummary": string,
  "toolFakeConfig": {
    object (ToolFakeConfig)
  },
  "readOnly": boolean,

  // 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)
  },
  "agentTool": {
    object (AgentTool)
  },
  "widgetTool": {
    object (WidgetTool)
  },
  "remoteAgentTool": {
    object (RemoteAgentTool)
  }
  // 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)

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

timeout

string (Duration format)

선택사항입니다. 도구 실행의 제한 시간입니다. 설정하지 않으면 기본 제한 시간은 SYNCHRONOUS 도구의 경우 30초, ASYNCHRONOUS 도구의 경우 60초입니다.

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

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)

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

readOnly

boolean

출력 전용입니다. 도구가 읽기 전용인지 여부를 나타냅니다. true인 경우 사용자가 도구를 수정할 수 없습니다.

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

object (ClientFunction)

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

openApiTool

object (OpenApiTool)

선택사항입니다. OpenAPI 도구

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)

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

agentTool

object (AgentTool)

선택사항입니다. 에이전트 도구입니다.

widgetTool

object (WidgetTool)

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

remoteAgentTool

object (RemoteAgentTool)

선택사항입니다. 원격 에이전트 도구

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 자리표시자가 있는 경우 스키마의 자리표시자가 대체됩니다.

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 서버 인증서가 'subject alt name'으로 서명되었는지 확인하세요. 예를 들어 다음 명령어를 사용하여 인증서를 자체 서명할 수 있습니다.

   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 연결의 전체 리소스 이름입니다. 형식: 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 또는 Engine)를 정의합니다. search_source은 다음 중 하나여야 합니다.
dataStoreSource

object (DataStoreSource)

선택사항입니다. 단일 특정 데이터 스토어 내에서 검색합니다.

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)

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

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

선택사항입니다. 다음 중 하나일 수 있습니다. 숫자 필드 값입니다. 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)
  },
  "snippetsConfig": {
    object (SnippetsConfig)
  }
}
필드
modalityType

enum (ModalityType)

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

rewriterConfig

object (RewriterConfig)

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

summarizationConfig

object (SummarizationConfig)

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

groundingConfig

object (GroundingConfig)

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

snippetsConfig

object (SnippetsConfig)

선택사항입니다. 스니펫 구성입니다.

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

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

SnippetsConfig

JSON 표현
{
  "enableSnippets": boolean,
  "maxSnippets": integer
}
필드
enableSnippets

boolean

선택사항입니다. 스니펫 사용 설정 여부입니다.

maxSnippets

integer

선택사항입니다. 쿼리당 반환할 스니펫 수입니다. 설정하지 않으면 기본적으로 서비스의 모든 스니펫이 반환됩니다.

PythonFunction

JSON 표현
{
  "name": string,
  "pythonCode": string,
  "description": string,
  "serviceDirectoryConfig": {
    object (ServiceDirectoryConfig)
  }
}
필드
name

string

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

pythonCode

string

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

description

string

출력 전용입니다. Python 코드의 docstring에서 파싱된 Python 함수에 대한 설명입니다.

serviceDirectoryConfig

object (ServiceDirectoryConfig)

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

McpTool

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

string

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

nameOverride

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 서버에 대해 도구를 실행하는 데 필요한 인증 정보입니다. Bearer 토큰 인증의 경우 토큰은 도구 실행에만 적용되며 도구 나열에는 적용되지 않습니다. 이렇게 하려면 인증 없이 도구를 나열할 수 있어야 합니다.

tlsConfig

object (TlsConfig)

선택사항입니다. TLS 구성입니다. 클라이언트가 신뢰해야 하는 커스텀 서버 인증서가 포함됩니다.

serviceDirectoryConfig

object (ServiceDirectoryConfig)

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

customHeaders

map (key: string, value: string)

선택사항입니다. MCP 서버에 대한 요청에 전송할 커스텀 헤더입니다. 값은 $context.variables.<name_of_variable> 형식이어야 하며 세션 변수에서 설정할 수 있습니다. 자세한 내용은 https://docs.cloud.google.com/customer-engagement-ai/conversational-agents/ps/tool/open-api#openapi-injection을 참조하세요.

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

state

enum (State)

출력 전용입니다. 외부 서버에 있는 도구의 동적 가용성 상태입니다.

CustomHeadersEntry

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

string

value

string

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

출력 전용입니다. 시스템 도구에 대한 설명입니다.

AgentTool

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

string

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

description

string

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

agent

string

선택사항입니다. 도구의 진입점인 에이전트의 리소스 이름입니다. 형식: projects/{project}/locations/{location}/agents/{agent}

WidgetTool

JSON 표현
{
  "name": string,
  "description": string,
  "widgetType": enum (WidgetType),
  "uiConfig": {
    object
  },
  "dataMapping": {
    object (DataMapping)
  },
  "textResponseConfig": {
    object (TextResponseConfig)
  },

  // 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입니다.

uiConfig

object (Struct format)

선택사항입니다. 위젯 렌더링을 위한 구성입니다.

dataMapping

object (DataMapping)

선택사항입니다. 소스 도구의 데이터가 위젯의 입력 매개변수에 매핑되는 방식을 정의하는 매핑입니다.

textResponseConfig

object (TextResponseConfig)

선택사항입니다. 항상 포함되는 텍스트 응답의 구성입니다.

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

object (Schema)

선택사항입니다. 위젯 도구의 입력 파라미터입니다.

DataMapping

JSON 표현
{
  "sourceToolName": string,
  "fieldMappings": {
    string: string,
    ...
  },
  "pythonFunction": {
    object (PythonFunction)
  },
  "mode": enum (Mode),
  "pythonScript": string
}
필드
sourceToolName

string

선택사항입니다. 위젯에 데이터를 제공하는 도구의 리소스 이름입니다(예: 검색 도구 또는 커스텀 함수). 형식: projects/{project}/locations/{location}/agents/{agent}/tools/{tool}

fieldMappings

map (key: string, value: string)

선택사항입니다. 위젯 입력 매개변수 필드를 소스 도구의 해당 출력 필드에 매핑합니다.

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

pythonFunction

object (PythonFunction)

선택사항입니다. 소스 도구의 출력을 위젯의 입력 형식으로 변환하는 데 사용되는 Python 함수 구성입니다.

mode

enum (Mode)

선택사항입니다. 데이터 매핑 모드입니다.

pythonScript
(deprecated)

string

지원 중단됨: 대신 python_function를 사용하세요.

FieldMappingsEntry

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

string

value

string

TextResponseConfig

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

enum (Type)

선택사항입니다. 텍스트 응답을 제공하는 전략입니다.

staticText

string

선택사항입니다. 유형이 STATIC인 경우 반환할 정적 텍스트 응답입니다.

textResponseInstruction

string

선택사항입니다. 텍스트 응답을 생성하는 방법에 대한 LLM의 요청 사항입니다. 유형이 LLM_GENERATED인 경우 텍스트 응답 파라미터의 설명으로 사용됩니다.

RemoteAgentTool

JSON 표현
{
  "name": string,
  "description": string,
  "agentCard": {
    object (AgentCard)
  },
  "apiAuthentication": {
    object (ApiAuthentication)
  },
  "statefulAgent": boolean,
  "inputVariableMapping": {
    string: string,
    ...
  },
  "outputVariableMapping": {
    string: string,
    ...
  }
}
필드
name

string

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

description

string

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

agentCard

object (AgentCard)

필수 항목입니다. 이 도구가 호출하는 원격 에이전트의 에이전트 카드입니다.

apiAuthentication

object (ApiAuthentication)

선택사항입니다. 원격 에이전트를 호출하기 위한 인증 구성입니다.

statefulAgent

boolean

선택사항입니다. 사용 설정하면 CXAS 앱과 원격 에이전트 간의 상호작용이 동일한 컨텍스트를 공유합니다. 원격 에이전트가 context_id를 반환하면 이 원격 에이전트 도구의 전체 세션 동안 유지됩니다.

inputVariableMapping

map (key: string, value: string)

선택사항입니다. 원격 에이전트의 입력 변수 이름을 GECX 변수 이름에 매핑합니다.

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

outputVariableMapping

map (key: string, value: string)

선택사항입니다. 원격 에이전트의 출력 변수 이름을 GECX 변수 이름에 매핑합니다.

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

InputVariableMappingEntry

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

string

value

string

OutputVariableMappingEntry

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

string

value

string

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,
  "altText": string
}
필드
mimeType

string

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

data

string (bytes format)

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

base64 인코딩 문자열입니다.

altText

string

선택사항입니다. 이미지의 대체 텍스트입니다.

ToolCall

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

  // 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 객체 형식의 도구 입력 파라미터와 값입니다.

parentToolCallId

string

출력 전용입니다. 상위 호출을 대신하여 작업하는 하위 에이전트가 실행한 경우 이 호출을 발생시킨 도구 호출의 ID입니다. 최상위 호출의 경우 비어 있습니다. 클라이언트가 모든 단계를 동위 요소로 렌더링하는 대신 하위 에이전트의 작업을 시작한 호출 아래에 그룹화할 수 있습니다.

agentName

string

출력 전용입니다. 이 호출을 실행한 에이전트의 인간이 읽을 수 있는 이름입니다(예: '계약 설계자'). 루트 에이전트가 발급한 경우 비어 있습니다.

targetApp

string

출력 전용입니다. 이 호출이 타겟팅하는 앱으로, 어시스턴트가 호출의 리소스 인수에서 파생합니다. 위치 범위 도구의 경우 앱 리소스 이름 PROJECT이고 세션 로컬 도구의 경우 비어 있습니다. 프로젝트 범위 어시스턴트 세션에서만 설정됩니다.

통합 필드 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
  },
  "parentToolCallId": string,
  "agentName": string,
  "targetApp": string,

  // 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'가 도구 실행 결과로 처리됩니다.

parentToolCallId

string

출력 전용입니다. 상위 호출을 대신하여 작업하는 하위 에이전트가 실행한 경우 이 호출을 발생시킨 도구 호출의 ID입니다. 최상위 호출의 경우 비어 있습니다. 클라이언트가 모든 단계를 동위 요소로 렌더링하는 대신 하위 에이전트의 작업을 시작한 호출 아래에 그룹화할 수 있습니다.

agentName

string

출력 전용입니다. 이 호출을 실행한 에이전트의 인간이 읽을 수 있는 이름입니다(예: '계약 설계자'). 루트 에이전트가 발급한 경우 비어 있습니다.

targetApp

string

출력 전용입니다. 실행된 도구가 타겟팅한 앱입니다. ToolCall.target_app를 미러링합니다.

통합 필드 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)
  },
  "supervisor": {
    object (Supervisor)
  }
  // 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)

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

supervisor

object (Supervisor)

선택사항입니다. 감독자 개입을 실행하는 가드레일입니다.

ContentFilter

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

string

선택사항입니다. 차단된 문구 목록입니다. 사용자 입력과 에이전트 대답 모두에 적용됩니다.

bannedContentsInUserInput[]

string

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

bannedContentsInAgentResponse[]

string

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

matchType

enum (MatchType)

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

disregardDiacritics

boolean

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

sensitiveWordsExemptions[]

string

선택사항입니다. 이 가드레일에서 허용하는 민감한 단어 목록의 항목입니다. match_type이 SENSITIVE_WORDS인 경우에만 유효합니다. 각 값은 목록 항목과 같아야 합니다(대소문자를 구분하지 않으며 주변 공백은 무시됨). 다른 값은 영향을 미치지 않습니다. 이 가드레일에만 적용됩니다. 각각 최대 256자(영문 기준)인 항목을 최대 1,000개까지 입력할 수 있습니다.

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

필수 항목입니다. 정책 프롬프트 세션 변수 자리표시자({var})와 {agent_system_instruction}를 지원하여 에이전트의 확인된 시스템 요청 사항을 삽입합니다.

policyScope

enum (PolicyScope)

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

failOpen

boolean

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

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)

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

afterAgentCallback

object (Callback)

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

beforeModelCallback

object (Callback)

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

afterModelCallback

object (Callback)

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

감독자

JSON 표현
{
  "type": enum (Type),
  "detectionMode": enum (DetectionMode)
}
필드
type

enum (Type)

선택사항입니다. 감독자 유형입니다.

detectionMode

enum (DetectionMode)

선택사항입니다. 감독자의 감지 모드입니다.

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,
  "timeout": 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

선택사항입니다. 도구 모음에 대한 설명입니다.

timeout

string (Duration format)

선택사항입니다. 도구 모음 실행의 제한 시간입니다. 설정하지 않으면 기본 제한 시간은 SYNCHRONOUS 도구 모음의 경우 30초, ASYNCHRONOUS 도구 모음의 경우 60초입니다.

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

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)
  },
  "customHeaders": {
    string: string,
    ...
  },
  "toolOverrides": [
    {
      object (McpToolOverride)
    }
  ]
}
필드
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 서버에서 도구를 실행하는 데 필요한 인증 정보입니다. Bearer 토큰 인증의 경우 토큰은 도구 실행에만 적용되며 도구 나열에는 적용되지 않습니다. 이렇게 하려면 인증 없이 도구를 나열할 수 있어야 합니다.

serviceDirectoryConfig

object (ServiceDirectoryConfig)

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

tlsConfig

object (TlsConfig)

선택사항입니다. TLS 구성입니다. 클라이언트가 신뢰해야 하는 커스텀 서버 인증서가 포함됩니다.

customHeaders

map (key: string, value: string)

선택사항입니다. MCP 서버에 대한 요청에 전송할 커스텀 헤더입니다. 값은 $context.variables.<name_of_variable> 형식이어야 하며 세션 변수에서 설정할 수 있습니다. 자세한 내용은 https://docs.cloud.google.com/customer-engagement-ai/conversational-agents/ps/tool/open-api#openapi-injection을 참조하세요.

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

toolOverrides[]

object (McpToolOverride)

선택사항입니다. 이 도구 모음 내 개별 도구의 재정의입니다. 이를 통해 설명, 이름과 같은 특정 세부정보를 재정의하거나 도구의 상태를 고정하여 완전히 동적이지 않도록 할 수 있습니다.

CustomHeadersEntry

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

string

value

string

McpToolOverride

JSON 표현
{
  "tool": string,
  "nameOverride": string,
  "descriptionOverride": string,
  "snapshot": {
    object (McpToolDefinition)
  }
}
필드
tool

string

필수 항목입니다. MCP 서버에서 내보낸 도구의 원래 이름입니다.

nameOverride

string

선택사항입니다. 이름이 있는 경우 이 도구는 에이전트에서 원래 이름 대신 이 이름을 사용합니다. 이는 주로 MCP 서버에서 이름이 잘못 지정된 도구를 제공하는 경우 별칭으로 사용됩니다.

descriptionOverride

string

선택사항입니다. 이 도구는 서버의 원래 설명 대신 이 설명을 사용합니다(있는 경우).

snapshot

object (McpToolDefinition)

출력 전용입니다. 이 도구가 있는 경우 '고정'되며, 서버를 일시적으로 사용할 수 없거나 재정의가 없는 경우 스냅샷 값을 대체로 사용합니다.

McpToolDefinition

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

string

출력 전용입니다. MCP 도구에 대한 설명입니다. 이는 McpToolOverride의 description_override로 재정의할 수 있습니다.

inputSchema

object (Schema)

출력 전용입니다. MCP 도구의 입력 인수 스키마입니다.

outputSchema

object (Schema)

출력 전용입니다. MCP 도구의 출력 인수 스키마입니다.

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 연결의 전체 리소스 이름입니다. 형식: 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)

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

PrebuiltAmbientNoise

사전 빌드된 주변 소음

열거형
PREBUILT_AMBIENT_NOISE_UNSPECIFIED 지정되지 않음
RETAIL_STORE 소매점의 주변 소음
CONVENTION_HALL 컨벤션 홀의 주변 소음
OUTDOOR 거리의 주변 소음

WarningType

음성 샘플 처리 중에 발생한 경고 유형입니다.

열거형
WARNING_TYPE_UNSPECIFIED 지정되지 않은 경고 유형입니다.
LOW_AUDIO_LEVEL 음성 샘플의 오디오 수준이 너무 낮습니다(예: 낮은 RMS 진폭).

VoiceInstructionMode

음성 샘플의 요청 사항 모드입니다.

열거형
VOICE_INSTRUCTION_MODE_UNSPECIFIED 지정되지 않은 안내 모드입니다. 기본값은 NO_INSTRUCTION입니다.
NO_INSTRUCTION 음성 안내가 사용되지 않습니다.
GENERATE_INSTRUCTION AI가 오디오 샘플을 기반으로 음성 안내를 자동으로 생성합니다.
CUSTOM_INSTRUCTION 사용자가 제공한 맞춤 음성 안내입니다.

ErrorHandlingStrategy

오류 처리 전략을 정의합니다.

열거형
ERROR_HANDLING_STRATEGY_UNSPECIFIED 지정되지 않은 오류 처리 전략입니다.
NONE 특정 처리가 사용 설정되지 않았습니다.
FALLBACK_RESPONSE 시스템 오류(예: LLM 오류)가 발생하면 대체 메시지가 사용자에게 반환됩니다.
END_SESSION 시스템 오류(예: LLM 오류)가 발생하면 EndSession 신호가 전송됩니다.

ThinkingLevel

모델의 사고 수준 구성입니다.

열거형
THINKING_LEVEL_UNSPECIFIED 사고 수준이 지정되지 않았습니다.
DEFAULT 기본 사고 수준입니다.
LOW 낮은 사고 수준
MEDIUM 중간 수준의 사고
HIGH 높은 수준의 사고

ToolExecutionMode

에이전트가 동시에 여러 도구를 선택하는 경우 도구 실행 동작을 정의합니다.

열거형
TOOL_EXECUTION_MODE_UNSPECIFIED 지정되지 않은 도구 실행 모드입니다. 기본값은 PARALLEL입니다.
PARALLEL 여러 도구가 선택되면 동일한 ToolContext를 사용하여 동시에 실행됩니다.
SEQUENTIAL 여러 도구가 선택된 경우 순차적으로 실행됩니다. 다음 도구는 이전 도구가 완료된 후에만 실행되며 이전 도구에서 업데이트된 ToolContext를 볼 수 있습니다.

SemanticSimilarityChannel

사용할 시맨틱 유사성 채널입니다.

열거형
SEMANTIC_SIMILARITY_CHANNEL_UNSPECIFIED 측정항목이 지정되지 않았습니다. 기본값은 TEXT입니다.
TEXT 텍스트 시맨틱 유사성을 사용합니다.
AUDIO 오디오 시맨틱 유사성을 사용합니다.

ExtraToolCallBehavior

추가 도구 호출이 발생할 때의 동작을 정의합니다. 추가 도구 호출은 실행에 있지만 골든 기대치의 도구 호출과 일치하지 않는 도구 호출입니다.

열거형
EXTRA_TOOL_CALL_BEHAVIOR_UNSPECIFIED 지정되지 않은 동작입니다. 기본값은 FAIL입니다.
FAIL 추가 도구 호출이 발생하면 평가에 실패합니다.
ALLOW 추가 도구 호출을 허용합니다.

HallucinationMetricBehavior

할루시네이션 측정항목 동작입니다. 동작과 관계없이 측정항목은 항상 계산됩니다. 차이점은 사용 중지하면 측정항목이 전체 평가 점수를 계산하는 데 사용되지 않는다는 것입니다.

열거형
HALLUCINATION_METRIC_BEHAVIOR_UNSPECIFIED 지정되지 않은 할루시네이션 측정항목 동작입니다.
DISABLED 할루시네이션 측정항목을 사용 중지합니다.
ENABLED 할루시네이션 측정항목을 사용 설정합니다.

유형

OpenAPI 데이터 유형

열거형
TYPE_UNSPECIFIED 유형이 지정되지 않습니다.
STRING 문자열 유형입니다.
INTEGER 정수 유형입니다.
NUMBER 숫자 유형입니다.
BOOLEAN 불리언 유형입니다.
OBJECT 객체 유형입니다.
ARRAY 배열 유형입니다.

NullValue

JSON null을 나타냅니다.

NullValue는 센티널로, 값이 하나만 있는 enum을 사용하여 Value 유형 공용체의 null 값을 나타냅니다.

0 이외의 값이 있는 NullValue 유형의 필드는 잘못된 것으로 간주됩니다. 대부분의 ProtoJSON 직렬 변환기는 정수 값과 관계없이 JSON null로 설정된 null_value가 있는 Value를 내보내므로 0 값으로 왕복합니다.

열거형
NULL_VALUE null 값입니다.

유형

엔진 유형입니다. https://cloud.google.com/generative-ai-app-builder/docs/reference/rest/v1/SolutionType 및 https://cloud.google.com/generative-ai-app-builder/docs/create-datastore-ingest에서 제공되는 문서를 참조하세요.

열거형
TYPE_UNSPECIFIED 지정되지 않은 엔진 유형입니다.
ENGINE_TYPE_CHAT 채팅 엔진 유형입니다. 앱의 SOLUTION_TYPE_CHAT 엔진입니다. 앱에 추가된 모든 커넥터 데이터 스토어가 이 엔진에 추가됩니다.

ChannelType

채널 프로필의 유형입니다.

열거형
UNKNOWN 알 수 없는 채널 유형입니다.
WEB_UI 웹 UI 채널
API API 채널입니다.
TWILIO Twilio 채널
GOOGLE_TELEPHONY_PLATFORM Google Telephony Platform 채널
CONTACT_CENTER_AS_A_SERVICE Contact Center as a Service(CCaaS) 채널
CONTACT_CENTER_AS_A_SERVICE_CHAT Contact Center as a Service(CCaaS 채팅) 채널
FIVE9 Five9 채널
CONTACT_CENTER_INTEGRATION 서드 파티 고객센터 통합 채널입니다.
WHATSAPP WhatsApp 채널
INSTAGRAM Instagram 채널

페르소나

채널의 페르소나

열거형
UNKNOWN UNKNOWN 캐릭터
CONCISE 상담사는 간결하고 요점이 명확하게 답변합니다.
CHATTY 상담사가 추가 맥락, 설명, 세부정보를 제공합니다.

형식

웹 위젯의 모달리티입니다.

열거형
MODALITY_UNSPECIFIED 알 수 없는 양식입니다.
CHAT_AND_VOICE 위젯은 채팅 및 음성 입력을 모두 지원합니다.
VOICE_ONLY 위젯은 음성 입력만 지원합니다.
CHAT_ONLY 위젯은 채팅 입력만 지원합니다.
CHAT_VOICE_AND_VIDEO 위젯은 채팅, 음성, 동영상 입력을 지원합니다.

테마

웹 위젯의 테마입니다.

열거형
THEME_UNSPECIFIED 알 수 없는 테마입니다.
LIGHT 밝은 테마
DARK 어두운 테마

RequestLocation

요청 내 API 키의 위치입니다.

열거형
REQUEST_LOCATION_UNSPECIFIED 지정되지 않음. 이 값을 사용하면 안 됩니다.
HEADER HTTP 헤더의 키를 나타냅니다.
QUERY_STRING 쿼리 문자열의 키를 나타냅니다.

OauthGrantType

OAuth 권한 부여 유형 클라이언트 사용자 인증 정보 부여만 지원됩니다.

열거형
OAUTH_GRANT_TYPE_UNSPECIFIED 지정되지 않음. 기본값은 CLIENT_CREDENTIAL입니다.
CLIENT_CREDENTIAL 클라이언트 사용자 인증 정보 흐름을 나타냅니다.

방향

전송 방향입니다.

열거형
DIRECTION_UNSPECIFIED 지정되지 않은 방향입니다.
PARENT_TO_CHILD 상위 에이전트에서 하위 에이전트로 트랜스퍼합니다.
CHILD_TO_PARENT 하위 에이전트에서 상위 에이전트로 트랜스퍼합니다.

OperationType

항목에서 수행할 작업입니다.

열거형
OPERATION_TYPE_UNSPECIFIED 작업 유형이 지정되지 않았습니다. 잘못되었습니다. ConnectorTool 생성/업데이트가 실패합니다.
LIST 작업을 나열합니다.
GET 작업 가져오기
CREATE 만들기 작업입니다.
UPDATE 업데이트 작업입니다.
DELETE 삭제 작업

DataStoreType

데이터 스토어의 유형입니다.

열거형
DATA_STORE_TYPE_UNSPECIFIED 지정되지 않음 이 값은 데이터 스토어 유형이 지정되지 않았음을 나타내므로 검색 중에 사용되지 않습니다.
PUBLIC_WEB 공개 웹 콘텐츠가 포함된 데이터 스토어입니다.
UNSTRUCTURED 구조화되지 않은 비공개 데이터가 포함된 데이터 스토어입니다.
FAQ FAQ로 사용되는 정형 데이터가 포함된 데이터 스토어입니다.
CONNECTOR 퍼스트 파티 또는 서드 파티 서비스에 대한 커넥터인 데이터 스토어입니다.

DocumentProcessingMode

데이터 스토어의 문서 처리 모드입니다.

열거형
DOCUMENT_PROCESSING_MODE_UNSPECIFIED 지정되지 않음
DOCUMENTS 문서는 문서로 처리됩니다.
CHUNKS 문서가 청크로 변환됩니다.

AttributeType

맞춤 순위가 적용될 속성(또는 함수)입니다.

열거형
ATTRIBUTE_TYPE_UNSPECIFIED 지정되지 않은 AttributeType입니다.
NUMERICAL 숫자 필드의 값은 부스트 금액을 동적으로 업데이트하는 데 사용됩니다. 이 경우 제어점의 attribute_value(x 값)는 boost_amount가 지정된 숫자 필드의 실제 값이 됩니다.
FRESHNESS 최신 상태 사용 사례의 경우 속성 값은 현재 시간과 지정된 날짜/시간 필드의 날짜 사이의 기간입니다. 값은 XSD dayTimeDuration 값(ISO 8601 기간 값의 제한된 하위 집합) 형식이어야 합니다. 패턴은 [nD][T[nH][nM][nS]]입니다. 예: 5D, 3DT12H30M, T24H

InterpolationType

적용할 보간 유형입니다. 기본값은 선형(구간 선형)입니다.

열거형
INTERPOLATION_TYPE_UNSPECIFIED 보간 유형이 지정되지 않았습니다. 이 경우 기본값은 선형입니다.
LINEAR 조각별 선형 보간법이 적용됩니다.

ModalityType

모달리티 유형입니다.

열거형
MODALITY_TYPE_UNSPECIFIED 지정되지 않은 모달리티 유형입니다.
TEXT 텍스트 형식
AUDIO 오디오 형식

FilterParameterBehavior

필터 매개변수 동작입니다.

열거형
FILTER_PARAMETER_BEHAVIOR_UNSPECIFIED 기본 필터 동작입니다. 커넥터 데이터 스토어의 포함 필터 매개변수입니다. 나머지 데이터 스토어 유형의 경우 필터 입력 매개변수가 생략됩니다.
ALWAYS_INCLUDE 모든 데이터 스토어 유형에 항상 필터 매개변수를 포함합니다.
NEVER_INCLUDE 필터 매개변수는 데이터 스토어 유형과 관계없이 도구 매개변수 목록에 포함되지 않습니다.

주

도구의 동적 가용성 상태를 나타냅니다.

열거형
STATE_UNSPECIFIED 기본 상태입니다.
ACTIVE 도구를 사용할 수 있으며 서버에서 적극적으로 제공합니다.
INACTIVE 도구가 구성되거나 고정되어 있지만 현재 서버에서 제공되지 않습니다.
STALE 도구가 서버에 있지만 서버의 버전과 일치하지 않습니다.

CorpusType

Vertex RAG 코퍼스의 유형입니다.

열거형
CORPUS_TYPE_UNSPECIFIED 지정되지 않은 코퍼스 유형입니다.
USER_OWNED 코퍼스는 사용자가 만들고 소유합니다.
FULLY_MANAGED 에이전트가 코퍼스를 만듭니다.

WidgetType

사용 가능한 모든 위젯 유형 향후 이 enum에 새 값이 추가될 수 있습니다.

열거형
WIDGET_TYPE_UNSPECIFIED 지정되지 않은 위젯 유형입니다.
CUSTOM 커스텀 위젯 유형입니다.
PRODUCT_DETAILS 제품 세부정보 위젯
QUICK_ACTIONS 빠른 작업 위젯
PRODUCT_COMPARISON 제품 비교 위젯
ADVANCED_PRODUCT_DETAILS 고급 제품 세부정보 위젯
SHORT_FORM Shorts 위젯
OVERALL_SATISFACTION 전반적인 만족도 위젯
ORDER_SUMMARY 주문 요약 위젯
APPOINTMENT_DETAILS 약속 세부정보 위젯
APPOINTMENT_SCHEDULER 약속 예약 위젯
CONTACT_FORM 문의 양식 위젯

모드

소스 도구의 데이터를 위젯에 매핑하는 데 사용되는 전략입니다.

열거형
MODE_UNSPECIFIED 지정되지 않은 모드입니다.
FIELD_MAPPING 데이터 변환에 field_mappings 맵을 사용합니다.
PYTHON_SCRIPT 데이터 변환에 python_script를 사용합니다.

유형

텍스트 대답이 생성되는 방식을 정의합니다.

열거형
TYPE_UNSPECIFIED 알 수 없는 유형.
NONE LLM은 대화 컨텍스트를 기반으로 위젯과 함께 텍스트 대답을 생성할지 여부를 동적으로 결정합니다.
LLM_GENERATED LLM은 텍스트 응답을 생성하도록 명시적으로 요구됩니다.
STATIC 사전 정의된 정적 텍스트 응답이 항상 사용됩니다.

ExecutionType

도구 또는 도구 모음의 실행 유형입니다.

열거형
EXECUTION_TYPE_UNSPECIFIED 실행 유형이 지정되지 않았습니다. 지정되지 않은 경우 기본값은 SYNCHRONOUS입니다.
SYNCHRONOUS 도구는 동기식으로 실행됩니다. 도구가 반환될 때까지 세션이 차단됩니다.
ASYNCHRONOUS 도구는 비동기식으로 실행됩니다. 도구가 실행되는 동안 세션이 계속됩니다.

MatchType

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

열거형
MATCH_TYPE_UNSPECIFIED 검색 유형이 지정되지 않았습니다.
SIMPLE_STRING_MATCH 콘텐츠는 하위 문자열과 문자 단위로 일치합니다.
WORD_BOUNDARY_STRING_MATCH 텍스트에서 발견된 패턴이 단어 구분 기호로 둘러싸인 경우에만 콘텐츠가 일치합니다. 금지된 구문에는 단어 구분 기호가 포함될 수도 있습니다.
REGEXP_MATCH 콘텐츠는 정규 표현식 문법을 사용하여 일치시킵니다.
SENSITIVE_WORDS 콘텐츠가 시스템에서 관리하는 민감한 단어 및 구문 목록과 일치합니다. 이 일치 유형의 가드레일을 앱 또는 에이전트에 연결하면 영향을 받는 에이전트의 기본 민감한 단어 필터가 대체됩니다. 기본 필터를 선택 해제하려면 가드레일을 사용 중지하세요.

PolicyScope

대화 중에 정책 검사를 적용할 시점을 정의합니다.

열거형
POLICY_SCOPE_UNSPECIFIED 정책 범위가 지정되지 않았습니다.
USER_QUERY 사용자 입력에 따라 정책 검사가 트리거됩니다.
AGENT_RESPONSE 정책 검사는 에이전트 응답에서 트리거됩니다. 이 정책 범위를 적용하면 에이전트가 응답하기 전에 추가 지연 시간이 발생합니다.
USER_QUERY_AND_AGENT_RESPONSE 정책 검사는 사용자 입력과 에이전트 응답 모두에서 트리거됩니다. 이 정책 범위를 적용하면 에이전트가 응답하기 전에 추가 지연 시간이 발생합니다.

HarmCategory

피해 카테고리입니다.

열거형
HARM_CATEGORY_UNSPECIFIED 피해 카테고리가 지정되지 않았습니다.
HARM_CATEGORY_HATE_SPEECH 피해 카테고리는 증오심 표현입니다.
HARM_CATEGORY_DANGEROUS_CONTENT 피해 카테고리는 위험한 콘텐츠입니다.
HARM_CATEGORY_HARASSMENT 피해 카테고리는 괴롭힘입니다.
HARM_CATEGORY_SEXUALLY_EXPLICIT 피해 카테고리는 음란물입니다.
HARM_CATEGORY_PROFANITY 피해 카테고리는 욕설입니다.
HARM_CATEGORY_TOXIC 피해 카테고리는 유해성입니다.

HarmBlockThreshold

차단을 위한 확률 기반 기준점 수준입니다.

열거형
HARM_BLOCK_THRESHOLD_UNSPECIFIED 지정되지 않은 피해 차단 기준점입니다.
BLOCK_LOW_AND_ABOVE 낮은 기준점 이상의 기준점을 차단합니다(예: 더 차단).
BLOCK_MEDIUM_AND_ABOVE 중간 이상의 기준점을 차단합니다.
BLOCK_ONLY_HIGH 높은 기준점만 차단합니다(즉, 차단 미만).
BLOCK_NONE 차단하지 않습니다.
OFF 안전 필터를 사용 중지합니다.

유형

감독자 유형입니다.

열거형
TYPE_UNSPECIFIED 유형이 지정되지 않았습니다.
INVALID_TEXT 텍스트 문제 유형이 잘못되었습니다.
LANGUAGE_SHIFT 언어 전환 문제 유형입니다.
SPEAKER_SHIFT 발화자 교대 문제 유형입니다.
AUDIO_MISMATCH 오디오 불일치 문제 유형입니다.
MISSING_TOOL_CALL 도구 호출 문제 유형이 누락되었습니다.
CUSTOM 맞춤 문제 유형
CHOPPY_AUDIO 오디오 끊김 문제 유형
PROFANITY 상담사 욕설 문제 유형입니다.

DetectionMode

감독자의 감지 모드입니다.

열거형
DETECTION_MODE_UNSPECIFIED 감지 모드가 지정되지 않았습니다. 기본값은 NON_BLOCKING입니다.
NON_BLOCKING 비차단 감지 모드입니다. 감독자 감지가 진행 중인 경우 대답이 차단되지 않습니다.
BLOCKING 차단 감지 모드 감독자 감지가 진행 중인 경우 대답이 차단됩니다.

도구 주석

도구 주석은 특정 도구의 기본 위험을 설명하기 위해 MCP 클라이언트에 전송됩니다. 대부분의 클라이언트는 이러한 힌트를 신뢰할 수 없는 것으로 취급하지만, 사용자에게 확인 메시지를 보낼 시점을 결정하는 데 사용할 수 있습니다.

제목 문자열과 함께 다음 불리언 힌트가 정의됩니다.

  • readOnlyHint: true인 경우 도구가 환경을 수정하지 않습니다. 기본값: false.
  • destructiveHint: true인 경우 도구에서 파괴적인 작업을 수행할 수 있습니다. false이면 도구는 추가 작업만 수행할 수 있습니다. 기본값은 true입니다.
  • idempotentHint: true인 경우 동일한 인수로 도구를 반복적으로 호출해도 환경에 추가적인 영향을 미치지 않습니다. 기본값: false.
  • openWorldHint: true인 경우 도구는 외부 항목의 '오픈 월드'와 상호작용할 수 있습니다. false이면 도구는 내부 항목과만 상호작용할 수 있습니다. 예를 들어 웹 검색 도구는 오픈 월드이지만 메모리 도구는 오픈 월드가 아닙니다.

Destructive Hint: ❌ | Idempotent Hint: ✅ | Read Only Hint: ✅ | Open World Hint: ❌