도구: create_tool
지정된 앱에 새 도구를 만듭니다.
다음 샘플은 curl를 사용하여 create_tool 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": "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 ( |
| 필드 | |
|---|---|
parent |
필수 항목입니다. 도구를 만들 앱의 리소스 이름입니다. |
toolId |
선택사항입니다. 도구에 사용할 ID이며, 도구의 리소스 이름에서 마지막 구성요소가 됩니다. 제공되지 않으면 도구에 고유 ID가 자동으로 할당됩니다. |
tool |
필수 항목입니다. 만들 도구입니다. |
도구
| 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 |
선택사항입니다. 함수 응답의 스키마입니다. |
스키마
| 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 |
|
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 |
출력 전용입니다. 데이터 스토어 연결의 커넥터 구성입니다. |
타임스탬프
| 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(포함) 사이여야 합니다. |
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 |
선택사항입니다. 리라이터가 사용 중지되었는지 여부입니다. |
ModelSettings
| JSON 표현 |
|---|
{ "model": string, // Union field |
| 필드 | |
|---|---|
model |
선택사항입니다. 에이전트가 사용해야 하는 LLM 모델입니다. 설정하지 않으면 에이전트가 상위 에이전트의 모델을 상속합니다. |
통합 필드
|
|
temperature |
선택사항입니다. 설정된 경우 이 온도가 LLM 모델에 사용됩니다. 온도는 모델 응답의 무작위성을 제어합니다. 온도가 낮을수록 더 예측 가능한 대답이 생성됩니다. 온도가 높을수록 더 창의적인 대답이 생성됩니다. |
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을 반환하면 실제 도구가 대신 호출됩니다. |
출력 스키마
도구는 CES 상담사가 특정 목표를 달성하기 위해 취할 수 있는 작업을 나타냅니다.
도구
| 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 |
선택사항입니다. 함수 응답의 스키마입니다. |
스키마
| 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 |
|
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 |
출력 전용입니다. 데이터 스토어 연결의 커넥터 구성입니다. |
타임스탬프
| 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(포함) 사이여야 합니다. |
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 |
선택사항입니다. 리라이터가 사용 중지되었는지 여부입니다. |
ModelSettings
| JSON 표현 |
|---|
{ "model": string, // Union field |
| 필드 | |
|---|---|
model |
선택사항입니다. 에이전트가 사용해야 하는 LLM 모델입니다. 설정하지 않으면 에이전트가 상위 에이전트의 모델을 상속합니다. |
통합 필드
|
|
temperature |
선택사항입니다. 설정된 경우 이 온도가 LLM 모델에 사용됩니다. 온도는 모델 응답의 무작위성을 제어합니다. 온도가 낮을수록 더 예측 가능한 대답이 생성됩니다. 온도가 높을수록 더 창의적인 대답이 생성됩니다. |
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을 반환하면 실제 도구가 대신 호출됩니다. |
도구 주석
파괴적 힌트: ✅ | 동일한 힌트: ❌ | 읽기 전용 힌트: ❌ | 오픈 월드 힌트: ❌