MCP Tools Reference: ces.googleapis.com

도구: create_app_version

지정된 앱에 새 앱 버전을 만듭니다.

다음 코드 샘플은 curl를 사용하여 create_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": "create_app_version",
    "arguments": {
      // provide these details according to the tool's MCP specification
    }
  },
  "jsonrpc": "2.0",
  "id": 1
}'

입력 스키마

AgentService.CreateAppVersion의 요청 메시지

CreateAppVersionRequest

JSON 표현
{
  "parent": string,
  "appVersionId": string,
  "appVersion": {
    object (AppVersion)
  }
}
필드
parent

string

필수 항목입니다. 앱 버전을 만들 앱의 리소스 이름입니다.

appVersionId

string

선택사항입니다. 앱 버전에 사용할 ID이며, 앱 버전의 리소스 이름에서 마지막 구성요소가 됩니다. 제공되지 않으면 앱 버전에 고유 ID가 자동으로 할당됩니다.

appVersion

object (AppVersion)

필수 항목입니다. 만들 앱 버전입니다.

AppVersion

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

string

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

displayName

string

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

description

string

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

creator

string

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

createTime

string (Timestamp format)

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

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

snapshot

object (AppSnapshot)

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

etag

string

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

타임스탬프

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

string (int64 format)

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

nanos

integer

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

AppSnapshot

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

object (App)

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

agents[]

object (Agent)

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

tools[]

object (Tool)

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

examples[]

object (Example)

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

guardrails[]

object (Guardrail)

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

toolsets[]

object (Toolset)

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

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

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

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)

선택사항입니다. 고객센터 통계 대시보드를 연결하고 구성하기 위한 앱별 대시보드 설정입니다.

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)
  }
}
필드
synthesizeSpeechConfigs

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

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

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

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

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

bargeInConfig

object (BargeInConfig)

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

inactivityTimeout

string (Duration format)

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

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

ambientSoundConfig

object (AmbientSoundConfig)

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

SynthesizeSpeechConfigsEntry

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

string

value

object (SynthesizeSpeechConfig)

SynthesizeSpeechConfig

JSON 표현
{
  "voice": string,
  "voiceSampleGcsUri": string,
  "speakingRate": number,
  "model": string,
  "instruction": string,
  "consentAudioGcsUri": string
}
필드
voice

string

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

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

voiceSampleGcsUri
(deprecated)

string

선택사항입니다. 지원 중단됨: 대신 AudioProcessingConfigcustom_voice_samples를 사용하세요.

음성 복제를 위한 오디오 샘플의 Cloud Storage URI입니다. 오디오 샘플은 모노 채널, 24kHz WAV 파일이어야 합니다.

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

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

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

consentAudioGcsUri
(deprecated)

string

선택사항입니다. 지원 중단됨: 대신 AudioProcessingConfigcustom_voice_samples를 사용하세요.

음성 복제를 위한 동의 오디오의 Cloud Storage URI입니다.

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'

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)
  }
}
필드
redactionConfig

object (RedactionConfig)

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

audioRecordingConfig

object (AudioRecordingConfig)

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

unredactedAudioRecordingConfig

object (AudioRecordingConfig)

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

bigqueryExportSettings

object (BigQueryExportSettings)

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

unredactedBigqueryExportSettings

object (BigQueryExportSettings)

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

cloudLoggingSettings

object (CloudLoggingSettings)

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

conversationLoggingSettings

object (ConversationLoggingSettings)

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

evaluationAudioRecordingConfig

object (AudioRecordingConfig)

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

metricAnalysisSettings

object (MetricAnalysisSettings)

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

RedactionConfig

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

boolean

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

inspectTemplate

string

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

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

deidentifyTemplate

string

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

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

AudioRecordingConfig

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

string

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

데이터 레지던시 요구사항을 충족하는 버킷 위치를 선택하세요.

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

gcsPathPrefix

string

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

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

경로 접두사가 지정되지 않은 경우 기본 접두사 $project/$location/$app/$date/$session/가 사용됩니다.

BigQueryExportSettings

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

boolean

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

project

string

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

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

dataset

string

선택사항입니다. 데이터를 내보낼 BigQuery 데이터 세트 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 EndSessionsession_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,

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

string

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

통합 필드 _temperature.

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

temperature

number

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

EvaluationMetricsThresholds

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

object (GoldenEvaluationMetricsThresholds)

선택사항입니다. 골든 평가 측정항목 기준입니다.

hallucinationMetricBehavior
(deprecated)

enum (HallucinationMetricBehavior)

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

goldenHallucinationMetricBehavior

enum (HallucinationMetricBehavior)

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

scenarioHallucinationMetricBehavior

enum (HallucinationMetricBehavior)

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

GoldenEvaluationMetricsThresholds

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

object (TurnLevelMetricsThresholds)

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

expectationLevelMetricsThresholds

object (ExpectationLevelMetricsThresholds)

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

toolMatchingSettings

object (ToolMatchingSettings)

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

TurnLevelMetricsThresholds

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

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

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

enum (SemanticSimilarityChannel)

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

통합 필드 _semantic_similarity_success_threshold.

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

semanticSimilaritySuccessThreshold

integer

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

통합 필드 _overall_tool_invocation_correctness_threshold.

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

overallToolInvocationCorrectnessThreshold

number

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

ExpectationLevelMetricsThresholds

JSON 표현
{

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

통합 필드 _tool_invocation_parameter_correctness_threshold.

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

toolInvocationParameterCorrectnessThreshold

number

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

ToolMatchingSettings

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

enum (ExtraToolCallBehavior)

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

VariableDeclaration

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

string

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

description

string

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

schema

object (Schema)

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

스키마

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

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

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

enum (Type)

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

properties

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

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

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

required[]

string

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

description

string

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

items

object (Schema)

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

nullable

boolean

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

uniqueItems

boolean

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

prefixItems[]

object (Schema)

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

additionalProperties

object (Schema)

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

anyOf[]

object (Schema)

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

enum[]

string

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

default

value (Value format)

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

ref

string

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

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

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

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

defs

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

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

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

title

string

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

minItems

string (int64 format)

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

maxItems

string (int64 format)

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

통합 필드 _minimum.

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

minimum

number

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

통합 필드 _maximum.

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

maximum

number

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

PropertiesEntry

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

string

value

object (Schema)

JSON 표현
{

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

null

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

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

description

string

출력 전용입니다. Meta 비즈니스 페이지 또는 프로필의 설명입니다.

InstagramConfig

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

string

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

displayName

string

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

thumbnailUrl

string

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

description

string

출력 전용입니다. Meta 비즈니스 페이지 또는 프로필의 설명입니다.

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

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

형식: 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)
  }
  // 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.comroles/dialogflow.client 권한을 부여해야 합니다.

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

콜백

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)
  },

  // 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)

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

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

object (ClientFunction)

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

openApiTool

object (OpenApiTool)

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

googleSearchTool

object (GoogleSearchTool)

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

connectorTool

object (ConnectorTool)

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

dataStoreTool

object (DataStoreTool)

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

pythonFunction

object (PythonFunction)

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

mcpTool

object (McpTool)

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

fileSearchTool

object (FileSearchTool)

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

systemTool

object (SystemTool)

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

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

ApiAuthentication

JSON 표현
{

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

object (ApiKeyConfig)

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

oauthConfig

object (OAuthConfig)

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

serviceAgentIdTokenAuthConfig

object (ServiceAgentIdTokenAuthConfig)

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

serviceAccountAuthConfig

object (ServiceAccountAuthConfig)

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

bearerTokenConfig

object (BearerTokenConfig)

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

ApiKeyConfig

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

string

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

apiKeySecretVersion

string

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

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

requestLocation

enum (RequestLocation)

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

OAuthConfig

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

enum (OauthGrantType)

필수 항목입니다. OAuth 권한 유형입니다.

clientId

string

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

clientSecretVersion

string

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

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

tokenEndpoint

string

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

scopes[]

string

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

ServiceAccountAuthConfig

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

string

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

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

scopes[]

string

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

BearerTokenConfig

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

string

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

TlsConfig

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

object (CaCert)

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

CaCert

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

string

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

cert

string (bytes format)

필수 항목입니다. HTTPS 확인에 허용된 맞춤 CA 인증서 (DER 형식)입니다. 이렇게 하면 기본 SSL 트러스트 저장소가 재정의됩니다. 비어 있거나 지정되지 않은 경우 CES는 Google의 기본 트러스트 저장소를 사용하여 인증서를 확인합니다. 참고: HTTPS 서버 인증서가 '제목 대체 이름'으로 서명되어 있는지 확인하세요. 예를 들어 다음 명령어를 사용하여 인증서에 자체 서명할 수 있습니다.

   openssl x509 -req -days 200 -in example.com.csr \
     -signkey example.com.key \
     -out example.com.crt \
     -extfile <(printf "\nsubjectAltName='DNS:www.example.com'")

base64 인코딩 문자열입니다.

ServiceDirectoryConfig

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

string

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

GoogleSearchTool

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

string

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

description

string

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

contextUrls[]

string

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

preferredDomains[]

string

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

excludeDomains[]

string

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

promptConfig

object (PromptConfig)

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

PromptConfig

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

string

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

voicePrompt

string

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

ConnectorTool

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

string

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

action

object (Action)

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

authConfig

object (EndUserAuthConfig)

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

name

string

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

description

string

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

작업

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

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

string

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

outputFields[]

string

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

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

string

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

entityOperation

object (EntityOperation)

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

EntityOperation

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

string

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

operation

enum (OperationType)

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

EndUserAuthConfig

JSON 표현
{

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

object (Oauth2AuthCodeConfig)

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

oauth2JwtBearerConfig

object (Oauth2JwtBearerConfig)

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

Oauth2AuthCodeConfig

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

string

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

Oauth2JwtBearerConfig

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

string

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

subject

string

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

clientKey

string

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

DataStoreTool

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

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

string

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

description

string

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

boostSpecs[]

object (BoostSpecs)

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

modalityConfigs[]

object (ModalityConfig)

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

filterParameterBehavior

enum (FilterParameterBehavior)

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

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

object (DataStoreSource)

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

engineSource

object (EngineSource)

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

DataStoreSource

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

string

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

dataStore

object (DataStore)

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

DataStore

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

string

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

type

enum (DataStoreType)

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

documentProcessingMode

enum (DocumentProcessingMode)

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

displayName

string

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

createTime

string (Timestamp format)

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

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

connectorConfig

object (ConnectorConfig)

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

ConnectorConfig

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

string

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

collectionDisplayName

string

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

dataSource

string

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

EngineSource

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

string

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

dataStoreSources[]

object (DataStoreSource)

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

filter

string

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

BoostSpecs

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

string

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

spec[]

object (BoostSpec)

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

BoostSpec

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

object (ConditionBoostSpec)

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

ConditionBoostSpec

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

string

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

boost

number

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

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

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

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

boostControlSpec

object (BoostControlSpec)

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

BoostControlSpec

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

string

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

attributeType

enum (AttributeType)

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

interpolationType

enum (InterpolationType)

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

controlPoints[]

object (ControlPoint)

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

ControlPoint

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

string

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

boostAmount

number

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

ModalityConfig

JSON 표현
{
  "modalityType": enum (ModalityType),
  "rewriterConfig": {
    object (RewriterConfig)
  },
  "summarizationConfig": {
    object (SummarizationConfig)
  },
  "groundingConfig": {
    object (GroundingConfig)
  },
  "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 코드의 문서 문자열에서 파싱된 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)
  }
}
필드
name

string

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

description

string

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

agentCard

object (AgentCard)

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

apiAuthentication

object (ApiAuthentication)

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

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

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

ToolFakeConfig

JSON 표현
{
  "enableFakeMode": boolean,

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

boolean

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

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

object (CodeBlock)

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

CodeBlock

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

string

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

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

string

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

displayName

string

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

description

string

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

entryAgent

string

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

messages[]

object (Message)

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

createTime

string (Timestamp format)

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

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

updateTime

string (Timestamp format)

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

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

invalid

boolean

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

etag

string

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

메시지

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

string

선택사항입니다. 대화 내 역할입니다(예: 사용자, 상담사).

chunks[]

object (Chunk)

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

eventTime

string (Timestamp format)

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

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

Chunk

JSON 표현
{

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

string

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

transcript

string

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

blob

object (Blob)

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

payload

object (Struct format)

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

image

object (Image)

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

toolCall

object (ToolCall)

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

toolResponse

object (ToolResponse)

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

agentTransfer

object (AgentTransfer)

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

updatedVariables

object (Struct format)

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

defaultVariables

object (Struct format)

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

blob

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

string

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

data

string (bytes format)

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

base64 인코딩 문자열입니다.

이미지

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

string

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

data

string (bytes format)

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

base64 인코딩 문자열입니다.

ToolCall

JSON 표현
{
  "id": string,
  "displayName": string,
  "args": {
    object
  },
  "parentToolCallId": string,
  "agentName": 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

출력 전용입니다. 이 통화를 발급한 상담사의 사람이 읽을 수 있는 이름입니다(예: '계약 설계사'). 루트 에이전트가 발급한 경우 비어 있습니다.

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

  // 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

출력 전용입니다. 이 통화를 발급한 상담사의 사람이 읽을 수 있는 이름입니다(예: '계약 설계사'). 루트 에이전트가 발급한 경우 비어 있습니다.

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

string

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

toolsetTool

object (ToolsetTool)

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

AgentTransfer

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

string

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

displayName

string

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

가드레일

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

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

string

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

displayName

string

필수 항목입니다. 가이드라인의 표시 이름입니다.

description

string

선택사항입니다. 가드레일에 대한 설명입니다.

enabled

boolean

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

action

object (TriggerAction)

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

createTime

string (Timestamp format)

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

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

updateTime

string (Timestamp format)

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

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

etag

string

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

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

object (ContentFilter)

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

llmPromptSecurity

object (LlmPromptSecurity)

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

llmPolicy

object (LlmPolicy)

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

modelSafety

object (ModelSafety)

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

codeCallback

object (CodeCallback)

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

ContentFilter

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

string

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

bannedContentsInUserInput[]

string

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

bannedContentsInAgentResponse[]

string

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

matchType

enum (MatchType)

필수 항목입니다. 콘텐츠 필터의 검색 유형입니다.

disregardDiacritics

boolean

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

LlmPromptSecurity

JSON 표현
{
  "failOpen": boolean,

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

boolean

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

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

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

object (DefaultSecuritySettings)

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

customPolicy

object (LlmPolicy)

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

DefaultSecuritySettings

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

string

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

LlmPolicy

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

integer

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

modelSettings

object (ModelSettings)

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

prompt

string

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

policyScope

enum (PolicyScope)

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

failOpen

boolean

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

allowShortUtterance

boolean

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

ModelSafety

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

object (SafetySetting)

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

SafetySetting

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

enum (HarmCategory)

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

threshold

enum (HarmBlockThreshold)

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

CodeCallback

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

object (Callback)

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

afterAgentCallback

object (Callback)

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

beforeModelCallback

object (Callback)

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

afterModelCallback

object (Callback)

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

TriggerAction

JSON 표현
{

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

object (RespondImmediately)

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

transferAgent

object (TransferAgent)

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

generativeAnswer

object (GenerativeAnswer)

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

RespondImmediately

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

object (Response)

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

응답

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

string

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

disabled

boolean

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

TransferAgent

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

string

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

GenerativeAnswer

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

string

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

툴셋

JSON 표현
{
  "name": string,
  "displayName": string,
  "description": string,
  "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 도구의 설명입니다. 이는 McpToolOverridedescription_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 Connection의 전체 리소스 이름입니다. 형식: projects/{project}/locations/{location}/connections/{connection}

authConfig

object (EndUserAuthConfig)

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

connectorActions[]

object (Action)

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

PrebuiltAmbientNoise

사전 빌드된 주변 소음입니다.

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

ErrorHandlingStrategy

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

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

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를 나타냅니다.

NullValueValue 유형 결합의 null 값을 나타내기 위해 값이 하나만 있는 enum을 사용하는 센티널입니다.

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

열거형
NULL_VALUE null 값입니다.

유형

엔진 유형입니다. https://cloud.google.com/generative-ai-app-builder/docs/reference/rest/v1/SolutionTypehttps://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 전화 통신 플랫폼 채널
CONTACT_CENTER_AS_A_SERVICE Contact Center as a Service (CCaaS) 채널
CONTACT_CENTER_AS_A_SERVICE_CHAT Contact Center as a Service (CCaaS Chat) 채널
FIVE9 Five9 채널
CONTACT_CENTER_INTEGRATION 서드 파티 고객센터 통합 채널입니다.
WHATSAPP WhatsApp 채널
INSTAGRAM Instagram 채널입니다.

페르소나

채널의 페르소나입니다.

열거형
UNKNOWN 알 수 없는 페르소나입니다.
CONCISE 에이전트는 대답을 간결하고 요점이 명확하게 유지합니다.
CHATTY 상담사가 추가 컨텍스트, 설명, 세부정보를 제공합니다.

형식

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

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

테마

웹 위젯의 테마입니다.

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

방향

전송 방향입니다.

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

RequestLocation

요청에서 API 키의 위치입니다.

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

OauthGrantType

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

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

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 최신성 사용 사례의 경우 속성 값은 현재 시간과 지정된 datetime 필드의 날짜 사이의 기간입니다. 값은 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 짧은 형식 위젯입니다.
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 콘텐츠는 정규 표현식 구문을 사용하여 일치합니다.

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 안전 필터를 사용 중지합니다.

출력 스키마

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

AppVersion

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

string

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

displayName

string

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

description

string

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

creator

string

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

createTime

string (Timestamp format)

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

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

snapshot

object (AppSnapshot)

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

etag

string

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

타임스탬프

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

string (int64 format)

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

nanos

integer

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

AppSnapshot

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

object (App)

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

agents[]

object (Agent)

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

tools[]

object (Tool)

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

examples[]

object (Example)

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

guardrails[]

object (Guardrail)

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

toolsets[]

object (Toolset)

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

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

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

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)

선택사항입니다. 고객센터 통계 대시보드를 연결하고 구성하기 위한 앱별 대시보드 설정입니다.

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)
  }
}
필드
synthesizeSpeechConfigs

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

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

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

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

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

bargeInConfig

object (BargeInConfig)

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

inactivityTimeout

string (Duration format)

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

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

ambientSoundConfig

object (AmbientSoundConfig)

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

SynthesizeSpeechConfigsEntry

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

string

value

object (SynthesizeSpeechConfig)

SynthesizeSpeechConfig

JSON 표현
{
  "voice": string,
  "voiceSampleGcsUri": string,
  "speakingRate": number,
  "model": string,
  "instruction": string,
  "consentAudioGcsUri": string
}
필드
voice

string

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

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

voiceSampleGcsUri
(deprecated)

string

선택사항입니다. 지원 중단됨: 대신 AudioProcessingConfigcustom_voice_samples를 사용하세요.

음성 복제를 위한 오디오 샘플의 Cloud Storage URI입니다. 오디오 샘플은 모노 채널, 24kHz WAV 파일이어야 합니다.

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

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

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

consentAudioGcsUri
(deprecated)

string

선택사항입니다. 지원 중단됨: 대신 AudioProcessingConfigcustom_voice_samples를 사용하세요.

음성 복제를 위한 동의 오디오의 Cloud Storage URI입니다.

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'

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)
  }
}
필드
redactionConfig

object (RedactionConfig)

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

audioRecordingConfig

object (AudioRecordingConfig)

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

unredactedAudioRecordingConfig

object (AudioRecordingConfig)

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

bigqueryExportSettings

object (BigQueryExportSettings)

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

unredactedBigqueryExportSettings

object (BigQueryExportSettings)

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

cloudLoggingSettings

object (CloudLoggingSettings)

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

conversationLoggingSettings

object (ConversationLoggingSettings)

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

evaluationAudioRecordingConfig

object (AudioRecordingConfig)

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

metricAnalysisSettings

object (MetricAnalysisSettings)

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

RedactionConfig

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

boolean

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

inspectTemplate

string

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

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

deidentifyTemplate

string

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

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

AudioRecordingConfig

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

string

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

데이터 레지던시 요구사항을 충족하는 버킷 위치를 선택하세요.

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

gcsPathPrefix

string

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

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

경로 접두사가 지정되지 않은 경우 기본 접두사 $project/$location/$app/$date/$session/가 사용됩니다.

BigQueryExportSettings

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

boolean

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

project

string

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

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

dataset

string

선택사항입니다. 데이터를 내보낼 BigQuery 데이터 세트 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 EndSessionsession_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,

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

string

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

통합 필드 _temperature.

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

temperature

number

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

EvaluationMetricsThresholds

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

object (GoldenEvaluationMetricsThresholds)

선택사항입니다. 골든 평가 측정항목 기준입니다.

hallucinationMetricBehavior
(deprecated)

enum (HallucinationMetricBehavior)

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

goldenHallucinationMetricBehavior

enum (HallucinationMetricBehavior)

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

scenarioHallucinationMetricBehavior

enum (HallucinationMetricBehavior)

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

GoldenEvaluationMetricsThresholds

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

object (TurnLevelMetricsThresholds)

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

expectationLevelMetricsThresholds

object (ExpectationLevelMetricsThresholds)

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

toolMatchingSettings

object (ToolMatchingSettings)

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

TurnLevelMetricsThresholds

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

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

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

enum (SemanticSimilarityChannel)

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

통합 필드 _semantic_similarity_success_threshold.

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

semanticSimilaritySuccessThreshold

integer

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

통합 필드 _overall_tool_invocation_correctness_threshold.

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

overallToolInvocationCorrectnessThreshold

number

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

ExpectationLevelMetricsThresholds

JSON 표현
{

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

통합 필드 _tool_invocation_parameter_correctness_threshold.

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

toolInvocationParameterCorrectnessThreshold

number

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

ToolMatchingSettings

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

enum (ExtraToolCallBehavior)

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

VariableDeclaration

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

string

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

description

string

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

schema

object (Schema)

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

스키마

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

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

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

enum (Type)

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

properties

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

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

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

required[]

string

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

description

string

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

items

object (Schema)

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

nullable

boolean

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

uniqueItems

boolean

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

prefixItems[]

object (Schema)

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

additionalProperties

object (Schema)

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

anyOf[]

object (Schema)

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

enum[]

string

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

default

value (Value format)

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

ref

string

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

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

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

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

defs

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

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

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

title

string

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

minItems

string (int64 format)

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

maxItems

string (int64 format)

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

통합 필드 _minimum.

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

minimum

number

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

통합 필드 _maximum.

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

maximum

number

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

PropertiesEntry

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

string

value

object (Schema)

JSON 표현
{

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

null

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

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

description

string

출력 전용입니다. Meta 비즈니스 페이지 또는 프로필의 설명입니다.

InstagramConfig

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

string

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

displayName

string

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

thumbnailUrl

string

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

description

string

출력 전용입니다. Meta 비즈니스 페이지 또는 프로필의 설명입니다.

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

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

형식: 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)
  }
  // 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.comroles/dialogflow.client 권한을 부여해야 합니다.

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

콜백

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)
  },

  // 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)

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

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

object (ClientFunction)

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

openApiTool

object (OpenApiTool)

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

googleSearchTool

object (GoogleSearchTool)

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

connectorTool

object (ConnectorTool)

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

dataStoreTool

object (DataStoreTool)

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

pythonFunction

object (PythonFunction)

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

mcpTool

object (McpTool)

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

fileSearchTool

object (FileSearchTool)

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

systemTool

object (SystemTool)

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

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

ApiAuthentication

JSON 표현
{

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

object (ApiKeyConfig)

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

oauthConfig

object (OAuthConfig)

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

serviceAgentIdTokenAuthConfig

object (ServiceAgentIdTokenAuthConfig)

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

serviceAccountAuthConfig

object (ServiceAccountAuthConfig)

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

bearerTokenConfig

object (BearerTokenConfig)

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

ApiKeyConfig

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

string

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

apiKeySecretVersion

string

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

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

requestLocation

enum (RequestLocation)

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

OAuthConfig

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

enum (OauthGrantType)

필수 항목입니다. OAuth 권한 유형입니다.

clientId

string

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

clientSecretVersion

string

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

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

tokenEndpoint

string

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

scopes[]

string

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

ServiceAccountAuthConfig

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

string

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

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

scopes[]

string

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

BearerTokenConfig

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

string

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

TlsConfig

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

object (CaCert)

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

CaCert

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

string

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

cert

string (bytes format)

필수 항목입니다. HTTPS 확인에 허용된 맞춤 CA 인증서 (DER 형식)입니다. 이렇게 하면 기본 SSL 트러스트 저장소가 재정의됩니다. 비어 있거나 지정되지 않은 경우 CES는 Google의 기본 트러스트 저장소를 사용하여 인증서를 확인합니다. 참고: HTTPS 서버 인증서가 '제목 대체 이름'으로 서명되어 있는지 확인하세요. 예를 들어 다음 명령어를 사용하여 인증서에 자체 서명할 수 있습니다.

   openssl x509 -req -days 200 -in example.com.csr \
     -signkey example.com.key \
     -out example.com.crt \
     -extfile <(printf "\nsubjectAltName='DNS:www.example.com'")

base64 인코딩 문자열입니다.

ServiceDirectoryConfig

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

string

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

GoogleSearchTool

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

string

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

description

string

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

contextUrls[]

string

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

preferredDomains[]

string

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

excludeDomains[]

string

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

promptConfig

object (PromptConfig)

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

PromptConfig

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

string

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

voicePrompt

string

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

ConnectorTool

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

string

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

action

object (Action)

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

authConfig

object (EndUserAuthConfig)

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

name

string

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

description

string

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

작업

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

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

string

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

outputFields[]

string

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

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

string

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

entityOperation

object (EntityOperation)

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

EntityOperation

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

string

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

operation

enum (OperationType)

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

EndUserAuthConfig

JSON 표현
{

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

object (Oauth2AuthCodeConfig)

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

oauth2JwtBearerConfig

object (Oauth2JwtBearerConfig)

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

Oauth2AuthCodeConfig

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

string

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

Oauth2JwtBearerConfig

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

string

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

subject

string

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

clientKey

string

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

DataStoreTool

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

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

string

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

description

string

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

boostSpecs[]

object (BoostSpecs)

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

modalityConfigs[]

object (ModalityConfig)

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

filterParameterBehavior

enum (FilterParameterBehavior)

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

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

object (DataStoreSource)

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

engineSource

object (EngineSource)

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

DataStoreSource

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

string

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

dataStore

object (DataStore)

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

DataStore

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

string

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

type

enum (DataStoreType)

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

documentProcessingMode

enum (DocumentProcessingMode)

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

displayName

string

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

createTime

string (Timestamp format)

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

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

connectorConfig

object (ConnectorConfig)

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

ConnectorConfig

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

string

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

collectionDisplayName

string

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

dataSource

string

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

EngineSource

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

string

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

dataStoreSources[]

object (DataStoreSource)

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

filter

string

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

BoostSpecs

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

string

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

spec[]

object (BoostSpec)

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

BoostSpec

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

object (ConditionBoostSpec)

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

ConditionBoostSpec

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

string

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

boost

number

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

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

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

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

boostControlSpec

object (BoostControlSpec)

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

BoostControlSpec

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

string

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

attributeType

enum (AttributeType)

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

interpolationType

enum (InterpolationType)

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

controlPoints[]

object (ControlPoint)

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

ControlPoint

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

string

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

boostAmount

number

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

ModalityConfig

JSON 표현
{
  "modalityType": enum (ModalityType),
  "rewriterConfig": {
    object (RewriterConfig)
  },
  "summarizationConfig": {
    object (SummarizationConfig)
  },
  "groundingConfig": {
    object (GroundingConfig)
  },
  "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 코드의 문서 문자열에서 파싱된 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)
  }
}
필드
name

string

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

description

string

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

agentCard

object (AgentCard)

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

apiAuthentication

object (ApiAuthentication)

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

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

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

ToolFakeConfig

JSON 표현
{
  "enableFakeMode": boolean,

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

boolean

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

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

object (CodeBlock)

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

CodeBlock

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

string

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

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

string

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

displayName

string

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

description

string

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

entryAgent

string

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

messages[]

object (Message)

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

createTime

string (Timestamp format)

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

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

updateTime

string (Timestamp format)

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

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

invalid

boolean

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

etag

string

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

메시지

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

string

선택사항입니다. 대화 내 역할입니다(예: 사용자, 상담사).

chunks[]

object (Chunk)

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

eventTime

string (Timestamp format)

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

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

Chunk

JSON 표현
{

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

string

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

transcript

string

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

blob

object (Blob)

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

payload

object (Struct format)

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

image

object (Image)

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

toolCall

object (ToolCall)

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

toolResponse

object (ToolResponse)

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

agentTransfer

object (AgentTransfer)

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

updatedVariables

object (Struct format)

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

defaultVariables

object (Struct format)

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

blob

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

string

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

data

string (bytes format)

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

base64 인코딩 문자열입니다.

이미지

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

string

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

data

string (bytes format)

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

base64 인코딩 문자열입니다.

ToolCall

JSON 표현
{
  "id": string,
  "displayName": string,
  "args": {
    object
  },
  "parentToolCallId": string,
  "agentName": 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

출력 전용입니다. 이 통화를 발급한 상담사의 사람이 읽을 수 있는 이름입니다(예: '계약 설계사'). 루트 에이전트가 발급한 경우 비어 있습니다.

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

  // 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

출력 전용입니다. 이 통화를 발급한 상담사의 사람이 읽을 수 있는 이름입니다(예: '계약 설계사'). 루트 에이전트가 발급한 경우 비어 있습니다.

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

string

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

toolsetTool

object (ToolsetTool)

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

AgentTransfer

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

string

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

displayName

string

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

가드레일

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

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

string

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

displayName

string

필수 항목입니다. 가이드라인의 표시 이름입니다.

description

string

선택사항입니다. 가드레일에 대한 설명입니다.

enabled

boolean

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

action

object (TriggerAction)

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

createTime

string (Timestamp format)

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

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

updateTime

string (Timestamp format)

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

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

etag

string

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

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

object (ContentFilter)

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

llmPromptSecurity

object (LlmPromptSecurity)

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

llmPolicy

object (LlmPolicy)

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

modelSafety

object (ModelSafety)

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

codeCallback

object (CodeCallback)

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

ContentFilter

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

string

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

bannedContentsInUserInput[]

string

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

bannedContentsInAgentResponse[]

string

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

matchType

enum (MatchType)

필수 항목입니다. 콘텐츠 필터의 검색 유형입니다.

disregardDiacritics

boolean

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

LlmPromptSecurity

JSON 표현
{
  "failOpen": boolean,

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

boolean

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

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

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

object (DefaultSecuritySettings)

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

customPolicy

object (LlmPolicy)

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

DefaultSecuritySettings

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

string

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

LlmPolicy

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

integer

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

modelSettings

object (ModelSettings)

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

prompt

string

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

policyScope

enum (PolicyScope)

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

failOpen

boolean

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

allowShortUtterance

boolean

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

ModelSafety

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

object (SafetySetting)

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

SafetySetting

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

enum (HarmCategory)

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

threshold

enum (HarmBlockThreshold)

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

CodeCallback

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

object (Callback)

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

afterAgentCallback

object (Callback)

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

beforeModelCallback

object (Callback)

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

afterModelCallback

object (Callback)

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

TriggerAction

JSON 표현
{

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

object (RespondImmediately)

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

transferAgent

object (TransferAgent)

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

generativeAnswer

object (GenerativeAnswer)

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

RespondImmediately

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

object (Response)

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

응답

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

string

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

disabled

boolean

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

TransferAgent

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

string

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

GenerativeAnswer

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

string

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

툴셋

JSON 표현
{
  "name": string,
  "displayName": string,
  "description": string,
  "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 도구의 설명입니다. 이는 McpToolOverridedescription_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 Connection의 전체 리소스 이름입니다. 형식: projects/{project}/locations/{location}/connections/{connection}

authConfig

object (EndUserAuthConfig)

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

connectorActions[]

object (Action)

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

PrebuiltAmbientNoise

사전 빌드된 주변 소음입니다.

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

ErrorHandlingStrategy

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

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

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를 나타냅니다.

NullValueValue 유형 결합의 null 값을 나타내기 위해 값이 하나만 있는 enum을 사용하는 센티널입니다.

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

열거형
NULL_VALUE null 값입니다.

유형

엔진 유형입니다. https://cloud.google.com/generative-ai-app-builder/docs/reference/rest/v1/SolutionTypehttps://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 전화 통신 플랫폼 채널
CONTACT_CENTER_AS_A_SERVICE Contact Center as a Service (CCaaS) 채널
CONTACT_CENTER_AS_A_SERVICE_CHAT Contact Center as a Service (CCaaS Chat) 채널
FIVE9 Five9 채널
CONTACT_CENTER_INTEGRATION 서드 파티 고객센터 통합 채널입니다.
WHATSAPP WhatsApp 채널
INSTAGRAM Instagram 채널입니다.

페르소나

채널의 페르소나입니다.

열거형
UNKNOWN 알 수 없는 페르소나입니다.
CONCISE 에이전트는 대답을 간결하고 요점이 명확하게 유지합니다.
CHATTY 상담사가 추가 컨텍스트, 설명, 세부정보를 제공합니다.

형식

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

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

테마

웹 위젯의 테마입니다.

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

방향

전송 방향입니다.

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

RequestLocation

요청에서 API 키의 위치입니다.

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

OauthGrantType

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

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

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 최신성 사용 사례의 경우 속성 값은 현재 시간과 지정된 datetime 필드의 날짜 사이의 기간입니다. 값은 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 짧은 형식 위젯입니다.
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 콘텐츠는 정규 표현식 구문을 사용하여 일치합니다.

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 안전 필터를 사용 중지합니다.

도구 주석

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

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

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

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