MCP Tools Reference: ces.googleapis.com

도구: create_tool

지정된 앱에 새 도구를 만듭니다.

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

입력 스키마

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

CreateToolRequest

JSON 표현
{
  "parent": string,
  "toolId": string,
  "tool": {
    object (Tool)
  }
}
필드
parent

string

필수 항목입니다. 도구를 만들 앱의 리소스 이름입니다.

toolId

string

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

tool

object (Tool)

필수 항목입니다. 만들 도구입니다.

도구

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)

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

스키마

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)

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)

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

타임스탬프

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(포함) 사이여야 합니다.

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

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

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 모델에 사용됩니다. 온도는 모델 응답의 무작위성을 제어합니다. 온도가 낮을수록 더 예측 가능한 대답이 생성됩니다. 온도가 높을수록 더 창의적인 대답이 생성됩니다.

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
}
필드
enableSnippets

boolean

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

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

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

string

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

description

string

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

agentCard

object (AgentCard)

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

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

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

소요 시간

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(포함) 사이여야 합니다.

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을 반환하면 실제 도구가 대신 호출됩니다.

유형

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

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 이 도구는 비동기적으로 실행됩니다. 도구가 실행되는 동안 세션이 계속됩니다.

출력 스키마

도구는 CES 상담사가 특정 목표를 달성하기 위해 취할 수 있는 작업을 나타냅니다.

도구

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)

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

스키마

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)

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)

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

타임스탬프

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(포함) 사이여야 합니다.

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

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

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 모델에 사용됩니다. 온도는 모델 응답의 무작위성을 제어합니다. 온도가 낮을수록 더 예측 가능한 대답이 생성됩니다. 온도가 높을수록 더 창의적인 대답이 생성됩니다.

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
}
필드
enableSnippets

boolean

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

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

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

string

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

description

string

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

agentCard

object (AgentCard)

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

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

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

소요 시간

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(포함) 사이여야 합니다.

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을 반환하면 실제 도구가 대신 호출됩니다.

유형

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

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 이 도구는 비동기적으로 실행됩니다. 도구가 실행되는 동안 세션이 계속됩니다.

도구 주석

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