도구: list_app_versions
지정된 앱의 모든 앱 버전을 나열합니다.
다음 샘플은 curl를 사용하여 list_app_versions MCP 도구를 호출하는 방법을 보여줍니다.
| curl 요청 |
|---|
curl --location 'https://ces.[REGION].rep.googleapis.com/mcp' \ --header 'content-type: application/json' \ --header 'accept: application/json, text/event-stream' \ --data '{ "method": "tools/call", "params": { "name": "list_app_versions", "arguments": { // provide these details according to the tool's MCP specification } }, "jsonrpc": "2.0", "id": 1 }' |
입력 스키마
AgentService.ListAppVersions에 대한 요청 메시지입니다.
ListAppVersionsRequest
| JSON 표현 |
|---|
{ "parent": string, "pageSize": integer, "pageToken": string, "filter": string, "orderBy": string } |
| 필드 | |
|---|---|
parent |
필수 항목입니다. 앱 버전을 나열할 앱의 리소스 이름입니다. |
pageSize |
선택사항입니다. 요청한 페이지 크기입니다. 서버에서 요청한 것보다 적은 항목을 반환할 수 있습니다. 지정하지 않으면 서버에서 적절한 기본값을 선택합니다. |
pageToken |
선택사항입니다. 이전 목록 |
filter |
선택사항입니다. 앱 버전을 나열할 때 적용할 필터입니다. 자세한 내용은 https://google.aip.dev/160을 참조하세요. |
orderBy |
선택사항입니다. 정렬할 필드입니다. 'name' 및 'create_time'만 지원됩니다. 자세한 내용은 https://google.aip.dev/132#ordering을 참조하세요. |
출력 스키마
AgentService.ListAppVersions의 응답 메시지입니다.
ListAppVersionsResponse
| JSON 표현 |
|---|
{
"appVersions": [
{
object ( |
| 필드 | |
|---|---|
appVersions[] |
앱 버전 목록입니다. |
nextPageToken |
다음 페이지를 검색하기 위해 |
AppVersion
| JSON 표현 |
|---|
{
"name": string,
"displayName": string,
"description": string,
"creator": string,
"createTime": string,
"snapshot": {
object ( |
| 필드 | |
|---|---|
name |
식별자. 앱 버전의 고유 식별자입니다. 형식: |
displayName |
선택사항입니다. 앱 버전의 표시 이름입니다. |
description |
선택사항입니다. 앱 버전의 설명입니다. |
creator |
출력 전용입니다. 앱 버전을 만든 사용자의 이메일입니다. |
createTime |
출력 전용입니다. 앱 버전이 생성된 타임스탬프입니다. 생성된 출력은 항상 Z-정규화되고 소수점 이하 0, 3, 6 또는 9자리인 RFC 3339를 사용합니다. 'Z' 이외의 오프셋도 허용됩니다. 예를 들면 |
snapshot |
출력 전용입니다. 버전이 생성될 때의 앱 스냅샷입니다. |
etag |
출력 전용입니다. 읽기-수정-쓰기 작업 중에 객체가 변경되지 않았는지 확인하는 데 사용되는 Etag입니다. etag가 비어 있으면 업데이트가 동시에 발생한 변경사항을 덮어씁니다. |
타임스탬프
| JSON 표현 |
|---|
{ "seconds": string, "nanos": integer } |
| 필드 | |
|---|---|
seconds |
Unix epoch 1970-01-01T00:00:00Z 이후 UTC 시간의 초 단위로 표현합니다. -62135596800~253402300799 (0001-01-01T00:00:00Z~9999-12-31T23:59:59Z에 해당) 사이여야 합니다. |
nanos |
나노초 단위의 음수가 아닌 초수입니다. 이 필드는 기간의 나노초 부분이며 초의 대안이 아닙니다. 음수의 초수 값에는 시간에 반영되는 음수가 아닌 나노초 값이 있어야 합니다. 0~999,999,999(포함) 사이여야 합니다. |
AppSnapshot
| JSON 표현 |
|---|
{ "app": { object ( |
| 필드 | |
|---|---|
app |
선택사항입니다. 앱의 기본 설정입니다. |
agents[] |
선택사항입니다. 앱의 에이전트 목록입니다. |
tools[] |
선택사항입니다. 앱의 도구 목록입니다. |
examples[] |
선택사항입니다. 앱의 예시 목록입니다. |
guardrails[] |
선택사항입니다. 앱의 가드레일 목록입니다. |
toolsets[] |
선택사항입니다. 앱의 도구 모음 목록입니다. |
앱
| JSON 표현 |
|---|
{ "name": string, "displayName": string, "description": string, "pinned": boolean, "rootAgent": string, "languageSettings": { object ( |
| 필드 | |
|---|---|
name |
식별자. 앱의 고유 식별자입니다. 형식: |
displayName |
필수 항목입니다. 앱의 표시 이름입니다. |
description |
선택사항입니다. 인간이 읽을 수 있는 앱 설명입니다. |
pinned |
선택사항입니다. 앱이 앱 목록에 고정되어 있는지 여부입니다. |
rootAgent |
선택사항입니다. 루트 에이전트는 앱의 진입점입니다. 형식: |
languageSettings |
선택사항입니다. 앱의 언어 설정입니다. |
timeZoneSettings |
선택사항입니다. 앱의 시간대 설정입니다. |
audioProcessingConfig |
선택사항입니다. 앱의 오디오 처리 구성입니다. |
loggingSettings |
선택사항입니다. 앱의 로깅 설정입니다. |
errorHandlingSettings |
선택사항입니다. 앱의 오류 처리 설정입니다. |
modelSettings |
선택사항입니다. 앱의 기본 LLM 모델 설정입니다. 개별 리소스 (예: 에이전트, 가드레일)는 필요에 따라 이러한 구성을 재정의할 수 있습니다. |
toolExecutionMode |
선택사항입니다. 앱의 도구 실행 모드입니다. 제공되지 않으면 기본값은 PARALLEL입니다. |
evaluationMetricsThresholds |
선택사항입니다. 앱의 평가 기준입니다. |
variableDeclarations[] |
선택사항입니다. 변수의 선언입니다. |
predefinedVariableDeclarations[] |
출력 전용입니다. 앱의 사전 정의된 변수 선언입니다. |
globalInstruction |
선택사항입니다. 앱의 모든 에이전트에 관한 안내입니다. 이 안내를 사용하여 모든 에이전트에서 안정적인 ID 또는 페르소나를 설정할 수 있습니다. |
guardrails[] |
선택사항입니다. 앱의 가이드라인 목록입니다. 형식: |
dataStoreSettings |
선택사항입니다. 앱의 데이터 스토어 설정입니다. |
defaultChannelProfile |
선택사항입니다. 앱에서 사용하는 기본 채널 프로필입니다. |
metadata |
선택사항입니다. 앱에 관한 메타데이터입니다. 이 필드는 앱의 세부정보 또는 의도된 사용과 관련된 추가 정보를 저장하는 데 사용할 수 있습니다.
|
createTime |
출력 전용입니다. 앱이 생성된 타임스탬프입니다. 생성된 출력은 항상 Z-정규화되고 소수점 이하 0, 3, 6 또는 9자리인 RFC 3339를 사용합니다. 'Z' 이외의 오프셋도 허용됩니다. 예를 들면 |
updateTime |
출력 전용입니다. 앱이 마지막으로 업데이트된 타임스탬프입니다. 생성된 출력은 항상 Z-정규화되고 소수점 이하 0, 3, 6 또는 9자리인 RFC 3339를 사용합니다. 'Z' 이외의 오프셋도 허용됩니다. 예를 들면 |
etag |
출력 전용입니다. 읽기-수정-쓰기 작업 중에 객체가 변경되지 않았는지 확인하는 데 사용되는 Etag입니다. etag가 비어 있으면 업데이트가 동시에 발생한 변경사항을 덮어씁니다. |
deploymentCount |
출력 전용입니다. 앱의 배포 수입니다. |
clientCertificateSettings |
선택사항입니다. 앱의 기본 클라이언트 인증서 설정입니다. |
locked |
선택사항입니다. 앱이 변경사항에 대해 잠겨 있는지 여부를 나타냅니다. 앱이 잠겨 있으면 앱 리소스 수정이 거부됩니다. |
LanguageSettings
| JSON 표현 |
|---|
{ "defaultLanguageCode": string, "supportedLanguageCodes": [ string ], "enableMultilingualSupport": boolean, "fallbackAction": string } |
| 필드 | |
|---|---|
defaultLanguageCode |
선택사항입니다. 앱의 기본 언어 코드입니다. |
supportedLanguageCodes[] |
선택사항입니다. |
enableMultilingualSupport |
선택사항입니다. 다국어 지원을 사용 설정합니다. true인 경우 앱의 에이전트가 사전 빌드된 안내를 사용하여 다국어 입력 처리를 개선합니다. |
fallbackAction |
선택사항입니다. 상담사가 지원되지 않는 언어로 입력을 받는 경우 수행할 작업입니다. 사전 정의된 작업 또는 맞춤 도구 호출일 수 있습니다. 유효한 값은 다음과 같습니다. - 특정 도구 실행을 트리거하는 도구의 전체 리소스 이름 - '에스컬레이션' 또는 '종료'와 같은 사전 정의된 시스템 작업으로, 대화를 종료하기 위해 해당 |
TimeZoneSettings
| JSON 표현 |
|---|
{ "timeZone": string } |
| 필드 | |
|---|---|
timeZone |
선택사항입니다. 시간대 데이터베이스의 앱 시간대입니다(예: America/Los_Angeles, Europe/Paris |
AudioProcessingConfig
| JSON 표현 |
|---|
{ "synthesizeSpeechConfigs": { string: { object ( |
| 필드 | |
|---|---|
synthesizeSpeechConfigs |
선택사항입니다. 에이전트 응답이 합성되는 방식을 구성합니다. 언어 코드에서 지정된 언어 코드의 구성이 없으면 루트 언어 코드의 구성이 사용됩니다. 예를 들어 지도에 'en-us'와 'en'이 포함되어 있고 지정된 언어 코드가 'en-gb'인 경우 'en' 구성이 사용됩니다. 참고: 언어 코드는 대소문자를 구분하지 않습니다.
|
bargeInConfig |
선택사항입니다. 사용자 끼어들기 활동의 에이전트 동작을 구성합니다. |
inactivityTimeout |
선택사항입니다. 상담사가 사용자에게 다시 참여하도록 프롬프트하기 전까지 사용자가 비활성 상태 (음성 또는 상호작용 없음)로 있는 시간입니다. 설정하지 않으면 상담사가 사용자에게 재참여를 요청하지 않습니다. 소수점 아래가 최대 9자리까지이고 ' |
ambientSoundConfig |
선택사항입니다. 합성된 에이전트 응답과 함께 재생되는 주변 소리의 구성으로, 대화의 자연스러움을 향상합니다. |
SynthesizeSpeechConfigsEntry
| JSON 표현 |
|---|
{
"key": string,
"value": {
object ( |
| 필드 | |
|---|---|
key |
|
value |
|
SynthesizeSpeechConfig
| JSON 표현 |
|---|
{ "voice": string, "speakingRate": number } |
| 필드 | |
|---|---|
voice |
선택사항. 음성 이름입니다. 설정하지 않으면 서비스는 language_code와 같은 다른 매개변수를 기반으로 음성을 선택합니다. 사용 가능한 음성 목록은 Cloud Text-to-Speech의 지원되는 음성 및 언어를 참고하세요. |
speakingRate |
선택사항입니다. 말하기 속도로 범위는 [0.25, 2.0]입니다. 1.0은 특정 음성에서 지원하는 일반적인 기본 속도입니다. 2.0은 기본 속도의 2배이며 0.5는 절반입니다. [0.25, 2.0] 범위를 벗어난 값은 오류를 반환합니다. |
BargeInConfig
| JSON 표현 |
|---|
{ "disableBargeIn": boolean, "bargeInAwareness": boolean } |
| 필드 | |
|---|---|
disableBargeIn |
선택사항입니다. 상담사가 말하는 동안 사용자의 끼어들기를 사용 중지합니다. true인 경우 에이전트 응답 재생 중 사용자 입력이 무시됩니다. 지원 중단됨: ChannelProfile에서 |
bargeInAwareness |
선택사항입니다. 사용 설정된 경우 상담사는 사용자가 이전 상담사 메시지를 완전히 듣지 않았다는 가정에 따라 다음 응답을 조정합니다. 에이전트 응답이 시각적으로 표시되는 시나리오에서는 사용하면 안 됩니다. |
기간
| JSON 표현 |
|---|
{ "seconds": string, "nanos": integer } |
| 필드 | |
|---|---|
seconds |
시간 범위의 부호가 있는 초입니다. -315,576,000,000~+315,576,000,000(포함) 사이여야 합니다. 참고: 이 범위는 60초/분 * 60분/시간 * 24시간/일 * 365.25일/년 * 10,000년에서 계산됩니다. |
nanos |
시간 범위의 나노초 단위의 부호가 있는 초수입니다. 1초 미만의 기간은 0 |
AmbientSoundConfig
| JSON 표현 |
|---|
{ "volumeGainDb": number, // Union field |
| 필드 | |
|---|---|
volumeGainDb |
선택사항입니다. 주변 소음으로 지원되는 일반 기본 볼륨의 볼륨 게인 (dB)입니다. 범위는 [-96.0, 16.0]입니다. 값을 설정하지 않거나 0.0(dB)으로 설정하면 일반적인 기본 신호 진폭에서 재생됩니다. 값이 -6.0(dB)이면 일반적인 기본 신호 진폭의 약 절반에서 재생됩니다. 값이 +6.0(dB)이면 일반적인 기본 신호 진폭의 약 두 배에서 재생됩니다. +10(dB)을 초과하는 값을 사용하지 않는 것이 좋습니다. 값이 +10을 초과하면 일반적으로 소리가 커지는 효과가 없기 때문입니다. |
통합 필드 source. 대화의 자연스러움을 높이기 위해 합성된 에이전트 응답과 함께 재생되는 주변 소음입니다. source은 다음 중 하나여야 합니다. |
|
prebuiltAmbientNoise |
선택사항입니다. 지원 중단됨: |
gcsUri |
선택사항입니다. Cloud Storage에 저장된 모노 채널, 16kHz WAV 파일 형식의 주변 소음 참고: CES 서비스 에이전트 |
prebuiltAmbientSound |
선택사항입니다. 미리 빌드된 주변 소리의 이름입니다. 유효한 값은 다음과 같습니다. - '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 |
선택사항입니다. 오디오 상호작용을 녹음하는 방식에 관한 구성입니다. |
bigqueryExportSettings |
선택사항입니다. 앱의 BigQuery 내보내기 동작을 설명하는 설정입니다. 사용 설정된 경우 대화 데이터가 BigQuery 테이블로 내보내집니다. |
cloudLoggingSettings |
선택사항입니다. 앱의 Cloud Logging 동작을 설명하는 설정입니다. |
conversationLoggingSettings |
선택사항입니다. 앱의 대화 로깅 동작을 설명하는 설정입니다. |
evaluationAudioRecordingConfig |
선택사항입니다. 평가를 위해 오디오 상호작용을 녹음하는 방식에 관한 구성입니다. 기본적으로 평가 세션에는 오디오 녹음이 사용 설정되어 있지 않습니다. |
metricAnalysisSettings |
선택사항입니다. 앱의 LLM 분석 파이프라인의 대화 데이터 수집 동작을 설명하는 설정입니다. |
RedactionConfig
| JSON 표현 |
|---|
{ "enableRedaction": boolean, "inspectTemplate": string, "deidentifyTemplate": string } |
| 필드 | |
|---|---|
enableRedaction |
선택사항입니다. true인 경우 대화 기록, Cloud Logging, 오디오 녹음 등 다양한 로깅 시나리오에 수정이 적용됩니다. |
inspectTemplate |
선택사항입니다. 민감한 정보 유형의 감지를 구성하는 DLP 검사 템플릿 이름입니다. 형식: |
deidentifyTemplate |
선택사항입니다. 콘텐츠를 익명화하는 방법을 안내하는 DLP 익명화 템플릿 이름입니다. 형식: |
AudioRecordingConfig
| JSON 표현 |
|---|
{ "gcsBucket": string, "gcsPathPrefix": string } |
| 필드 | |
|---|---|
gcsBucket |
선택사항입니다. 세션 오디오 녹음을 저장할 Cloud Storage 버킷입니다. URI는 'gs://'로 시작해야 합니다. 데이터 상주 요구사항을 충족하는 버킷 위치를 선택하세요. 참고: Cloud Storage 버킷이 앱과 다른 프로젝트에 있는 경우 CES 서비스 에이전트 |
gcsPathPrefix |
선택사항입니다. 오디오 녹음 파일의 Cloud Storage 경로 접두사입니다. 이 접두사에는 게재 시간에 동적으로 대체되는 다음 자리표시자가 포함될 수 있습니다. - $project: 프로젝트 ID - $location: 앱 위치 - $app: 앱 ID - $date: YYYY-MM-DD 형식의 세션 날짜 - $session: 세션 ID 경로 접두사를 지정하지 않으면 기본 접두사 |
BigQueryExportSettings
| JSON 표현 |
|---|
{ "enabled": boolean, "project": string, "dataset": string } |
| 필드 | |
|---|---|
enabled |
선택사항입니다. BigQuery 내보내기가 사용 설정되어 있는지 여부를 나타냅니다. |
project |
선택사항입니다. 데이터를 내보낼 BigQuery 데이터 세트의 프로젝트 ID입니다. 참고: BigQuery 데이터 세트가 앱과 다른 프로젝트에 있는 경우 CES 서비스 에이전트 |
dataset |
선택사항입니다. 데이터를 내보낼 BigQuery 데이터 세트입니다. |
CloudLoggingSettings
| JSON 표현 |
|---|
{ "enableCloudLogging": boolean } |
| 필드 | |
|---|---|
enableCloudLogging |
선택사항입니다. 세션에 Cloud Logging을 사용 설정할지 여부입니다. |
ConversationLoggingSettings
| JSON 표현 |
|---|
{ "disableConversationLogging": boolean } |
| 필드 | |
|---|---|
disableConversationLogging |
선택사항입니다. 세션의 대화 로깅을 사용 중지할지 여부입니다. |
MetricAnalysisSettings
| JSON 표현 |
|---|
{ "llmMetricsOptedOut": boolean } |
| 필드 | |
|---|---|
llmMetricsOptedOut |
선택사항입니다. llm 분석 측정항목을 위해 대화 데이터를 수집할지 여부입니다. true인 경우 llm 분석 측정항목에 대한 대화 데이터가 수집되지 않습니다. 그렇지 않으면 대화 데이터가 수집됩니다. |
ErrorHandlingSettings
| JSON 표현 |
|---|
{
"errorHandlingStrategy": enum ( |
| 필드 | |
|---|---|
errorHandlingStrategy |
선택사항입니다. 오류 처리에 사용할 전략입니다. |
ModelSettings
| JSON 표현 |
|---|
{ "model": string, // Union field |
| 필드 | |
|---|---|
model |
선택사항입니다. 에이전트가 사용해야 하는 LLM 모델입니다. 설정하지 않으면 에이전트가 상위 에이전트의 모델을 상속합니다. |
통합 필드
|
|
temperature |
선택사항입니다. 설정된 경우 이 온도가 LLM 모델에 사용됩니다. 온도는 모델 응답의 무작위성을 제어합니다. 온도가 낮을수록 더 예측 가능한 대답이 생성됩니다. 온도가 높을수록 더 창의적인 대답이 생성됩니다. |
EvaluationMetricsThresholds
| JSON 표현 |
|---|
{ "goldenEvaluationMetricsThresholds": { object ( |
| 필드 | |
|---|---|
goldenEvaluationMetricsThresholds |
선택사항입니다. 핵심 평가 측정항목 기준입니다. |
hallucinationMetricBehavior |
선택사항입니다. 지원 중단됨: 대신 |
goldenHallucinationMetricBehavior |
선택사항입니다. 골든 평가의 허위 정보 측정항목 동작입니다. |
scenarioHallucinationMetricBehavior |
선택사항입니다. 시나리오 평가의 허위 정보 측정항목 동작입니다. |
GoldenEvaluationMetricsThresholds
| JSON 표현 |
|---|
{ "turnLevelMetricsThresholds": { object ( |
| 필드 | |
|---|---|
turnLevelMetricsThresholds |
선택사항입니다. 턴 수준 측정항목 기준점입니다. |
expectationLevelMetricsThresholds |
선택사항입니다. 기대 수준 측정항목 기준점입니다. |
toolMatchingSettings |
선택사항입니다. 도구 매칭 설정입니다. 추가 도구 호출은 실행에 있지만 골든 기대치에 있는 도구 호출과 일치하지 않는 도구 호출입니다. |
TurnLevelMetricsThresholds
| JSON 표현 |
|---|
{ "semanticSimilarityChannel": enum ( |
| 필드 | |
|---|---|
semanticSimilarityChannel |
선택사항입니다. 평가에 사용할 시맨틱 유사성 채널입니다. |
통합 필드
|
|
semanticSimilaritySuccessThreshold |
선택사항입니다. 의미론적 유사성의 성공 기준입니다. 0에서 4 사이의 정수여야 합니다. 기본값은 3 이상입니다. |
통합 필드
|
|
overallToolInvocationCorrectnessThreshold |
선택사항입니다. 전반적인 도구 호출 정확성의 성공 기준입니다. 0과 1 사이의 부동 소수점이어야 합니다. 기본값은 1.0입니다. |
ExpectationLevelMetricsThresholds
| JSON 표현 |
|---|
{ // Union field |
| 필드 | |
|---|---|
통합 필드
|
|
toolInvocationParameterCorrectnessThreshold |
선택사항입니다. 개별 도구 호출 매개변수 정확성의 성공 기준입니다. 0과 1 사이의 부동 소수점이어야 합니다. 기본값은 1.0입니다. |
ToolMatchingSettings
| JSON 표현 |
|---|
{
"extraToolCallBehavior": enum ( |
| 필드 | |
|---|---|
extraToolCallBehavior |
선택사항입니다. 추가 도구 호출의 동작입니다. 기본값은 FAIL입니다. |
VariableDeclaration
| JSON 표현 |
|---|
{
"name": string,
"description": string,
"schema": {
object ( |
| 필드 | |
|---|---|
name |
필수 항목입니다. 변수의 이름입니다. 이름은 문자 또는 밑줄로 시작해야 하며 문자, 숫자, 밑줄만 포함할 수 있습니다. |
description |
필수 항목입니다. 변수에 대한 설명입니다. |
schema |
필수 항목입니다. 변수의 스키마입니다. |
스키마
| JSON 표현 |
|---|
{ "type": enum ( |
| 필드 | |
|---|---|
type |
필수 항목입니다. 데이터 유형입니다. |
properties |
선택사항입니다. Type.OBJECT의 속성입니다.
|
required[] |
선택사항입니다. Type.OBJECT의 필수 속성입니다. |
description |
선택사항입니다. 데이터의 설명입니다. |
items |
선택사항입니다. Type.ARRAY 요소의 스키마입니다. |
nullable |
선택사항입니다. null 값을 나타냅니다. |
uniqueItems |
선택사항입니다. 배열의 항목이 고유해야 함을 나타냅니다. TYPE.ARRAY에만 적용됩니다. |
prefixItems[] |
선택사항입니다. Type.ARRAY의 초기 요소 스키마입니다. |
additionalProperties |
선택사항입니다. 불리언 또는 객체일 수 있으며 추가 속성의 존재를 제어합니다. |
anyOf[] |
선택사항입니다. 값은 목록에 있는 하위 스키마 중 하나 이상에 대해 검증되어야 합니다. |
enum[] |
선택사항입니다. enum 형식의 기본 유형 요소의 가능한 값입니다. 예: 1. 방향을 {type:STRING, format:enum, enum:["EAST", NORTH", "SOUTH", "WEST"]}로 정의할 수 있습니다. 2. 아파트 번호를 {type:INTEGER, format:enum, enum:["101", "201", "301"]}로 정의할 수 있습니다. |
default |
선택사항입니다. 데이터의 기본값입니다. |
ref |
선택사항입니다. 스키마 노드 간의 간접 참조를 허용합니다. 값은 루트 예를 들어 다음 스키마는 'Pet'이라는 스키마 노드에 대한 참조를 정의합니다. 'pet' 속성의 값은 'Pet'이라는 스키마 노드를 참조합니다. 자세한 내용은 https://json-schema.org/understanding-json-schema/structuring을 참고하세요. |
defs |
선택사항입니다.
|
title |
선택사항입니다. 스키마의 제목입니다. |
minItems |
선택사항입니다. Type.ARRAY의 최소 요소 수입니다. |
maxItems |
선택사항입니다. Type.ARRAY의 최대 요소 수입니다. |
통합 필드
|
|
minimum |
선택사항입니다. Type.INTEGER 및 Type.NUMBER의 최솟값입니다. |
통합 필드
|
|
maximum |
선택사항입니다. Type.INTEGER 및 Type.NUMBER의 최댓값입니다. |
PropertiesEntry
| JSON 표현 |
|---|
{
"key": string,
"value": {
object ( |
| 필드 | |
|---|---|
key |
|
value |
|
값
| JSON 표현 |
|---|
{ // Union field |
| 필드 | |
|---|---|
통합 필드 kind. 값의 종류입니다. kind은 다음 중 하나여야 합니다. |
|
nullValue |
null 값을 나타냅니다. |
numberValue |
double 값을 나타냅니다. |
stringValue |
문자열 값을 나타냅니다. |
boolValue |
불리언 값을 나타냅니다. |
structValue |
구조화된 값을 나타냅니다. |
listValue |
반복되는 |
구조체
| JSON 표현 |
|---|
{ "fields": { string: value, ... } } |
| 필드 | |
|---|---|
fields |
동적으로 입력된 값의 순서가 지정되지 않은 맵입니다.
|
FieldsEntry
| JSON 표현 |
|---|
{ "key": string, "value": value } |
| 필드 | |
|---|---|
key |
|
value |
|
ListValue
| JSON 표현 |
|---|
{ "values": [ value ] } |
| 필드 | |
|---|---|
values[] |
동적으로 입력된 값의 반복 필드입니다. |
DefsEntry
| JSON 표현 |
|---|
{
"key": string,
"value": {
object ( |
| 필드 | |
|---|---|
key |
|
value |
|
DataStoreSettings
| JSON 표현 |
|---|
{
"engines": [
{
object ( |
| 필드 | |
|---|---|
engines[] |
출력 전용입니다. 앱의 엔진입니다. |
엔진
| JSON 표현 |
|---|
{
"name": string,
"type": enum ( |
| 필드 | |
|---|---|
name |
출력 전용입니다. 엔진의 리소스 이름입니다. 형식: |
type |
출력 전용입니다. 엔진 유형입니다. |
ChannelProfile
| JSON 표현 |
|---|
{ "profileId": string, "channelType": enum ( |
| 필드 | |
|---|---|
profileId |
선택사항입니다. 채널 프로필의 고유 식별자입니다. |
channelType |
선택사항입니다. 채널 프로필 유형입니다. |
personaProperty |
선택사항입니다. 채널 프로필의 페르소나 속성입니다. |
disableDtmf |
선택사항입니다. DTMF (듀얼 톤 다중 주파수)를 사용 중지할지 여부입니다. |
disableBargeInControl |
선택사항입니다. 대화에서 사용자 끼어들기 제어를 사용 중지할지 여부입니다. - true: 에이전트가 말하는 동안 사용자 중단이 사용 중지됩니다. - false: 사용자가 언제 중단할 수 있는지에 대한 자동 제어가 에이전트에 유지됩니다. |
webWidgetConfig |
선택사항입니다. 웹 위젯의 구성입니다. |
noiseSuppressionLevel |
선택사항입니다. 채널 프로필의 노이즈 제거 수준입니다. 사용 가능한 값은 'low', 'moderate', 'high', 'very_high'입니다. |
PersonaProperty
| JSON 표현 |
|---|
{
"persona": enum ( |
| 필드 | |
|---|---|
persona |
선택사항입니다. 채널의 페르소나입니다. |
WebWidgetConfig
| JSON 표현 |
|---|
{ "modality": enum ( |
| 필드 | |
|---|---|
modality |
선택사항입니다. 웹 위젯의 모달리티입니다. |
theme |
선택사항입니다. 웹 위젯의 테마입니다. |
webWidgetTitle |
선택사항입니다. 웹 위젯의 제목입니다. |
securitySettings |
선택사항입니다. 웹 위젯의 보안 설정입니다. |
SecuritySettings
| JSON 표현 |
|---|
{ "enablePublicAccess": boolean, "enableOriginCheck": boolean, "allowedOrigins": [ string ], "enableRecaptcha": boolean } |
| 필드 | |
|---|---|
enablePublicAccess |
선택사항입니다. 웹 위젯에 대한 공개 액세스가 사용 설정되어 있는지 여부를 나타냅니다. |
enableOriginCheck |
선택사항입니다. 웹 위젯의 출처 확인이 사용 설정되었는지 나타냅니다. |
allowedOrigins[] |
선택사항입니다. 웹 위젯을 호스팅할 수 있는 출처입니다. 출처는 RFC 6454에 의해 정의됩니다. 비어 있으면 모든 출처가 허용됩니다. 최대 100개의 출처가 허용됩니다. 예: 'https://example.com' |
enableRecaptcha |
선택사항입니다. 웹 위젯의 reCAPTCHA 인증이 사용 설정되어 있는지 여부를 나타냅니다. |
MetadataEntry
| JSON 표현 |
|---|
{ "key": string, "value": string } |
| 필드 | |
|---|---|
key |
|
value |
|
ClientCertificateSettings
| JSON 표현 |
|---|
{ "tlsCertificate": string, "privateKey": string, "passphrase": string } |
| 필드 | |
|---|---|
tlsCertificate |
필수 항목입니다. PEM 형식으로 인코딩된 TLS 인증서입니다. 이 문자열에는 시작 헤더와 종료 바닥글 줄이 포함되어야 합니다. |
privateKey |
필수 항목입니다. PEM 형식으로 인코딩된 비공개 키를 저장하는 SecretManager 보안 비밀 버전 리소스의 이름입니다. 형식: |
passphrase |
선택사항입니다. 비공개 키를 복호화하는 암호를 저장하는 SecretManager 보안 비밀 버전 리소스의 이름입니다. 비공개 키가 암호화되지 않은 경우 설정되지 않은 상태로 두어야 합니다. 형식: |
에이전트
| JSON 표현 |
|---|
{ "name": string, "displayName": string, "description": string, "modelSettings": { object ( |
| 필드 | |
|---|---|
name |
식별자. 에이전트의 고유 식별자입니다. 형식: |
displayName |
필수 항목입니다. 에이전트의 표시 이름입니다. |
description |
선택사항입니다. 인간이 읽을 수 있는 에이전트 설명입니다. |
modelSettings |
선택사항입니다. LLM 모델의 구성입니다. |
instruction |
선택사항입니다. 에이전트의 동작을 안내하는 LLM 모델의 요청 사항입니다. |
tools[] |
선택사항입니다. 에이전트에서 사용할 수 있는 도구 목록입니다. 형식: |
childAgents[] |
선택사항입니다. 에이전트 트리의 하위 에이전트 목록입니다. 형식: |
beforeAgentCallbacks[] |
선택사항입니다. 에이전트가 호출되기 전에 실행할 콜백입니다. 제공된 콜백은 목록에 제공된 정확한 순서대로 순차적으로 실행됩니다. 콜백이 재정의된 응답을 반환하면 실행이 중지되고 남은 콜백은 건너뜁니다. |
afterAgentCallbacks[] |
선택사항입니다. 에이전트가 호출된 후 실행할 콜백입니다. 제공된 콜백은 목록에 제공된 정확한 순서대로 순차적으로 실행됩니다. 콜백이 재정의된 응답을 반환하면 실행이 중지되고 남은 콜백은 건너뜁니다. |
beforeModelCallbacks[] |
선택사항입니다. 모델이 호출되기 전에 실행할 콜백입니다. 모델에 대한 호출이 여러 개 있는 경우 콜백이 여러 번 실행됩니다. 제공된 콜백은 목록에 제공된 정확한 순서대로 순차적으로 실행됩니다. 콜백이 재정의된 응답을 반환하면 실행이 중지되고 남은 콜백은 건너뜁니다. |
afterModelCallbacks[] |
선택사항입니다. 모델이 호출된 후 실행할 콜백입니다. 모델에 대한 호출이 여러 개 있는 경우 콜백이 여러 번 실행됩니다. 제공된 콜백은 목록에 제공된 정확한 순서대로 순차적으로 실행됩니다. 콜백이 재정의된 응답을 반환하면 실행이 중지되고 남은 콜백은 건너뜁니다. |
beforeToolCallbacks[] |
선택사항입니다. 도구가 호출되기 전에 실행할 콜백입니다. 도구 호출이 여러 개 있는 경우 콜백이 여러 번 실행됩니다. 제공된 콜백은 목록에 제공된 정확한 순서대로 순차적으로 실행됩니다. 콜백이 재정의된 응답을 반환하면 실행이 중지되고 남은 콜백은 건너뜁니다. |
afterToolCallbacks[] |
선택사항입니다. 도구가 호출된 후 실행할 콜백입니다. 도구 호출이 여러 개 있는 경우 콜백이 여러 번 실행됩니다. 제공된 콜백은 목록에 제공된 정확한 순서대로 순차적으로 실행됩니다. 콜백이 재정의된 응답을 반환하면 실행이 중지되고 남은 콜백은 건너뜁니다. |
createTime |
출력 전용입니다. 에이전트가 생성된 타임스탬프입니다. 생성된 출력은 항상 Z-정규화되고 소수점 이하 0, 3, 6 또는 9자리인 RFC 3339를 사용합니다. 'Z' 이외의 오프셋도 허용됩니다. 예를 들면 |
updateTime |
출력 전용입니다. 에이전트가 마지막으로 업데이트된 타임스탬프입니다. 생성된 출력은 항상 Z-정규화되고 소수점 이하 0, 3, 6 또는 9자리인 RFC 3339를 사용합니다. 'Z' 이외의 오프셋도 허용됩니다. 예를 들면 |
guardrails[] |
선택사항입니다. 에이전트의 가드레일 목록입니다. 형식: |
etag |
읽기-수정-쓰기 작업 중에 객체가 변경되지 않았는지 확인하는 데 사용되는 Etag입니다. etag가 비어 있으면 업데이트가 동시에 발생한 변경사항을 덮어씁니다. |
toolsets[] |
선택사항입니다. 에이전트의 도구 세트 목록입니다. |
generatedSummary |
출력 전용입니다. 에이전트가 LLM 어시스턴트에 의해 생성된 경우 이 필드에는 생성에 관한 설명 요약이 포함됩니다. |
transferRules[] |
선택사항입니다. 상담사 트랜스퍼 규칙입니다. 일치하는 규칙이 여러 개 있으면 목록의 첫 번째 규칙이 사용됩니다. |
통합 필드 agent_type. 에이전트 유형입니다. agent_type은 다음 중 하나여야 합니다. |
|
llmAgent |
선택사항입니다. 기본 에이전트 유형입니다. |
remoteDialogflowAgent |
선택사항입니다. 에이전트 실행에 사용할 원격 Dialogflow 에이전트입니다. 이 필드가 설정되면 다른 모든 상담사 수준 속성은 무시됩니다. 참고: Dialogflow 에이전트가 앱과 다른 프로젝트에 있는 경우 CES 서비스 에이전트 |
RemoteDialogflowAgent
| JSON 표현 |
|---|
{ "agent": string, "flowId": string, "environmentId": string, "inputVariableMapping": { string: string, ... }, "outputVariableMapping": { string: string, ... }, "respectResponseInterruptionSettings": boolean } |
| 필드 | |
|---|---|
agent |
필수 항목입니다. Dialogflow 에이전트 리소스 이름입니다. 형식: |
flowId |
선택사항입니다. Dialogflow 에이전트의 흐름 ID입니다. |
environmentId |
선택사항입니다. 에이전트 실행에 사용할 Dialogflow 에이전트의 환경 ID입니다. 지정하지 않으면 초안 환경이 사용됩니다. |
inputVariableMapping |
선택사항입니다. Dialogflow 에이전트에 입력으로 전송될 앱 변수 이름과 Dialogflow 세션 매개변수 이름의 매핑입니다.
|
outputVariableMapping |
선택사항입니다. Dialogflow 에이전트 실행이 종료된 후 CES 에이전트로 다시 전송될 Dialogflow 세션 파라미터 이름과 앱 변수 이름의 매핑입니다.
|
respectResponseInterruptionSettings |
선택사항입니다. Dialogflow 에이전트에서 구성된 메시지 수준 인터럽션 설정을 준수할지 여부를 나타냅니다.
|
InputVariableMappingEntry
| JSON 표현 |
|---|
{ "key": string, "value": string } |
| 필드 | |
|---|---|
key |
|
value |
|
OutputVariableMappingEntry
| JSON 표현 |
|---|
{ "key": string, "value": string } |
| 필드 | |
|---|---|
key |
|
value |
|
콜백
| JSON 표현 |
|---|
{ "description": string, "disabled": boolean, "proactiveExecutionEnabled": boolean, // Union field |
| 필드 | |
|---|---|
description |
선택사항입니다. 콜백에 대한 사람이 읽을 수 있는 설명입니다. |
disabled |
선택사항입니다. 콜백이 사용 중지되었는지 여부입니다. 사용 중지된 콜백은 에이전트에서 무시됩니다. |
proactiveExecutionEnabled |
선택사항입니다. 사용 설정된 경우 콜백은 중간 모델 출력에서도 실행됩니다. 이 설정은 모델 콜백 후에만 영향을 미칩니다. 주의해서 사용 설정 일반적으로 모델 콜백은 모든 모델 응답을 받은 후에만 실행하면 됩니다. 사전 실행을 사용 설정하면 실행 비용과 지연 시간에 부정적인 영향을 미칠 수 있으므로 드문 경우에만 사용 설정해야 합니다. |
통합 필드 callback. 실행할 콜백입니다. callback은 다음 중 하나여야 합니다. |
|
pythonCode |
필수 항목입니다. 콜백을 위해 실행할 Python 코드입니다. |
AgentToolset
| JSON 표현 |
|---|
{ "toolset": string, "toolIds": [ string ] } |
| 필드 | |
|---|---|
toolset |
필수 항목입니다. 툴셋의 리소스 이름입니다. 형식: |
toolIds[] |
선택사항입니다. 도구 세트를 필터링할 도구 ID입니다. |
TransferRule
| JSON 표현 |
|---|
{ "childAgent": string, "direction": enum ( |
| 필드 | |
|---|---|
childAgent |
필수 항목입니다. 규칙이 적용되는 하위 에이전트의 리소스 이름입니다. 형식: |
direction |
필수 항목입니다. 전송 방향입니다. |
통합 필드 rule_type. 규칙 유형입니다. rule_type은 다음 중 하나여야 합니다. |
|
deterministicTransfer |
선택사항입니다. 조건이 충족되면 즉시 타겟 상담사에게 트랜스퍼되는 규칙입니다. |
disablePlannerTransfer |
선택사항입니다. 계획자가 타겟 에이전트로 트랜스퍼되지 않도록 하는 규칙입니다. |
DeterministicTransfer
| JSON 표현 |
|---|
{ // Union field |
| 필드 | |
|---|---|
통합 필드 condition_type. 평가할 조건입니다. condition_type은 다음 중 하나여야 합니다. |
|
expressionCondition |
선택사항입니다. 세션 상태 조건을 평가하는 규칙입니다. 조건이 true로 평가되면 전송이 발생합니다. |
pythonCodeCondition |
선택사항입니다. Python 코드 블록을 사용하여 조건을 평가하는 규칙 조건이 true로 평가되면 전송이 발생합니다. |
ExpressionCondition
| JSON 표현 |
|---|
{ "expression": string } |
| 필드 | |
|---|---|
expression |
필수 항목입니다. cloud.api.Expression 조건의 문자열 표현입니다. |
PythonCodeCondition
| JSON 표현 |
|---|
{ "pythonCode": string } |
| 필드 | |
|---|---|
pythonCode |
필수 항목입니다. 실행할 Python 코드입니다. |
DisablePlannerTransfer
| JSON 표현 |
|---|
{
"expressionCondition": {
object ( |
| 필드 | |
|---|---|
expressionCondition |
필수 항목입니다. 조건이 true로 평가되면 플래너가 타겟 상담사에게 트랜스퍼할 수 없습니다. |
도구
| JSON 표현 |
|---|
{ "name": string, "displayName": string, "executionType": enum ( |
| 필드 | |
|---|---|
name |
식별자. 도구의 고유 식별자입니다. 형식: -
|
displayName |
출력 전용입니다. 도구의 유형에 따라 파생된 도구의 표시 이름입니다. 예를 들어 [ClientFunction][Tool.ClientFunction] 의 표시 이름은 |
executionType |
선택사항입니다. 도구의 실행 유형입니다. |
createTime |
출력 전용입니다. 도구가 생성된 타임스탬프입니다. 생성된 출력은 항상 Z-정규화되고 소수점 이하 0, 3, 6 또는 9자리인 RFC 3339를 사용합니다. 'Z' 이외의 오프셋도 허용됩니다. 예를 들면 |
updateTime |
출력 전용입니다. 도구가 마지막으로 업데이트된 타임스탬프입니다. 생성된 출력은 항상 Z-정규화되고 소수점 이하 0, 3, 6 또는 9자리인 RFC 3339를 사용합니다. 'Z' 이외의 오프셋도 허용됩니다. 예를 들면 |
etag |
읽기-수정-쓰기 작업 중에 객체가 변경되지 않았는지 확인하는 데 사용되는 Etag입니다. etag가 비어 있으면 업데이트가 동시에 발생한 변경사항을 덮어씁니다. |
generatedSummary |
출력 전용입니다. 도구가 LLM 어시스턴트에 의해 생성된 경우 이 필드에는 생성에 관한 설명 요약이 포함됩니다. |
toolFakeConfig |
선택사항입니다. 가짜 모드에서 도구 동작의 구성입니다. |
통합 필드 tool_type. 도구 유형입니다. tool_type은 다음 중 하나여야 합니다. |
|
clientFunction |
선택사항입니다. 클라이언트 함수입니다. |
openApiTool |
선택사항입니다. 개방형 API 도구 |
googleSearchTool |
선택사항입니다. Google 검색 도구입니다. |
connectorTool |
선택사항입니다. Integration Connector 도구 |
dataStoreTool |
선택사항입니다. 데이터 스토어 도구입니다. |
pythonFunction |
선택사항입니다. Python 함수 도구입니다. |
mcpTool |
선택사항입니다. MCP 도구 MCP 도구는 직접 만들거나 업데이트할 수 없으며 MCP 도구 세트에서 관리합니다. |
fileSearchTool |
선택사항입니다. 파일 검색 도구 |
systemTool |
선택사항입니다. 시스템 도구 |
widgetTool |
선택사항입니다. 위젯 도구 |
ClientFunction
| JSON 표현 |
|---|
{ "name": string, "description": string, "parameters": { object ( |
| 필드 | |
|---|---|
name |
필수 항목입니다. 함수 이름입니다. |
description |
선택사항입니다. 함수 설명입니다. |
parameters |
선택사항입니다. 함수 파라미터의 스키마입니다. |
response |
선택사항입니다. 함수 응답의 스키마입니다. |
OpenApiTool
| JSON 표현 |
|---|
{ "openApiSchema": string, "name": string, "description": string, "apiAuthentication": { object ( |
| 필드 | |
|---|---|
openApiSchema |
필수 항목입니다. JSON 또는 YAML 형식의 OpenAPI 스키마입니다. |
name |
선택사항입니다. 도구의 이름입니다. 제공되지 않으면 도구의 이름이 OpenAPI 스키마에서 |
description |
선택사항입니다. 도구에 대한 설명입니다. 제공되지 않으면 도구 설명이 OpenAPI 스키마, |
apiAuthentication |
선택사항입니다. API에 필요한 인증 정보입니다. |
tlsConfig |
선택사항입니다. TLS 구성입니다. 클라이언트가 신뢰할 맞춤 서버 인증서를 포함합니다. |
serviceDirectoryConfig |
선택사항입니다. 서비스 디렉터리 구성입니다. |
ignoreUnknownFields |
선택사항입니다. true인 경우 에이전트는 API 응답에서 알 수 없는 필드를 무시합니다. |
url |
선택사항입니다. Open API 스키마의 서버 URL입니다. 이 필드는 스키마에 서버 URL이 포함된 경우 내보내기 프로세스 중에 환경 종속 항목의 도구에만 설정됩니다. 가져오기 프로세스 중에 이 URL이 환경 종속 항목에 있고 스키마에 $env_var 자리표시자가 있으면 스키마의 자리표시자를 대체합니다. |
ApiAuthentication
| JSON 표현 |
|---|
{ // Union field |
| 필드 | |
|---|---|
통합 필드 auth_config. 인증 구성입니다. auth_config은 다음 중 하나여야 합니다. |
|
apiKeyConfig |
선택사항입니다. API 키 인증 구성입니다. |
oauthConfig |
선택사항입니다. OAuth 구성입니다. |
serviceAgentIdTokenAuthConfig |
선택사항입니다. CES 서비스 에이전트에서 생성된 ID 토큰 인증 구성입니다. |
serviceAccountAuthConfig |
선택사항입니다. 서비스 계정 인증 구성입니다. |
bearerTokenConfig |
선택사항입니다. Bearer 토큰 인증 구성입니다. |
ApiKeyConfig
| JSON 표현 |
|---|
{
"keyName": string,
"apiKeySecretVersion": string,
"requestLocation": enum ( |
| 필드 | |
|---|---|
keyName |
필수 항목입니다. API 키의 매개변수 이름 또는 헤더 이름입니다. 예: API 요청이 'https://example.com/act?X-Api-Key= |
apiKeySecretVersion |
필수 항목입니다. API 키를 저장하는 SecretManager 보안 비밀 버전 리소스의 이름입니다. 형식: 참고: CES 서비스 에이전트 |
requestLocation |
필수 항목입니다. 요청의 키 위치입니다. |
OAuthConfig
| JSON 표현 |
|---|
{
"oauthGrantType": enum ( |
| 필드 | |
|---|---|
oauthGrantType |
필수 항목입니다. OAuth 부여 유형입니다. |
clientId |
필수 항목입니다. OAuth 제공업체의 클라이언트 ID입니다. |
clientSecretVersion |
필수 항목입니다. 클라이언트 보안 비밀번호를 저장하는 SecretManager 보안 비밀 버전 리소스의 이름입니다. 형식: 참고: CES 서비스 에이전트 |
tokenEndpoint |
필수 항목입니다. 액세스 토큰으로 교환할 OAuth 제공자의 토큰 엔드포인트입니다. |
scopes[] |
선택사항입니다. 부여할 OAuth 범위입니다. |
ServiceAccountAuthConfig
| JSON 표현 |
|---|
{ "serviceAccount": string, "scopes": [ string ] } |
| 필드 | |
|---|---|
serviceAccount |
필수 항목입니다. 인증에 사용되는 서비스 계정의 이메일 주소입니다. CES는 이 서비스 계정을 사용하여 액세스 토큰을 교환하며 액세스 토큰은 요청의 서비스 계정에는 CES 서비스 에이전트 |
scopes[] |
선택사항입니다. 부여할 OAuth 범위입니다. 지정하지 않으면 기본 범위 |
BearerTokenConfig
| JSON 표현 |
|---|
{ "token": string } |
| 필드 | |
|---|---|
token |
필수 항목입니다. Bearer 토큰입니다. |
TlsConfig
| JSON 표현 |
|---|
{
"caCerts": [
{
object ( |
| 필드 | |
|---|---|
caCerts[] |
필수 항목입니다. HTTPS 확인을 위해 허용된 맞춤 CA 인증서 목록을 지정합니다. |
CaCert
| JSON 표현 |
|---|
{ "displayName": string, "cert": string } |
| 필드 | |
|---|---|
displayName |
필수 항목입니다. 허용된 맞춤 CA 인증서의 이름입니다. 이는 커스텀 CA 인증서를 명확하게 구분하는 데 사용할 수 있습니다. |
cert |
필수 항목입니다. 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 |
필수 항목입니다. 서비스 디렉터리 서비스의 이름입니다. 형식은 |
GoogleSearchTool
| JSON 표현 |
|---|
{
"name": string,
"description": string,
"contextUrls": [
string
],
"preferredDomains": [
string
],
"excludeDomains": [
string
],
"promptConfig": {
object ( |
| 필드 | |
|---|---|
name |
필수 항목입니다. 도구의 이름입니다. |
description |
선택사항입니다. 도구의 목적에 관한 설명입니다. |
contextUrls[] |
선택사항입니다. 콘텐츠는 컨텍스트와 그라운딩을 위해 이러한 URL에서 직접 가져옵니다. 예: 'https://example.com/path.html' URL은 최대 20개까지 허용됩니다. |
preferredDomains[] |
선택사항입니다. 검색 결과를 제한할 도메인을 지정합니다. 예: 'example.com', 'another.site' 최대 20개의 도메인을 지정할 수 있습니다. |
excludeDomains[] |
선택사항입니다. 검색 결과에서 제외할 도메인 목록입니다. 예: 'example.com' 최대 2,000개의 도메인을 제외할 수 있습니다. |
promptConfig |
선택사항입니다. 텍스트 및 음성에 대한 검색 결과를 처리하는 방법에 관해 플래너에 전달된 프롬프트 안내입니다. |
PromptConfig
| JSON 표현 |
|---|
{ "textPrompt": string, "voicePrompt": string } |
| 필드 | |
|---|---|
textPrompt |
선택사항입니다. 채팅 대화에서 에이전트와 상호작용할 때 시스템 안내에 사용되는 프롬프트를 정의합니다. 설정하지 않으면 기본 프롬프트가 사용됩니다. |
voicePrompt |
선택사항입니다. 음성 대화에서 에이전트와 상호작용할 때 시스템 안내에 사용되는 프롬프트를 정의합니다. 설정하지 않으면 기본 프롬프트가 사용됩니다. |
ConnectorTool
| JSON 표현 |
|---|
{ "connection": string, "action": { object ( |
| 필드 | |
|---|---|
connection |
필수 항목입니다. 참조된 Integration Connectors Connection의 전체 리소스 이름입니다. 형식: |
action |
필수 항목입니다. 도구에서 사용할 작업입니다. |
authConfig |
선택사항입니다. Integration Connectors에서 인증이 처리되는 방식을 구성합니다. 기본적으로 관리자 인증은 Integration Connectors API 요청에 전달됩니다. 다른 최종 사용자 인증 구성으로 재정의할 수 있습니다. 참고: 여기에 EUC 구성을 지정하려면 연결에 인증 재정의가 사용 설정되어 있어야 합니다. 그렇지 않으면 ConnectorTool 생성이 실패합니다. 자세한 내용은 https://cloud.google.com/application-integration/docs/configure-connectors-task#configure-authentication-override를 참고하세요. |
name |
선택사항입니다. 에이전트가 이 ConnectorTool을 호출할지 여부를 결정하는 데 사용할 수 있는 도구의 이름입니다. |
description |
선택사항입니다. 에이전트가 이 ConnectorTool을 호출할지 여부를 결정하는 데 사용할 수 있는 도구의 설명입니다. |
작업
| JSON 표현 |
|---|
{ "inputFields": [ string ], "outputFields": [ string ], // Union field |
| 필드 | |
|---|---|
inputFields[] |
선택사항입니다. 작업의 입력으로 사용할 항목 필드입니다. 필드를 지정하지 않으면 엔티티의 모든 필드가 사용됩니다. |
outputFields[] |
선택사항입니다. 작업에서 반환할 항목 필드입니다. 필드를 지정하지 않으면 엔티티의 모든 필드가 반환됩니다. |
통합 필드 action_spec. 도구에서 사용할 작업을 구성하기 위한 사양입니다. action_spec은 다음 중 하나여야 합니다. |
|
connectionActionId |
도구에서 사용할 연결 작업의 ID입니다. |
entityOperation |
도구에서 사용할 항목 작업 구성입니다. |
EntityOperation
| JSON 표현 |
|---|
{
"entityId": string,
"operation": enum ( |
| 필드 | |
|---|---|
entityId |
필수 항목입니다. 항목의 ID입니다. |
operation |
필수 항목입니다. 항목에 대해 실행할 작업입니다. |
EndUserAuthConfig
| JSON 표현 |
|---|
{ // Union field |
| 필드 | |
|---|---|
통합 필드 auth_config. 인증 구성입니다. auth_config은 다음 중 하나여야 합니다. |
|
oauth2AuthCodeConfig |
OAuth 2.0 승인 코드 인증입니다. |
oauth2JwtBearerConfig |
JWT 프로필 OAuth 2.0 승인 부여 인증입니다. |
Oauth2AuthCodeConfig
| JSON 표현 |
|---|
{ "oauthToken": string } |
| 필드 | |
|---|---|
oauthToken |
필수 항목입니다. 통과할 OAuth 토큰 매개변수 이름입니다. |
Oauth2JwtBearerConfig
| JSON 표현 |
|---|
{ "issuer": string, "subject": string, "clientKey": string } |
| 필드 | |
|---|---|
issuer |
필수 항목입니다. 통과할 발급기관 매개변수 이름입니다. |
subject |
필수 항목입니다. 통과할 주제 매개변수 이름입니다. |
clientKey |
필수 항목입니다. 통과할 클라이언트 매개변수 이름입니다. |
DataStoreTool
| JSON 표현 |
|---|
{ "name": string, "description": string, "boostSpecs": [ { object ( |
| 필드 | |
|---|---|
name |
필수 항목입니다. 데이터 스토어 도구 이름입니다. |
description |
선택사항입니다. 도구 설명입니다. |
boostSpecs[] |
선택사항입니다. 특정 문서를 부스팅하는 부스트 사양입니다. |
modalityConfigs[] |
선택사항입니다. 데이터 스토어의 모달리티 구성입니다. |
filterParameterBehavior |
선택사항입니다. 필터 매개변수 동작입니다. |
통합 필드 search_source. 단일 DataStore 또는 엔진인 검색 소스를 정의합니다. search_source은 다음 중 하나여야 합니다. |
|
dataStoreSource |
선택사항입니다. 단일 특정 DataStore 내에서 검색합니다. |
engineSource |
선택사항입니다. 엔진 내에서 검색합니다 (여러 데이터 스토어에 걸쳐 검색할 수 있음). |
DataStoreSource
| JSON 표현 |
|---|
{
"filter": string,
"dataStore": {
object ( |
| 필드 | |
|---|---|
filter |
선택사항입니다. DataStore의 필터 사양입니다. 참고: https://cloud.google.com/generative-ai-app-builder/docs/filter-search-metadata |
dataStore |
선택사항입니다. 데이터 스토어입니다. |
DataStore
| JSON 표현 |
|---|
{ "name": string, "type": enum ( |
| 필드 | |
|---|---|
name |
필수 항목입니다. DataStore의 전체 리소스 이름입니다. 형식: |
type |
출력 전용입니다. 데이터 스토어의 유형입니다. 이 필드는 읽기 전용이며 서버에서 채워집니다. |
documentProcessingMode |
출력 전용입니다. 데이터 스토어 연결의 문서 처리 모드입니다. PUBLIC_WEB 및 UNSTRUCTURED 데이터 스토어에만 설정됩니다. |
displayName |
출력 전용입니다. 데이터 스토어의 표시 이름입니다. |
createTime |
출력 전용입니다. 데이터 스토어가 생성된 타임스탬프입니다. 생성된 출력은 항상 Z-정규화되고 소수점 이하 0, 3, 6 또는 9자리인 RFC 3339를 사용합니다. 'Z' 이외의 오프셋도 허용됩니다. 예를 들면 |
connectorConfig |
출력 전용입니다. 데이터 스토어 연결의 커넥터 구성입니다. |
ConnectorConfig
| JSON 표현 |
|---|
{ "collection": string, "collectionDisplayName": string, "dataSource": string } |
| 필드 | |
|---|---|
collection |
데이터 스토어가 속한 컬렉션의 리소스 이름입니다. |
collectionDisplayName |
데이터 스토어가 속한 컬렉션의 표시 이름입니다. |
dataSource |
데이터 소스의 이름입니다. 예: |
EngineSource
| JSON 표현 |
|---|
{
"engine": string,
"dataStoreSources": [
{
object ( |
| 필드 | |
|---|---|
engine |
필수 항목입니다. 엔진의 전체 리소스 이름입니다. 형식: |
dataStoreSources[] |
선택사항입니다. 엔진 내에서 특정 데이터 스토어를 타겟팅하는 데 사용됩니다. 비어 있으면 검색이 엔진과 연결된 모든 데이터 스토어에 적용됩니다. |
filter |
선택사항입니다. 엔진 전체 검색에 적용된 필터입니다. 'data_store_sources'가 제공되면 관련성이 없으며 사용되지 않습니다. 참고: https://cloud.google.com/generative-ai-app-builder/docs/filter-search-metadata |
BoostSpecs
| JSON 표현 |
|---|
{
"dataStores": [
string
],
"spec": [
{
object ( |
| 필드 | |
|---|---|
dataStores[] |
필수 항목입니다. 부스팅 구성이 적용되는 데이터 스토어입니다. DataStore의 전체 리소스 이름입니다(예: projects/{project}/locations/{location}/collections/{collection}/dataStores/{dataStore}). |
spec[] |
필수 항목입니다. 부스팅 사양 목록입니다. |
BoostSpec
| JSON 표현 |
|---|
{
"conditionBoostSpecs": [
{
object ( |
| 필드 | |
|---|---|
conditionBoostSpecs[] |
필수 항목입니다. 부스팅 사양 목록입니다. |
ConditionBoostSpec
| JSON 표현 |
|---|
{
"condition": string,
"boost": number,
"boostControlSpec": {
object ( |
| 필드 | |
|---|---|
condition |
필수 항목입니다. 부스트 조건을 지정하는 표현식입니다. 구문은 필터 표현식 구문과 동일합니다. 현재 지원되는 유일한 조건은 BCP-47 언어 코드 목록입니다. 예: 영어 또는 프랑스어의 추천을 강화하려면 (lang_code: ANY("en", "fr")) |
boost |
선택사항입니다. 부스트의 강도이며, 범위는 [-1, 1]입니다. 음수 부스팅은 순위를 내리는 것을 의미합니다. 기본값은 0.0입니다. 1.0으로 설정하면 추천의 순위가 크게 높아집니다. 하지만 최상위 결과가 부스팅된 추천이라고는 할 수 없습니다. -1.0으로 설정하면 추천의 순위가 크게 낮아집니다. 하지만 관련성이 있는 다른 추천은 계속 표시될 수 있습니다. 0.0으로 설정하면 부스트가 적용되지 않습니다. 부스팅 조건은 무시됩니다. |
boostControlSpec |
선택사항입니다. 고객 정의 속성 값을 기반으로 하는 맞춤 순위 지정의 복잡한 사양입니다. |
BoostControlSpec
| JSON 표현 |
|---|
{ "fieldName": string, "attributeType": enum ( |
| 필드 | |
|---|---|
fieldName |
선택사항입니다. 값이 부스트 금액을 결정하는 데 사용되는 필드의 이름입니다. |
attributeType |
선택사항입니다. 부스트 금액을 결정하는 데 사용할 속성 유형입니다. 속성 값은 지정된 field_name의 필드 값에서 파생될 수 있습니다. 숫자의 경우 attribute_value = numerical_field_value와 같이 간단합니다. 하지만 신선도의 경우 attribute_value = (time.now() - datetime_field_value)입니다. |
interpolationType |
선택사항입니다. 아래에 나열된 제어점을 연결하는 데 적용할 보간 유형입니다. |
controlPoints[] |
선택사항입니다. 곡선을 정의하는 데 사용되는 제어점입니다. 단조 함수 (위의 interpolation_type을 통해 정의됨)는 여기에 나열된 제어점을 통과합니다. |
ControlPoint
| JSON 표현 |
|---|
{ "attributeValue": string, "boostAmount": number } |
| 필드 | |
|---|---|
attributeValue |
선택사항입니다. 다음 중 하나일 수 있습니다. 1. 숫자 필드 값입니다. 2. 새로고침의 기간 사양입니다. 값은 XSD |
boostAmount |
선택사항입니다. attribute_value가 위에 지정된 값으로 평가되는 경우 점수를 높이는 데 사용할 -1~1 사이의 값입니다. |
ModalityConfig
| JSON 표현 |
|---|
{ "modalityType": enum ( |
| 필드 | |
|---|---|
modalityType |
필수 항목입니다. 모달리티 유형입니다. |
rewriterConfig |
선택사항입니다. 재작성기 구성입니다. |
summarizationConfig |
선택사항입니다. 요약 구성입니다. |
groundingConfig |
선택사항입니다. 그라운딩 구성입니다. |
RewriterConfig
| JSON 표현 |
|---|
{
"modelSettings": {
object ( |
| 필드 | |
|---|---|
modelSettings |
필수 항목입니다. LLM 모델의 구성입니다. |
prompt |
선택사항입니다. 프롬프트 정의입니다. 설정하지 않으면 기본 프롬프트가 사용됩니다. |
disabled |
선택사항입니다. 리라이터가 사용 중지되었는지 여부입니다. |
SummarizationConfig
| JSON 표현 |
|---|
{
"modelSettings": {
object ( |
| 필드 | |
|---|---|
modelSettings |
선택사항입니다. LLM 모델의 구성입니다. |
prompt |
선택사항입니다. 프롬프트 정의입니다. 설정하지 않으면 기본 프롬프트가 사용됩니다. |
disabled |
선택사항입니다. 요약이 사용 중지되었는지 여부입니다. |
GroundingConfig
| JSON 표현 |
|---|
{ "groundingLevel": number, "disabled": boolean } |
| 필드 | |
|---|---|
groundingLevel |
선택사항입니다. 검색된 소스를 기반으로 한 답변의 그라운딩 기준입니다. 값의 구성 가능한 범위는 [1, 5]입니다. 이 수준은 답변의 그라운딩을 제한하는 데 사용됩니다. 즉, 그라운딩 점수가 기준점 미만인 모든 응답은 관련 스니펫만 반환하도록 대체됩니다. 예를 들어 수준이 3이면 대답이 반환되려면 그라운딩 점수가 3 이상이어야 합니다. |
disabled |
선택사항입니다. 그라운딩이 사용 중지되었는지 여부입니다. |
PythonFunction
| JSON 표현 |
|---|
{ "name": string, "pythonCode": string, "description": string } |
| 필드 | |
|---|---|
name |
선택사항입니다. 실행할 Python 함수의 이름입니다. Python 코드에 정의된 Python 함수 이름과 일치해야 합니다. 대소문자를 구분합니다. 이름이 제공되지 않으면 Python 코드에 정의된 첫 번째 함수가 사용됩니다. |
pythonCode |
선택사항입니다. 도구에 대해 실행할 Python 코드입니다. |
description |
출력 전용입니다. Python 코드의 문서 문자열에서 파싱된 Python 함수의 설명입니다. |
McpTool
| JSON 표현 |
|---|
{ "name": string, "description": string, "inputSchema": { object ( |
| 필드 | |
|---|---|
name |
필수 항목입니다. MCP 도구의 이름입니다. |
description |
선택사항입니다. MCP 도구의 설명입니다. |
inputSchema |
선택사항입니다. MCP 도구의 입력 인수 스키마입니다. |
outputSchema |
선택사항입니다. MCP 도구의 출력 인수 스키마입니다. |
serverAddress |
필수 항목입니다. 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 |
선택사항입니다. MCP 서버에 대해 도구를 실행하는 데 필요한 인증 정보입니다. 베어러 토큰 인증의 경우 토큰은 목록 도구가 아닌 도구 실행에만 적용됩니다. 이를 위해서는 인증 없이 도구를 나열할 수 있어야 합니다. |
tlsConfig |
선택사항입니다. TLS 구성입니다. 클라이언트가 신뢰해야 하는 맞춤 서버 인증서를 포함합니다. |
serviceDirectoryConfig |
선택사항입니다. 경계 내에서 서비스 이름을 확인하는 데 사용되는 VPC-SC의 서비스 디렉터리 구성입니다. |
FileSearchTool
| JSON 표현 |
|---|
{
"corpusType": enum ( |
| 필드 | |
|---|---|
corpusType |
선택사항입니다. 코퍼스 유형입니다. 기본값은 FULLY_MANAGED입니다. |
name |
필수 항목입니다. 도구 이름입니다. |
description |
선택사항입니다. 도구 설명입니다. |
fileCorpus |
선택사항입니다. 파일이 저장된 말뭉치입니다. 형식: projects/{project}/locations/{location}/ragCorpora/{rag_corpus} |
SystemTool
| JSON 표현 |
|---|
{ "name": string, "description": string } |
| 필드 | |
|---|---|
name |
필수 항목입니다. 시스템 도구의 이름입니다. |
description |
출력 전용입니다. 시스템 도구의 설명입니다. |
WidgetTool
| JSON 표현 |
|---|
{ "name": string, "description": string, "widgetType": enum ( |
| 필드 | |
|---|---|
name |
필수 항목입니다. 위젯 도구의 표시 이름입니다. |
description |
선택사항입니다. 위젯 도구의 설명입니다. |
widgetType |
선택사항입니다. 위젯 도구의 유형입니다. 지정하지 않으면 기본 유형은 CUSTOMIZED입니다. |
통합 필드 input. 위젯 도구의 입력입니다. input은 다음 중 하나여야 합니다. |
|
parameters |
선택사항입니다. 위젯 도구의 입력 매개변수입니다. |
ToolFakeConfig
| JSON 표현 |
|---|
{ "enableFakeMode": boolean, // Union field |
| 필드 | |
|---|---|
enableFakeMode |
선택사항입니다. 도구에서 모의 모드를 사용하는지 여부입니다. |
통합 필드 tool_response. 대답은 정적이거나 Python 함수에 의해 제공됩니다. tool_response은 다음 중 하나여야 합니다. |
|
codeBlock |
선택사항입니다. 실제 도구 호출 대신 실행될 코드 블록입니다. |
CodeBlock
| JSON 표현 |
|---|
{ "pythonCode": string } |
| 필드 | |
|---|---|
pythonCode |
필수 항목입니다. 도구 가짜 모드에서 호출될 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 ( |
| 필드 | |
|---|---|
name |
식별자. 예의 고유 식별자입니다. 형식: |
displayName |
필수 항목입니다. 예의 표시 이름입니다. |
description |
선택사항입니다. 예에 대한 인간이 읽을 수 있는 설명입니다. |
entryAgent |
선택사항입니다. 대화를 처음 처리하는 상담사입니다. 지정하지 않으면 예시가 루트 에이전트가 처리하는 대화를 나타냅니다. 형식: |
messages[] |
선택사항입니다. 대화를 구성하는 메시지 모음입니다. |
createTime |
출력 전용입니다. 예가 생성된 타임스탬프입니다. 생성된 출력은 항상 Z-정규화되고 소수점 이하 0, 3, 6 또는 9자리인 RFC 3339를 사용합니다. 'Z' 이외의 오프셋도 허용됩니다. 예를 들면 |
updateTime |
출력 전용입니다. 예가 마지막으로 업데이트된 타임스탬프입니다. 생성된 출력은 항상 Z-정규화되고 소수점 이하 0, 3, 6 또는 9자리인 RFC 3339를 사용합니다. 'Z' 이외의 오프셋도 허용됩니다. 예를 들면 |
invalid |
출력 전용입니다. 참조 리소스가 삭제되면 예가 무효화될 수 있습니다. 잘못된 예는 퓨샷 예로 사용되지 않습니다. |
etag |
읽기-수정-쓰기 작업 중에 객체가 변경되지 않았는지 확인하는 데 사용되는 Etag입니다. etag가 비어 있으면 업데이트가 동시에 발생한 변경사항을 덮어씁니다. |
메시지
| JSON 표현 |
|---|
{
"role": string,
"chunks": [
{
object ( |
| 필드 | |
|---|---|
role |
선택사항입니다. 대화 내 역할(예: 사용자, 에이전트)입니다. |
chunks[] |
선택사항입니다. 메시지의 콘텐츠(일련의 청크). |
eventTime |
선택사항입니다. 메일이 전송 또는 수신된 시점의 타임스탬프입니다. 메시지가 생성된 출력은 항상 Z-정규화되고 소수점 이하 0, 3, 6 또는 9자리인 RFC 3339를 사용합니다. 'Z' 이외의 오프셋도 허용됩니다. 예를 들면 |
Chunk
| JSON 표현 |
|---|
{ // Union field |
| 필드 | |
|---|---|
통합 필드 data. 청크 데이터입니다. data은 다음 중 하나여야 합니다. |
|
text |
선택사항입니다. 텍스트 데이터. |
transcript |
선택사항입니다. 오디오와 연결된 스크립트입니다. |
blob |
선택사항입니다. BLOB 데이터입니다. |
payload |
선택사항입니다. 맞춤 페이로드 데이터입니다. |
image |
선택사항입니다. 이미지 데이터입니다. |
toolCall |
선택사항입니다. 도구 실행 요청입니다. |
toolResponse |
선택사항입니다. 도구 실행 응답입니다. |
agentTransfer |
선택사항입니다. 상담사 트랜스퍼 이벤트입니다. |
updatedVariables |
구조체는 변수 이름으로 키가 지정된 대화에서 업데이트된 변수를 나타냅니다. |
defaultVariables |
구조체는 대화 시작 시 기본 변수를 나타내며 변수 이름으로 키가 지정됩니다. |
blob
| JSON 표현 |
|---|
{ "mimeType": string, "data": string } |
| 필드 | |
|---|---|
mimeType |
필수 항목입니다. 소스 데이터의 IANA 표준 MIME 유형입니다. |
data |
필수 항목입니다. blob의 원시 바이트입니다. base64 인코딩 문자열입니다. |
이미지
| JSON 표현 |
|---|
{ "mimeType": string, "data": string } |
| 필드 | |
|---|---|
mimeType |
필수 항목입니다. 소스 데이터의 IANA 표준 MIME 유형입니다. 지원되는 이미지 유형은 다음과 같습니다. * image/png * image/jpeg * image/webp |
data |
필수 항목입니다. 이미지의 원시 바이트입니다. base64 인코딩 문자열입니다. |
ToolCall
| JSON 표현 |
|---|
{ "id": string, "displayName": string, "args": { object }, // Union field |
| 필드 | |
|---|---|
id |
선택사항입니다. 도구 호출의 고유 식별자입니다. 채워진 경우 클라이언트는 |
displayName |
출력 전용입니다. 도구의 표시 이름입니다. |
args |
선택사항입니다. JSON 객체 형식의 도구 입력 매개변수와 값입니다. |
통합 필드 tool_identifier. 실행할 도구의 식별자입니다. 지속형 도구 또는 도구 세트의 도구일 수 있습니다. tool_identifier은 다음 중 하나여야 합니다. |
|
tool |
선택사항입니다. 실행할 도구의 이름입니다. 형식: |
toolsetTool |
선택사항입니다. 실행할 도구 세트 도구입니다. |
ToolsetTool
| JSON 표현 |
|---|
{ "toolset": string, "toolId": string } |
| 필드 | |
|---|---|
toolset |
필수 항목입니다. 이 도구가 파생된 도구 세트의 리소스 이름입니다. 형식: |
toolId |
선택사항입니다. 스키마를 가져올 도구를 필터링할 도구 ID입니다. |
ToolResponse
| JSON 표현 |
|---|
{ "id": string, "displayName": string, "response": { object }, // Union field |
| 필드 | |
|---|---|
id |
선택사항입니다. 응답이 속한 |
displayName |
출력 전용입니다. 도구의 표시 이름입니다. |
response |
필수 항목입니다. JSON 객체 형식의 도구 실행 결과입니다. 'output' 키를 사용하여 도구 응답을 지정하고 'error' 키를 사용하여 오류 세부정보를 지정합니다 (있는 경우). 'output' 및 'error' 키가 지정되지 않은 경우 전체 'response'가 도구 실행 결과로 처리됩니다. |
통합 필드 tool_identifier. 실행된 도구의 식별자입니다. 지속형 도구 또는 도구 세트의 도구일 수 있습니다. tool_identifier은 다음 중 하나여야 합니다. |
|
tool |
선택사항입니다. 실행할 도구의 이름입니다. 형식: |
toolsetTool |
선택사항입니다. 실행된 도구 세트 도구입니다. |
AgentTransfer
| JSON 표현 |
|---|
{ "targetAgent": string, "displayName": string } |
| 필드 | |
|---|---|
targetAgent |
필수 항목입니다. 대화가 트랜스퍼되는 상담사입니다. 이 시점부터 상담사가 대화를 처리합니다. 형식: |
displayName |
출력 전용입니다. 에이전트의 표시 이름입니다. |
가드레일
| JSON 표현 |
|---|
{ "name": string, "displayName": string, "description": string, "enabled": boolean, "action": { object ( |
| 필드 | |
|---|---|
name |
식별자. 가드레일의 고유 식별자입니다. 형식: |
displayName |
필수 항목입니다. 가이드레일의 표시 이름입니다. |
description |
선택사항입니다. 가이드라인에 대한 설명입니다. |
enabled |
선택사항입니다. 가드레일이 사용 설정되어 있는지 여부입니다. |
action |
선택사항입니다. 가드레일이 트리거될 때 취할 작업입니다. |
createTime |
출력 전용입니다. 가이드레일이 생성된 타임스탬프입니다. 생성된 출력은 항상 Z-정규화되고 소수점 이하 0, 3, 6 또는 9자리인 RFC 3339를 사용합니다. 'Z' 이외의 오프셋도 허용됩니다. 예를 들면 |
updateTime |
출력 전용입니다. 가드레일이 마지막으로 업데이트된 타임스탬프입니다. 생성된 출력은 항상 Z-정규화되고 소수점 이하 0, 3, 6 또는 9자리인 RFC 3339를 사용합니다. 'Z' 이외의 오프셋도 허용됩니다. 예를 들면 |
etag |
읽기-수정-쓰기 작업 중에 객체가 변경되지 않았는지 확인하는 데 사용되는 Etag입니다. etag가 비어 있으면 업데이트가 동시에 발생한 변경사항을 덮어씁니다. |
통합 필드 guardrail_type. 가드레일 유형입니다. guardrail_type은 다음 중 하나여야 합니다. |
|
contentFilter |
선택사항입니다. 대화에서 특정 콘텐츠의 사용을 금지하는 가드레일입니다. |
llmPromptSecurity |
선택사항입니다. LLM 분류에 따라 프롬프트가 안전하지 않다고 간주되면 대화를 차단하는 가드레일 |
llmPolicy |
선택사항입니다. LLM 분류에 따라 LLM 응답이 정책을 위반하는 것으로 간주되는 경우 대화를 차단하는 가드레일입니다. |
modelSafety |
선택사항입니다. 모델 안전 설정에 따라 LLM 응답이 안전하지 않다고 간주되는 경우 대화를 차단하는 가드레일입니다. |
codeCallback |
선택사항입니다. 콜백 실행 결과에 따라 대화를 차단할 수 있는 가드레일입니다. |
ContentFilter
| JSON 표현 |
|---|
{
"bannedContents": [
string
],
"bannedContentsInUserInput": [
string
],
"bannedContentsInAgentResponse": [
string
],
"matchType": enum ( |
| 필드 | |
|---|---|
bannedContents[] |
선택사항입니다. 차단된 문구 목록입니다. 사용자 입력과 상담사 응답 모두에 적용됩니다. |
bannedContentsInUserInput[] |
선택사항입니다. 차단된 문구 목록입니다. 사용자 입력에만 적용됩니다. |
bannedContentsInAgentResponse[] |
선택사항입니다. 차단된 문구 목록입니다. 상담사 응답에만 적용됩니다. |
matchType |
필수 항목입니다. 콘텐츠 필터의 일치 유형입니다. |
disregardDiacritics |
선택사항입니다. true인 경우 일치하는 동안 발음 구별 기호가 무시됩니다. |
LlmPromptSecurity
| JSON 표현 |
|---|
{ "failOpen": boolean, // Union field |
| 필드 | |
|---|---|
failOpen |
선택사항입니다. 가드레일에서 LLM 오류가 발생할 때의 동작을 결정합니다. - true인 경우: 가드레일이 우회됩니다. - false (기본값): 가드레일이 트리거되거나 차단됩니다. 참고: 맞춤 정책이 제공되면 정책의 'fail_open' 구성이 우선 적용되어 이 필드는 무시됩니다. |
통합 필드 security_config. 보안 구성 모드를 정의합니다. 사용자는 다음 구성 중 하나를 선택해야 합니다. security_config은 다음 중 하나여야 합니다. |
|
defaultSettings |
선택사항입니다. 시스템의 사전 정의된 기본 보안 설정을 사용합니다. 이 모드를 선택하려면 요청에 빈 'default_settings' 메시지를 포함하세요. 내부의 'default_prompt_template' 필드는 서버에서 응답에 채워집니다. |
customPolicy |
선택사항입니다. 사용자 정의 LlmPolicy를 사용하여 보안 가드레일을 구성합니다. |
DefaultSecuritySettings
| JSON 표현 |
|---|
{ "defaultPromptTemplate": string } |
| 필드 | |
|---|---|
defaultPromptTemplate |
출력 전용입니다. 시스템에서 사용하는 기본 프롬프트 템플릿입니다. 이 필드는 시스템에서 기본적으로 사용하는 프롬프트를 사용자에게 표시하기 위한 용도입니다. OUTPUT_ONLY입니다. |
LlmPolicy
| JSON 표현 |
|---|
{ "maxConversationMessages": integer, "modelSettings": { object ( |
| 필드 | |
|---|---|
maxConversationMessages |
선택사항입니다. 이 정책을 확인할 때는 대화의 마지막 'n'개 메시지를 고려하세요. 설정하지 않으면 기본값 10이 사용됩니다. |
modelSettings |
선택사항입니다. 모델 설정입니다. |
prompt |
필수 항목입니다. 정책 프롬프트 |
policyScope |
필수 항목입니다. 대화 중에 정책 확인을 적용할 시기를 정의합니다. |
failOpen |
선택사항입니다. 정책 확인 중에 오류가 발생하면 fail open하고 가드레일을 트리거하지 않습니다. |
allowShortUtterance |
선택사항입니다. 기본적으로 짧은 발화의 경우 LLM 정책 확인이 우회됩니다. 이 설정을 사용 설정하면 일반적으로 건너뛰는 발화도 포함하여 모든 발화에 정책 확인이 적용됩니다. |
ModelSafety
| JSON 표현 |
|---|
{
"safetySettings": [
{
object ( |
| 필드 | |
|---|---|
safetySettings[] |
필수 항목입니다. 안전 설정 목록입니다. |
SafetySetting
| JSON 표현 |
|---|
{ "category": enum ( |
| 필드 | |
|---|---|
category |
필수 항목입니다. 피해 카테고리입니다. |
threshold |
필수 항목입니다. 피해 차단 기준점입니다. |
CodeCallback
| JSON 표현 |
|---|
{ "beforeAgentCallback": { object ( |
| 필드 | |
|---|---|
beforeAgentCallback |
선택사항입니다. 상담사가 호출되기 전에 실행할 콜백입니다. 각 콜백 함수는 다음을 포함하는 구조 (예: dict 또는 객체)를 반환해야 합니다. - 'decision': 'OK' 또는 'TRIGGER' - 'reason': 결정을 설명하는 문자열입니다. 'TRIGGER' 결정으로 인해 추가 처리가 중지될 수 있습니다. |
afterAgentCallback |
선택사항입니다. 에이전트가 호출된 후 실행할 콜백입니다. 각 콜백 함수는 다음을 포함하는 구조 (예: dict 또는 객체)를 반환해야 합니다. - 'decision': 'OK' 또는 'TRIGGER' - 'reason': 결정을 설명하는 문자열입니다. 'TRIGGER' 결정으로 인해 추가 처리가 중지될 수 있습니다. |
beforeModelCallback |
선택사항입니다. 모델이 호출되기 전에 실행할 콜백입니다. 모델에 대한 호출이 여러 개 있는 경우 콜백이 여러 번 실행됩니다. 각 콜백 함수는 다음을 포함하는 구조 (예: dict 또는 객체)를 반환해야 합니다. - 'decision': 'OK' 또는 'TRIGGER' - 'reason': 결정을 설명하는 문자열입니다. 'TRIGGER' 결정으로 인해 추가 처리가 중지될 수 있습니다. |
afterModelCallback |
선택사항입니다. 모델이 호출된 후 실행할 콜백입니다. 모델에 대한 호출이 여러 개 있는 경우 콜백이 여러 번 실행됩니다. 각 콜백 함수는 다음을 포함하는 구조 (예: dict 또는 객체)를 반환해야 합니다. - 'decision': 'OK' 또는 'TRIGGER' - 'reason': 결정을 설명하는 문자열입니다. 'TRIGGER' 결정으로 인해 추가 처리가 중지될 수 있습니다. |
TriggerAction
| JSON 표현 |
|---|
{ // Union field |
| 필드 | |
|---|---|
통합 필드 action. 수행할 작업입니다. action은 다음 중 하나여야 합니다. |
|
respondImmediately |
선택사항입니다. 사전 구성된 응답으로 즉시 응답합니다. |
transferAgent |
선택사항입니다. 대화를 다른 상담사에게 트랜스퍼합니다. |
generativeAnswer |
선택사항입니다. 생성 답변으로 대답합니다. |
RespondImmediately
| JSON 표현 |
|---|
{
"responses": [
{
object ( |
| 필드 | |
|---|---|
responses[] |
필수 항목입니다. 상담사가 선택할 수 있는 미리 준비된 답변입니다. 대답은 무작위로 선택됩니다. |
응답
| JSON 표현 |
|---|
{ "text": string, "disabled": boolean } |
| 필드 | |
|---|---|
text |
필수 항목입니다. 에이전트가 응답할 텍스트입니다. |
disabled |
선택사항입니다. 대답이 사용 중지되었는지 여부입니다. 사용 중지된 응답은 상담사가 사용하지 않습니다. |
TransferAgent
| JSON 표현 |
|---|
{ "agent": string } |
| 필드 | |
|---|---|
agent |
필수 항목입니다. 대화를 트랜스퍼할 에이전트의 이름입니다. 에이전트는 현재 에이전트와 동일한 앱에 있어야 합니다. 형식: |
GenerativeAnswer
| JSON 표현 |
|---|
{ "prompt": string } |
| 필드 | |
|---|---|
prompt |
필수 항목입니다. 생성형 답변에 사용할 프롬프트입니다. |
툴셋
| JSON 표현 |
|---|
{ "name": string, "displayName": string, "description": string, "createTime": string, "updateTime": string, "etag": string, "executionType": enum ( |
| 필드 | |
|---|---|
name |
식별자. 툴셋의 고유 식별자입니다. 형식: |
displayName |
선택사항입니다. 툴셋의 표시 이름입니다. 동일한 앱 내에서 고유해야 합니다. |
description |
선택사항입니다. 툴셋에 대한 설명입니다. |
createTime |
출력 전용입니다. 툴셋이 생성된 타임스탬프입니다. 생성된 출력은 항상 Z-정규화되고 소수점 이하 0, 3, 6 또는 9자리인 RFC 3339를 사용합니다. 'Z' 이외의 오프셋도 허용됩니다. 예를 들면 |
updateTime |
출력 전용입니다. 툴셋이 마지막으로 업데이트된 타임스탬프입니다. 생성된 출력은 항상 Z-정규화되고 소수점 이하 0, 3, 6 또는 9자리인 RFC 3339를 사용합니다. 'Z' 이외의 오프셋도 허용됩니다. 예를 들면 |
etag |
읽기-수정-쓰기 작업 중에 객체가 변경되지 않았는지 확인하는 데 사용되는 ETag입니다. etag가 비어 있으면 업데이트가 동시에 발생한 변경사항을 덮어씁니다. |
executionType |
선택사항입니다. 툴셋에 있는 도구의 실행 유형입니다. |
toolFakeConfig |
선택사항입니다. 가짜 모드에서 도구 동작의 구성입니다. |
통합 필드 toolset_type. 툴셋의 유형입니다. toolset_type은 다음 중 하나여야 합니다. |
|
mcpToolset |
선택사항입니다. MCP 서버에서 제공하는 도구 목록이 포함된 도구 세트입니다. |
openApiToolset |
선택사항입니다. OpenAPI 스키마로 정의된 도구 목록이 포함된 도구 모음입니다. |
connectorToolset |
선택사항입니다. Integration Connectors 연결에서 도구를 생성하는 도구 모음입니다. |
McpToolset
| JSON 표현 |
|---|
{ "serverAddress": string, "apiAuthentication": { object ( |
| 필드 | |
|---|---|
serverAddress |
필수 항목입니다. MCP 서버의 주소입니다(예: 'https://example.com/mcp/'). 서버가 MCP SDK로 빌드된 경우 URL에 '/mcp/'이 접미사로 붙어야 합니다. 스트림 가능 HTTP 전송 기반 서버만 지원됩니다. 자세한 내용은 https://modelcontextprotocol.io/specification/2025-03-26/basic/transports#streamable-http를 참고하세요. |
apiAuthentication |
선택사항입니다. 도구에 액세스하고 MCP 서버에 대해 도구를 실행하는 데 필요한 인증 정보입니다. 베어러 토큰 인증의 경우 토큰은 목록 도구가 아닌 도구 실행에만 적용됩니다. 이를 위해서는 인증 없이 도구를 나열할 수 있어야 합니다. |
serviceDirectoryConfig |
선택사항입니다. 경계 내에서 서비스 이름을 확인하는 데 사용되는 VPC-SC의 서비스 디렉터리 구성입니다. |
tlsConfig |
선택사항입니다. TLS 구성입니다. 클라이언트가 신뢰해야 하는 맞춤 서버 인증서를 포함합니다. |
OpenApiToolset
| JSON 표현 |
|---|
{ "openApiSchema": string, "apiAuthentication": { object ( |
| 필드 | |
|---|---|
openApiSchema |
필수 항목입니다. 툴셋의 OpenAPI 스키마입니다. |
apiAuthentication |
선택사항입니다. API에 필요한 인증 정보입니다. |
tlsConfig |
선택사항입니다. TLS 구성입니다. 맞춤 서버 인증서를 포함합니다. |
serviceDirectoryConfig |
선택사항입니다. 서비스 디렉터리 구성입니다. |
ignoreUnknownFields |
선택사항입니다. true인 경우 에이전트는 OpenAPI 스키마에 정의된 모든 작업의 API 응답에서 알 수 없는 필드를 무시합니다. |
url |
선택사항입니다. Open API 스키마의 서버 URL입니다. 이 필드는 스키마에 서버 URL이 포함된 경우 내보내기 프로세스 중에 환경 종속 항목의 도구 모음에만 설정됩니다. 가져오기 프로세스 중에 이 URL이 환경 종속 항목에 있고 스키마에 $env_var 자리표시자가 있으면 스키마의 자리표시자를 대체합니다. |
ConnectorToolset
| JSON 표현 |
|---|
{ "connection": string, "authConfig": { object ( |
| 필드 | |
|---|---|
connection |
필수 항목입니다. 참조된 Integration Connectors Connection의 전체 리소스 이름입니다. 형식: |
authConfig |
선택사항입니다. Integration Connectors에서 인증이 처리되는 방식을 구성합니다. 기본적으로 관리자 인증은 Integration Connectors API 요청에 전달됩니다. 다른 최종 사용자 인증 구성으로 재정의할 수 있습니다. 참고: 여기에 EUC 구성을 지정하려면 연결에 인증 재정의가 사용 설정되어 있어야 합니다. 그렇지 않으면 도구 모음 생성이 실패합니다. https://cloud.google.com/application-integration/docs/configure-connectors-task#configure-authentication-override를 참고하세요. |
connectorActions[] |
필수 항목입니다. 도구를 생성할 커넥터 작업/엔티티 작업 목록입니다. |
도구 주석
파괴적 힌트: ❌ | 동일한 힌트: ✅ | 읽기 전용 힌트: ✅ | 오픈 월드 힌트: ❌