REST Resource: projects.locations.apps.tools

리소스: 도구

도구는 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

에이전트가 호출할 수 있는 클라이언트 측 함수를 나타냅니다. 상담사가 도구를 선택하면 클라이언트에 제어권이 전달됩니다. 클라이언트는 함수를 실행하고 결과를 ToolResponse로 반환하여 상담사와의 상호작용을 계속해야 합니다.

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

string

필수 항목입니다. 함수 이름입니다.

description

string

선택사항입니다. 함수 설명입니다.

parameters

object (Schema)

선택사항입니다. 함수 파라미터의 스키마입니다.

response

object (Schema)

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

OpenApiTool

OpenAPI 스키마로 정의된 원격 API 도구입니다.

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

GoogleSearchTool

그라운딩을 위해 Google 웹 검색을 실행하는 도구를 나타냅니다. https://cloud.google.com/customer-engagement-ai/conversational-agents/ps/tool#google-search를 참고하세요.

JSON 표현
{
  "name": string,
  "description": string,
  "contextUrls": [
    string
  ],
  "preferredDomains": [
    string
  ],
  "excludeDomains": [
    string
  ],
  "promptConfig": {
    object (GoogleSearchTool.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 (GoogleSearchTool.PromptConfig)

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

GoogleSearchTool.PromptConfig

Google 검색 결과를 처리하거나 요약할 때 모델에서 사용하는 프롬프트 설정입니다.

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

string

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

voicePrompt

string

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

ConnectorTool

ConnectorTool을 사용하면 다양한 통합에 연결할 수 있습니다. https://cloud.google.com/integration-connectors/docs/overview를 참고하세요.

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을 호출할지 여부를 결정하는 데 사용할 수 있는 도구의 설명입니다.

DataStoreTool

그라운딩을 위해 Vertex AI Search 데이터 스토어 또는 엔진에서 검색하는 도구 데이터 스토어 또는 엔진을 허용하지만 둘 다 허용하지는 않습니다. Vertex AI Search를 참고하세요(https://cloud.google.com/generative-ai-app-builder/docs/enterprise-search-introduction).

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

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

string

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

description

string

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

boostSpecs[]

object (DataStoreTool.BoostSpecs)

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

modalityConfigs[]

object (DataStoreTool.ModalityConfig)

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

filterParameterBehavior

enum (DataStoreTool.FilterParameterBehavior)

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

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

object (DataStoreTool.DataStoreSource)

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

engineSource

object (DataStoreTool.EngineSource)

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

DataStoreTool.DataStoreSource

특정 DataStore 내 검색 구성입니다.

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

Vertex AI Search의 DataStore 리소스입니다.

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

string

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

type

enum (DataStore.DataStoreType)

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

documentProcessingMode

enum (DataStore.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 (DataStore.ConnectorConfig)

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

DataStore.DataStoreType

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

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

DataStore.DocumentProcessingMode

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

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

DataStore.ConnectorConfig

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

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

string

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

collectionDisplayName

string

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

dataSource

string

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

DataStoreTool.EngineSource

엔진 내 검색 구성으로, 특정 DataStore를 타겟팅할 수 있습니다.

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

string

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

dataStoreSources[]

object (DataStoreTool.DataStoreSource)

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

filter

string

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

DataStoreTool.BoostSpecs

특정 문서를 부스팅하는 부스트 사양입니다. 자세한 내용은 https://cloud.google.com/generative-ai-app-builder/docs/boosting을 참고하세요.

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

string

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

spec[]

object (DataStoreTool.BoostSpec)

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

DataStoreTool.BoostSpec

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

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

object (DataStoreTool.BoostSpec.ConditionBoostSpec)

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

DataStoreTool.BoostSpec.ConditionBoostSpec

조건의 부스트 사양입니다.

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

string

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

boost

number

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

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

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

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

boostControlSpec

object (DataStoreTool.BoostSpec.ConditionBoostSpec.BoostControlSpec)

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

DataStoreTool.BoostSpec.ConditionBoostSpec.BoostControlSpec

고객 지정 속성 값을 기반으로 하는 맞춤 순위 지정 사양입니다. 위의 간단한 (조건, 부스트) 조합보다 맞춤 순위 지정에 더 많은 제어 기능을 제공합니다.

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

string

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

attributeType

enum (DataStoreTool.BoostSpec.ConditionBoostSpec.BoostControlSpec.AttributeType)

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

interpolationType

enum (DataStoreTool.BoostSpec.ConditionBoostSpec.BoostControlSpec.InterpolationType)

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

controlPoints[]

object (DataStoreTool.BoostSpec.ConditionBoostSpec.BoostControlSpec.ControlPoint)

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

DataStoreTool.BoostSpec.ConditionBoostSpec.BoostControlSpec.AttributeType

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

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

DataStoreTool.BoostSpec.ConditionBoostSpec.BoostControlSpec.InterpolationType

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

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

DataStoreTool.BoostSpec.ConditionBoostSpec.BoostControlSpec.ControlPoint

곡선을 정의하는 데 사용되는 제어점입니다. 이러한 제어점을 통해 정의된 곡선은 단조 증가 또는 단조 감소만 가능합니다(상수 값은 허용됨).

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

string

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

boostAmount

number

선택사항입니다. attributeValue가 위에 지정된 값으로 평가되는 경우 점수를 높일 값(-1~1)입니다.

DataStoreTool.ModalityConfig

지정된 경우 지정된 모달리티에 주어진 구성을 적용합니다.

JSON 표현
{
  "modalityType": enum (DataStoreTool.ModalityConfig.ModalityType),
  "rewriterConfig": {
    object (DataStoreTool.RewriterConfig)
  },
  "summarizationConfig": {
    object (DataStoreTool.SummarizationConfig)
  },
  "groundingConfig": {
    object (DataStoreTool.GroundingConfig)
  }
}
필드
modalityType

enum (DataStoreTool.ModalityConfig.ModalityType)

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

rewriterConfig

object (DataStoreTool.RewriterConfig)

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

summarizationConfig

object (DataStoreTool.SummarizationConfig)

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

groundingConfig

object (DataStoreTool.GroundingConfig)

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

DataStoreTool.ModalityConfig.ModalityType

모달리티 유형입니다.

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

DataStoreTool.RewriterConfig

재작성기 구성입니다.

JSON 표현
{
  "modelSettings": {
    object (ModelSettings)
  },
  "prompt": string,
  "disabled": boolean
}
필드
modelSettings

object (ModelSettings)

필수 항목입니다. LLM 모델의 구성입니다.

prompt

string

선택사항입니다. 프롬프트 정의입니다. 설정하지 않으면 기본 프롬프트가 사용됩니다.

disabled

boolean

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

DataStoreTool.SummarizationConfig

요약 구성입니다.

JSON 표현
{
  "modelSettings": {
    object (ModelSettings)
  },
  "prompt": string,
  "disabled": boolean
}
필드
modelSettings

object (ModelSettings)

선택사항입니다. LLM 모델의 구성입니다.

prompt

string

선택사항입니다. 프롬프트 정의입니다. 설정하지 않으면 기본 프롬프트가 사용됩니다.

disabled

boolean

선택사항입니다. 요약이 사용 중지되었는지 여부입니다.

DataStoreTool.GroundingConfig

그라운딩 구성입니다.

JSON 표현
{
  "groundingLevel": number,
  "disabled": boolean
}
필드
groundingLevel

number

선택사항입니다. 검색된 소스를 기반으로 한 답변의 그라운딩 기준입니다. 값의 구성 가능한 범위는 [1, 5]입니다. 이 수준은 답변의 그라운딩을 제한하는 데 사용됩니다. 즉, 그라운딩 점수가 기준점 미만인 모든 대답은 관련 스니펫만 반환하도록 대체됩니다.

예를 들어 수준이 3이면 대답이 반환되려면 그라운딩 점수가 3 이상이어야 합니다.

disabled

boolean

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

DataStoreTool.FilterParameterBehavior

필터 매개변수 동작

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

PythonFunction

Python 함수 도구입니다.

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

MCP 도구입니다. 자세한 내용은 https://modelcontextprotocol.io/specification/2025-06-18/server/tools를 참고하세요.

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 (McpTool.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의 serverAddress와 동일합니다. 자세한 내용은 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 (McpTool.State)

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

McpTool.State

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

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

FileSearchTool

파일 검색 도구를 사용하면 상담사가 앱/상담사 개발자가 업로드한 파일을 검색할 수 있습니다. 업로드된 파일에 대한 비교적 우수한 품질의 검색과 검색된 결과의 요약을 제공하는 사전 설정이 있습니다.

JSON 표현
{
  "corpusType": enum (FileSearchTool.CorpusType),
  "name": string,
  "description": string,
  "fileCorpus": string
}
필드
corpusType

enum (FileSearchTool.CorpusType)

선택사항입니다. 코퍼스 유형입니다. 기본값은 FULLY_MANAGED입니다.

name

string

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

description

string

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

fileCorpus

string

선택사항입니다. 파일이 저장된 말뭉치입니다. 형식: projects/{project}/locations/{location}/ragCorpora/{rag_corpus}

FileSearchTool.CorpusType

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

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

SystemTool

사전 정의된 시스템 도구입니다.

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

string

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

description

string

출력 전용입니다. 시스템 도구의 설명입니다.

AgentTool

상담사가 다른 상담사에게 전화를 걸 수 있는 도구를 나타냅니다.

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

string

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

description

string

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

rootAgent
(deprecated)

string

선택사항입니다. 지원 중단됨: 대신 agent을 사용하세요. 도구의 진입점인 루트 에이전트의 리소스 이름입니다. 형식: projects/{project}/locations/{location}/agents/{agent}

agent

string

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

WidgetTool

에이전트가 호출할 수 있는 위젯 도구를 나타냅니다. 상담사가 도구를 선택하면 상담사가 위젯을 클라이언트에게 반환합니다. 클라이언트는 위젯을 처리하고 에이전트와의 상호작용을 계속하기 위해 다음 사용자 쿼리를 생성해야 합니다.

JSON 표현
{
  "name": string,
  "description": string,
  "widgetType": enum (WidgetTool.WidgetType),
  "uiConfig": {
    object
  },
  "dataMapping": {
    object (WidgetTool.DataMapping)
  },
  "textResponseConfig": {
    object (WidgetTool.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 (WidgetTool.WidgetType)

선택사항입니다. 위젯 도구의 유형입니다. 지정하지 않으면 기본 유형은 CUSTOMIZED입니다.

uiConfig

object (Struct format)

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

dataMapping

object (WidgetTool.DataMapping)

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

textResponseConfig

object (WidgetTool.TextResponseConfig)

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

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

object (Schema)

선택사항입니다. 위젯 도구의 입력 매개변수입니다.

WidgetTool.WidgetType

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

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

WidgetTool.DataMapping

소스 도구의 데이터를 위젯의 입력 매개변수에 매핑하기 위한 구성입니다.

JSON 표현
{
  "sourceToolName": string,
  "fieldMappings": {
    string: string,
    ...
  },
  "pythonFunction": {
    object (PythonFunction)
  },
  "mode": enum (WidgetTool.DataMapping.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 (WidgetTool.DataMapping.Mode)

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

pythonScript
(deprecated)

string

지원 중단됨: 대신 pythonFunction을 사용하세요.

WidgetTool.DataMapping.Mode

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

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

WidgetTool.TextResponseConfig

위젯과 함께 반환되는 텍스트 응답의 구성입니다.

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

enum (WidgetTool.TextResponseConfig.Type)

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

staticText

string

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

textResponseInstruction

string

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

WidgetTool.TextResponseConfig.Type

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

열거형
TYPE_UNSPECIFIED 알 수 없는 유형.
NONE LLM은 대화 컨텍스트에 따라 위젯과 함께 텍스트 응답을 생성할지 여부를 동적으로 결정합니다.
LLM_GENERATED LLM이 텍스트 응답을 생성해야 합니다.
STATIC 사전 정의된 정적 텍스트 응답이 항상 사용됩니다.

RemoteAgentTool

에이전트가 다른 원격 에이전트를 호출할 수 있도록 지원하는 도구를 나타냅니다.

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

string

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

description

string

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

agentCard

object (AgentCard)

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

AgentCard

AgentCard는 원격 에이전트에 관한 주요 정보를 전달합니다. A2A 프로토콜 https://a2a-protocol.org/dev/specification/#441-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

에이전트와 상호작용하기 위한 타겟 URL, 전송, 프로토콜 버전의 조합을 선언합니다. 이를 통해 에이전트는 여러 프로토콜 바인딩 메커니즘을 통해 동일한 기능을 노출할 수 있습니다.

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

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

메서드

create

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

delete

지정된 도구를 삭제합니다.

get

지정된 도구의 세부정보를 가져옵니다.

list

지정된 앱의 도구를 나열합니다.

patch

지정된 도구를 업데이트합니다.