- 리소스: Tool
- JSON 표현
- ClientFunction
- OpenApiTool
- GoogleSearchTool
- GoogleSearchTool.PromptConfig
- ConnectorTool
- DataStoreTool
- DataStoreTool.DataStoreSource
- DataStore
- DataStore.DataStoreType
- DataStore.DocumentProcessingMode
- DataStore.ConnectorConfig
- DataStoreTool.EngineSource
- DataStoreTool.BoostSpecs
- DataStoreTool.BoostSpec
- DataStoreTool.BoostSpec.ConditionBoostSpec
- DataStoreTool.BoostSpec.ConditionBoostSpec.BoostControlSpec
- DataStoreTool.BoostSpec.ConditionBoostSpec.BoostControlSpec.AttributeType
- DataStoreTool.BoostSpec.ConditionBoostSpec.BoostControlSpec.InterpolationType
- DataStoreTool.BoostSpec.ConditionBoostSpec.BoostControlSpec.ControlPoint
- DataStoreTool.ModalityConfig
- DataStoreTool.ModalityConfig.ModalityType
- DataStoreTool.RewriterConfig
- DataStoreTool.SummarizationConfig
- DataStoreTool.GroundingConfig
- DataStoreTool.FilterParameterBehavior
- PythonFunction
- McpTool
- McpTool.State
- FileSearchTool
- FileSearchTool.CorpusType
- SystemTool
- AgentTool
- WidgetTool
- WidgetTool.WidgetType
- WidgetTool.DataMapping
- WidgetTool.DataMapping.Mode
- WidgetTool.TextResponseConfig
- WidgetTool.TextResponseConfig.Type
- RemoteAgentTool
- AgentCard
- AgentInterface
- AgentSkill
- 메서드
리소스: 도구
도구는 CES 에이전트가 특정 목표를 달성하기 위해 취할 수 있는 작업을 나타냅니다.
| JSON 표현 |
|---|
{ "name": string, "displayName": string, "executionType": enum ( |
| 필드 | |
|---|---|
name |
식별자. 도구의 리소스 이름입니다. 형식:
이러한 도구는 동적이며 출력 전용입니다. 도구가 필요한 곳에서 직접 참조할 수 없습니다. |
displayName |
출력 전용입니다. 도구의 유형을 기반으로 파생된 도구의 표시 이름입니다. 예를 들어 [ClientFunction][Tool.ClientFunction] 의 표시 이름은 |
executionType |
선택사항입니다. 도구의 실행 유형입니다. |
timeout |
선택사항입니다. 도구 실행 제한 시간입니다. 설정하지 않으면 소수점 아래가 최대 9자리까지이고 ' |
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 |
선택사항입니다. 시스템 도구 |
agentTool |
선택사항입니다. 에이전트 도구입니다. |
widgetTool |
선택사항입니다. 위젯 도구 |
remoteAgentTool |
선택사항입니다. 원격 에이전트 도구 |
ClientFunction
에이전트가 호출할 수 있는 클라이언트 측 함수를 나타냅니다. 상담사가 도구를 선택하면 클라이언트에 제어권이 전달됩니다. 클라이언트는 함수를 실행하고 결과를 ToolResponse로 반환하여 상담사와의 상호작용을 계속해야 합니다.
| JSON 표현 |
|---|
{ "name": string, "description": string, "parameters": { object ( |
| 필드 | |
|---|---|
name |
필수 항목입니다. 함수 이름입니다. |
description |
선택사항입니다. 함수 설명입니다. |
parameters |
선택사항입니다. 함수 파라미터의 스키마입니다. |
response |
선택사항입니다. 함수 응답의 스키마입니다. |
OpenApiTool
OpenAPI 스키마로 정의된 원격 API 도구입니다.
| 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 자리표시자가 있으면 스키마의 자리표시자가 대체됩니다. |
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 ( |
| 필드 | |
|---|---|
name |
필수 항목입니다. 도구의 이름입니다. |
description |
선택사항입니다. 도구의 용도에 관한 설명입니다. |
contextUrls[] |
선택사항입니다. 콘텐츠는 컨텍스트와 그라운딩을 위해 이러한 URL에서 직접 가져옵니다. 예: 'https://example.com/path.html' URL은 최대 20개까지 허용됩니다. |
preferredDomains[] |
선택사항입니다. 검색 결과를 제한할 도메인을 지정합니다. 예: 'example.com', 'another.site' 최대 20개의 도메인을 지정할 수 있습니다. |
excludeDomains[] |
선택사항입니다. 검색 결과에서 제외할 도메인 목록입니다. 예: 'example.com' 최대 2,000개의 도메인을 제외할 수 있습니다. |
promptConfig |
선택사항입니다. 텍스트 및 음성에 대한 검색 결과를 처리하는 방법에 관해 플래너에 전달된 프롬프트 안내입니다. |
GoogleSearchTool.PromptConfig
Google 검색 결과를 처리하거나 요약할 때 모델에서 사용하는 프롬프트 설정입니다.
| JSON 표현 |
|---|
{ "textPrompt": string, "voicePrompt": string } |
| 필드 | |
|---|---|
textPrompt |
선택사항입니다. 채팅 대화에서 에이전트와 상호작용할 때 시스템 요청 사항에 사용되는 프롬프트를 정의합니다. 설정하지 않으면 기본 프롬프트가 사용됩니다. |
voicePrompt |
선택사항입니다. 음성 대화에서 에이전트와 상호작용할 때 시스템 안내에 사용되는 프롬프트를 정의합니다. 설정하지 않으면 기본 프롬프트가 사용됩니다. |
ConnectorTool
ConnectorTool을 사용하면 다양한 통합에 연결할 수 있습니다. https://cloud.google.com/integration-connectors/docs/overview를 참고하세요.
| 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을 호출할지 여부를 결정하는 데 사용할 수 있는 도구의 설명입니다. |
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 ( |
| 필드 | |
|---|---|
name |
필수 항목입니다. 데이터 스토어 도구 이름입니다. |
description |
선택사항입니다. 도구 설명입니다. |
boostSpecs[] |
선택사항입니다. 특정 문서를 부스팅하는 부스트 사양입니다. |
modalityConfigs[] |
선택사항입니다. 데이터 스토어의 모달리티 구성입니다. |
filterParameterBehavior |
선택사항입니다. 필터 매개변수 동작입니다. |
통합 필드 search_source. 단일 DataStore 또는 엔진인 검색 소스를 정의합니다. search_source은 다음 중 하나여야 합니다. |
|
dataStoreSource |
선택사항입니다. 단일 특정 DataStore 내에서 검색합니다. |
engineSource |
선택사항입니다. 엔진 내에서 검색합니다 (여러 데이터 스토어에 걸쳐 검색할 수 있음). |
DataStoreTool.DataStoreSource
특정 DataStore 내 검색 구성입니다.
| JSON 표현 |
|---|
{
"filter": string,
"dataStore": {
object ( |
| 필드 | |
|---|---|
filter |
선택사항입니다. DataStore의 필터 사양입니다. 참고: https://cloud.google.com/generative-ai-app-builder/docs/filter-search-metadata |
dataStore |
선택사항입니다. 데이터 스토어입니다. |
DataStore
Vertex AI Search의 DataStore 리소스입니다.
| JSON 표현 |
|---|
{ "name": string, "type": enum ( |
| 필드 | |
|---|---|
name |
필수 항목입니다. DataStore의 전체 리소스 이름입니다. 형식: |
type |
출력 전용입니다. 데이터 스토어의 유형입니다. 이 필드는 읽기 전용이며 서버에서 채워집니다. |
documentProcessingMode |
출력 전용입니다. 데이터 스토어 연결의 문서 처리 모드입니다. PUBLIC_WEB 및 UNSTRUCTURED 데이터 스토어에만 설정됩니다. |
displayName |
출력 전용입니다. 데이터 스토어의 표시 이름입니다. |
createTime |
출력 전용입니다. 데이터 스토어가 생성된 타임스탬프입니다. 생성된 출력은 항상 Z-정규화되고 소수점 이하 0, 3, 6 또는 9자리인 RFC 3339를 사용합니다. 'Z' 이외의 오프셋도 허용됩니다. 예를 들면 |
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 |
데이터 스토어가 속한 컬렉션의 리소스 이름입니다. |
collectionDisplayName |
데이터 스토어가 속한 컬렉션의 표시 이름입니다. |
dataSource |
데이터 소스의 이름입니다. 예: |
DataStoreTool.EngineSource
엔진 내 검색 구성으로, 특정 DataStore를 타겟팅할 수 있습니다.
| JSON 표현 |
|---|
{
"engine": string,
"dataStoreSources": [
{
object ( |
| 필드 | |
|---|---|
engine |
필수 항목입니다. 엔진의 전체 리소스 이름입니다. 형식: |
dataStoreSources[] |
선택사항입니다. 엔진 내에서 특정 데이터 스토어를 타겟팅하는 데 사용됩니다. 비어 있으면 검색이 엔진과 연결된 모든 데이터 스토어에 적용됩니다. |
filter |
선택사항입니다. 엔진 전체 검색에 적용된 필터입니다. '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 ( |
| 필드 | |
|---|---|
dataStores[] |
필수 항목입니다. 부스팅 구성이 적용되는 데이터 스토어입니다. DataStore의 전체 리소스 이름입니다(예: projects/{project}/locations/{location}/collections/{collection}/dataStores/{dataStore}). |
spec[] |
필수 항목입니다. 부스팅 사양 목록입니다. |
DataStoreTool.BoostSpec
특정 문서를 부스팅하는 부스트 사양입니다.
| JSON 표현 |
|---|
{
"conditionBoostSpecs": [
{
object ( |
| 필드 | |
|---|---|
conditionBoostSpecs[] |
필수 항목입니다. 부스팅 사양 목록입니다. |
DataStoreTool.BoostSpec.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 |
선택사항입니다. 고객 정의 속성 값을 기반으로 하는 맞춤 순위 지정의 복잡한 사양입니다. |
DataStoreTool.BoostSpec.ConditionBoostSpec.BoostControlSpec
고객 지정 속성 값을 기반으로 하는 맞춤 순위 지정 사양입니다. 위의 간단한 (조건, 부스트) 조합보다 맞춤 순위 지정에 더 많은 제어 기능을 제공합니다.
| JSON 표현 |
|---|
{ "fieldName": string, "attributeType": enum ( |
| 필드 | |
|---|---|
fieldName |
선택사항입니다. 값이 부스트 금액을 결정하는 데 사용되는 필드의 이름입니다. |
attributeType |
선택사항입니다. 부스트 금액을 결정하는 데 사용할 속성 유형입니다. 속성 값은 지정된 fieldName의 필드 값에서 파생될 수 있습니다. 숫자의 경우 간단합니다(예: attributeValue = numerical_field_value). 하지만 신선도의 경우 attributeValue = (time.now() - datetime_field_value)입니다. |
interpolationType |
선택사항입니다. 아래에 나열된 제어점을 연결하는 데 적용할 보간 유형입니다. |
controlPoints[] |
선택사항입니다. 곡선을 정의하는 데 사용되는 제어점입니다. 단조 함수 (위의 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 |
선택사항입니다. 다음 중 하나일 수 있습니다. 1. 숫자 필드 값입니다. 2. 새로고침 기간 사양입니다. 값은 XSD |
boostAmount |
선택사항입니다. attributeValue가 위에 지정된 값으로 평가되는 경우 점수를 높일 값(-1~1)입니다. |
DataStoreTool.ModalityConfig
지정된 경우 지정된 모달리티에 주어진 구성을 적용합니다.
| JSON 표현 |
|---|
{ "modalityType": enum ( |
| 필드 | |
|---|---|
modalityType |
필수 항목입니다. 모달리티 유형입니다. |
rewriterConfig |
선택사항입니다. 재작성기 구성입니다. |
summarizationConfig |
선택사항입니다. 요약 구성입니다. |
groundingConfig |
선택사항입니다. 그라운딩 구성입니다. |
DataStoreTool.ModalityConfig.ModalityType
모달리티 유형입니다.
| 열거형 | |
|---|---|
MODALITY_TYPE_UNSPECIFIED |
지정되지 않은 모달리티 유형입니다. |
TEXT |
텍스트 형식입니다. |
AUDIO |
오디오 모달리티입니다. |
DataStoreTool.RewriterConfig
재작성기 구성입니다.
| JSON 표현 |
|---|
{
"modelSettings": {
object ( |
| 필드 | |
|---|---|
modelSettings |
필수 항목입니다. LLM 모델의 구성입니다. |
prompt |
선택사항입니다. 프롬프트 정의입니다. 설정하지 않으면 기본 프롬프트가 사용됩니다. |
disabled |
선택사항입니다. 리라이터가 사용 중지되었는지 여부입니다. |
DataStoreTool.SummarizationConfig
요약 구성입니다.
| JSON 표현 |
|---|
{
"modelSettings": {
object ( |
| 필드 | |
|---|---|
modelSettings |
선택사항입니다. LLM 모델의 구성입니다. |
prompt |
선택사항입니다. 프롬프트 정의입니다. 설정하지 않으면 기본 프롬프트가 사용됩니다. |
disabled |
선택사항입니다. 요약이 사용 중지되었는지 여부입니다. |
DataStoreTool.GroundingConfig
그라운딩 구성입니다.
| JSON 표현 |
|---|
{ "groundingLevel": number, "disabled": boolean } |
| 필드 | |
|---|---|
groundingLevel |
선택사항입니다. 검색된 소스를 기반으로 한 답변의 그라운딩 기준입니다. 값의 구성 가능한 범위는 [1, 5]입니다. 이 수준은 답변의 그라운딩을 제한하는 데 사용됩니다. 즉, 그라운딩 점수가 기준점 미만인 모든 대답은 관련 스니펫만 반환하도록 대체됩니다. 예를 들어 수준이 3이면 대답이 반환되려면 그라운딩 점수가 3 이상이어야 합니다. |
disabled |
선택사항입니다. 그라운딩이 사용 중지되었는지 여부입니다. |
DataStoreTool.FilterParameterBehavior
필터 매개변수 동작
| 열거형 | |
|---|---|
FILTER_PARAMETER_BEHAVIOR_UNSPECIFIED |
기본 필터 동작입니다. 커넥터 데이터 스토어의 포함 필터 매개변수를 포함합니다. 나머지 데이터 스토어 유형의 경우 필터 입력 매개변수가 생략됩니다. |
ALWAYS_INCLUDE |
모든 데이터 스토어 유형에 필터 매개변수를 항상 포함합니다. |
NEVER_INCLUDE |
데이터 스토어 유형과 관계없이 필터 매개변수는 도구 매개변수 목록에 포함되지 않습니다. |
PythonFunction
Python 함수 도구입니다.
| JSON 표현 |
|---|
{
"name": string,
"pythonCode": string,
"description": string,
"serviceDirectoryConfig": {
object ( |
| 필드 | |
|---|---|
name |
선택사항입니다. 실행할 Python 함수의 이름입니다. Python 코드에 정의된 Python 함수 이름과 일치해야 합니다. 대소문자를 구분합니다. 이름을 제공하지 않으면 Python 코드에 정의된 첫 번째 함수가 사용됩니다. |
pythonCode |
선택사항입니다. 도구에서 실행할 Python 코드입니다. |
description |
출력 전용입니다. Python 코드의 문서 문자열에서 파싱된 Python 함수의 설명입니다. |
serviceDirectoryConfig |
선택사항입니다. 도구의 서비스 디렉터리 구성입니다. |
McpTool
MCP 도구입니다. 자세한 내용은 https://modelcontextprotocol.io/specification/2025-06-18/server/tools를 참고하세요.
| JSON 표현 |
|---|
{ "name": string, "nameOverride": string, "description": string, "inputSchema": { object ( |
| 필드 | |
|---|---|
name |
필수 항목입니다. MCP 도구의 이름입니다. |
nameOverride |
선택사항입니다. MCP 도구의 이름 재정의입니다. 이름이 도구 모음 재정의로 재정의된 경우 이 값이 채워집니다. |
description |
선택사항입니다. MCP 도구의 설명입니다. |
inputSchema |
선택사항입니다. MCP 도구의 입력 인수 스키마입니다. |
outputSchema |
선택사항입니다. MCP 도구의 출력 인수 스키마입니다. |
serverAddress |
필수 항목입니다. MCP 서버의 서버 주소입니다(예: 'https://example.com/mcp/'). 서버가 MCP SDK로 빌드된 경우 URL에 '/mcp/'이 접미사로 붙어야 합니다. 스트림 가능 HTTP 전송 기반 서버만 지원됩니다. 이는 McpToolset의 serverAddress와 동일합니다. 자세한 내용은 https://modelcontextprotocol.io/specification/2025-03-26/basic/transports#streamable-http를 참고하세요. |
apiAuthentication |
선택사항입니다. MCP 서버에 대해 도구를 실행하는 데 필요한 인증 정보입니다. 베어러 토큰 인증의 경우 토큰은 목록 도구가 아닌 도구 실행에만 적용됩니다. 이를 위해서는 인증 없이 도구를 나열할 수 있어야 합니다. |
tlsConfig |
선택사항입니다. TLS 구성입니다. 클라이언트가 신뢰해야 하는 맞춤 서버 인증서를 포함합니다. |
serviceDirectoryConfig |
선택사항입니다. 경계 내에서 서비스 이름을 확인하는 데 사용되는 VPC-SC의 서비스 디렉터리 구성입니다. |
customHeaders |
선택사항입니다. MCP 서버에 대한 요청에서 전송할 맞춤 헤더입니다. 값은
|
state |
출력 전용입니다. 외부 서버에 있는 도구의 동적 가용성 상태입니다. |
McpTool.State
도구의 동적 사용 가능 상태를 나타냅니다.
| 열거형 | |
|---|---|
STATE_UNSPECIFIED |
기본 상태입니다. |
ACTIVE |
도구를 사용할 수 있으며 서버에서 적극적으로 제공합니다. |
INACTIVE |
도구가 구성되었거나 고정되었지만 현재 서버에서 제공되지 않습니다. |
STALE |
도구가 서버에 있지만 서버의 버전과 일치하지 않습니다. |
FileSearchTool
파일 검색 도구를 사용하면 상담사가 앱/상담사 개발자가 업로드한 파일을 검색할 수 있습니다. 업로드된 파일에 대한 비교적 우수한 품질의 검색과 검색된 결과의 요약을 제공하는 사전 설정이 있습니다.
| JSON 표현 |
|---|
{
"corpusType": enum ( |
| 필드 | |
|---|---|
corpusType |
선택사항입니다. 코퍼스 유형입니다. 기본값은 FULLY_MANAGED입니다. |
name |
필수 항목입니다. 도구 이름입니다. |
description |
선택사항입니다. 도구 설명입니다. |
fileCorpus |
선택사항입니다. 파일이 저장된 말뭉치입니다. 형식: 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 |
필수 항목입니다. 시스템 도구의 이름입니다. |
description |
출력 전용입니다. 시스템 도구의 설명입니다. |
AgentTool
상담사가 다른 상담사에게 전화를 걸 수 있는 도구를 나타냅니다.
| JSON 표현 |
|---|
{ "name": string, "description": string, "rootAgent": string, "agent": string } |
| 필드 | |
|---|---|
name |
필수 항목입니다. 에이전트 도구의 이름입니다. |
description |
선택사항입니다. 도구의 용도에 관한 설명입니다. |
rootAgent |
선택사항입니다. 지원 중단됨: 대신 |
agent |
선택사항입니다. 도구의 진입점인 에이전트의 리소스 이름입니다. 형식: |
WidgetTool
에이전트가 호출할 수 있는 위젯 도구를 나타냅니다. 상담사가 도구를 선택하면 상담사가 위젯을 클라이언트에게 반환합니다. 클라이언트는 위젯을 처리하고 에이전트와의 상호작용을 계속하기 위해 다음 사용자 쿼리를 생성해야 합니다.
| JSON 표현 |
|---|
{ "name": string, "description": string, "widgetType": enum ( |
| 필드 | |
|---|---|
name |
필수 항목입니다. 위젯 도구의 표시 이름입니다. |
description |
선택사항입니다. 위젯 도구의 설명입니다. |
widgetType |
선택사항입니다. 위젯 도구의 유형입니다. 지정하지 않으면 기본 유형은 CUSTOMIZED입니다. |
uiConfig |
선택사항입니다. 위젯 렌더링을 위한 구성입니다. |
dataMapping |
선택사항입니다. 소스 도구의 데이터가 위젯의 입력 매개변수에 매핑되는 방식을 정의하는 매핑입니다. |
textResponseConfig |
선택사항입니다. 항상 포함되는 텍스트 응답의 구성입니다. |
통합 필드 input. 위젯 도구의 입력입니다. input은 다음 중 하나여야 합니다. |
|
parameters |
선택사항입니다. 위젯 도구의 입력 매개변수입니다. |
WidgetTool.WidgetType
사용 가능한 모든 위젯 유형입니다. 향후 이 enum에 새 값이 추가될 수 있습니다.
| 열거형 | |
|---|---|
WIDGET_TYPE_UNSPECIFIED |
지정되지 않은 위젯 유형입니다. |
CUSTOM |
맞춤 위젯 유형입니다. |
PRODUCT_CAROUSEL |
제품 캐러셀 위젯입니다. |
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 ( |
| 필드 | |
|---|---|
sourceToolName |
선택사항입니다. 위젯의 데이터를 제공하는 도구의 리소스 이름입니다 (예: 검색 도구 또는 맞춤 함수). 형식: |
fieldMappings |
선택사항입니다. 위젯 입력 매개변수 필드를 소스 도구의 해당 출력 필드에 매핑합니다.
|
pythonFunction |
선택사항입니다. 소스 도구의 출력을 위젯의 입력 형식으로 변환하는 데 사용되는 Python 함수의 구성입니다. |
mode |
선택사항입니다. 데이터 매핑 모드입니다. |
pythonScript |
지원 중단됨: 대신 |
WidgetTool.DataMapping.Mode
소스 도구의 데이터를 위젯에 매핑하는 데 사용되는 전략입니다.
| 열거형 | |
|---|---|
MODE_UNSPECIFIED |
지정되지 않은 모드입니다. |
FIELD_MAPPING |
데이터 변환에 fieldMappings 맵을 사용합니다. |
PYTHON_SCRIPT |
데이터 변환에 pythonScript 사용 |
WidgetTool.TextResponseConfig
위젯과 함께 반환되는 텍스트 응답의 구성입니다.
| JSON 표현 |
|---|
{
"type": enum ( |
| 필드 | |
|---|---|
type |
선택사항입니다. 텍스트 응답을 제공하는 전략입니다. |
staticText |
선택사항입니다. 유형이 STATIC일 때 반환할 정적 텍스트 응답입니다. |
textResponseInstruction |
선택사항입니다. 텍스트 응답을 생성하는 방법에 관한 LLM의 요청 사항입니다. 유형이 LLM_GENERATED인 경우 텍스트 응답 파라미터의 설명으로 사용됩니다. |
WidgetTool.TextResponseConfig.Type
텍스트 대답이 생성되는 방식을 정의합니다.
| 열거형 | |
|---|---|
TYPE_UNSPECIFIED |
알 수 없는 유형. |
NONE |
LLM은 대화 컨텍스트에 따라 위젯과 함께 텍스트 응답을 생성할지 여부를 동적으로 결정합니다. |
LLM_GENERATED |
LLM이 텍스트 응답을 생성해야 합니다. |
STATIC |
사전 정의된 정적 텍스트 응답이 항상 사용됩니다. |
RemoteAgentTool
에이전트가 다른 원격 에이전트를 호출할 수 있도록 지원하는 도구를 나타냅니다.
| JSON 표현 |
|---|
{
"name": string,
"description": string,
"agentCard": {
object ( |
| 필드 | |
|---|---|
name |
필수 항목입니다. 도구의 이름입니다. |
description |
필수 항목입니다. 도구에 대한 설명입니다. |
agentCard |
필수 항목입니다. 이 도구가 호출하는 원격 에이전트의 에이전트 카드입니다. |
AgentCard
AgentCard는 원격 에이전트에 관한 주요 정보를 전달합니다. A2A 프로토콜 https://a2a-protocol.org/dev/specification/#441-agentcard에 정의된 AgentCard의 트리밍된 버전입니다.
| JSON 표현 |
|---|
{ "name": string, "description": string, "supportedInterfaces": [ { object ( |
| 필드 | |
|---|---|
name |
필수 항목입니다. 인간이 읽을 수 있는 에이전트의 이름입니다. |
description |
필수 항목입니다. 에이전트의 작업 도메인/솔루션 공간에 대한 설명입니다. |
supportedInterfaces[] |
필수 항목입니다. 지원되는 인터페이스의 순서가 지정된 목록입니다. 첫 번째 항목이 선호됩니다. |
version |
필수 항목입니다. 에이전트 버전입니다. |
skills[] |
필수 항목입니다. 기술은 상담사가 수행할 수 있는 능력의 단위를 나타냅니다. 다소 추상적일 수 있지만 에이전트가 성공할 가능성이 높은 더 집중적인 작업 집합을 나타냅니다. |
AgentInterface
에이전트와 상호작용하기 위한 타겟 URL, 전송, 프로토콜 버전의 조합을 선언합니다. 이를 통해 에이전트는 여러 프로토콜 바인딩 메커니즘을 통해 동일한 기능을 노출할 수 있습니다.
| JSON 표현 |
|---|
{ "url": string, "protocolBinding": string, "tenant": string, "protocolVersion": string } |
| 필드 | |
|---|---|
url |
필수 항목입니다. 이 인터페이스를 사용할 수 있는 URL입니다. 프로덕션에서는 유효한 절대 HTTPS URL이어야 합니다. 예: 'https://api.example.com/a2a/v1', 'https://grpc.example.com/a2a' |
protocolBinding |
필수 항목입니다. 이 URL에서 지원되는 프로토콜 바인딩입니다. 이는 다른 프로토콜 바인딩을 위해 쉽게 확장할 수 있는 개방형 양식 문자열입니다. 공식적으로 지원되는 핵심 모델은 |
tenant |
에이전트를 호출할 때 요청에 사용할 테넌트 ID입니다. |
protocolVersion |
필수 항목입니다. 이 인터페이스가 노출하는 A2A 프로토콜의 버전입니다. 지원되는 최신 마이너 버전을 메이저 버전별로 사용합니다. 예: '0.3', '1.0' |
AgentSkill
에이전트가 실행할 수 있는 고유한 기능 또는 함수를 나타냅니다.
| JSON 표현 |
|---|
{ "id": string, "name": string, "description": string, "tags": [ string ], "examples": [ string ], "inputModes": [ string ], "outputModes": [ string ] } |
| 필드 | |
|---|---|
id |
필수 항목입니다. 상담사의 기술에 대한 고유 식별자입니다. |
name |
필수 항목입니다. 인간이 읽을 수 있는 기능 이름입니다. |
description |
필수 항목입니다. 스킬에 대한 자세한 설명입니다. |
tags[] |
필수 항목입니다. 스킬의 기능을 설명하는 키워드 세트입니다. |
examples[] |
이 기능이 처리할 수 있는 프롬프트 또는 시나리오의 예시입니다. |
inputModes[] |
이 스킬에 지원되는 입력 미디어 유형 집합으로, 에이전트의 기본값을 재정의합니다. |
outputModes[] |
이 기능에서 지원되는 출력 미디어 유형의 집합으로, 에이전트의 기본값을 재정의합니다. |
메서드 |
|
|---|---|
|
지정된 앱에 새 도구를 만듭니다. |
|
지정된 도구를 삭제합니다. |
|
지정된 도구의 세부정보를 가져옵니다. |
|
지정된 앱의 도구를 나열합니다. |
|
지정된 도구를 업데이트합니다. |