REST Resource: projects.locations.apps.tools

リソース: Tool

ツールは、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

ID。ツールのリソース名。形式:

  • スタンドアロン ツールの場合、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 秒です。

s で終わる小数 9 桁までの秒単位の期間。例: "3.5s"

createTime

string (Timestamp format)

出力専用。ツールが作成されたときのタイムスタンプ。

RFC 3339 を使用します。生成された出力は常に Z 正規化され、小数点以下は 0、3、6、または 9 桁になります。「Z」以外のオフセットも使用できます。例: "2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z""2014-10-02T15:01:23+05:30"

updateTime

string (Timestamp format)

出力専用。ツールが最後に更新されたときのタイムスタンプ。

RFC 3339 を使用します。生成された出力は常に Z 正規化され、小数点以下は 0、3、6、または 9 桁になります。「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)

省略可。Service Directory の構成。

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。検索ソース(単一のデータストアまたはエンジン)を定義します。search_source は次のいずれかになります。
dataStoreSource

object (DataStoreTool.DataStoreSource)

省略可。特定の 1 つの 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)

出力専用。データストアが作成されたときのタイムスタンプ。

RFC 3339 を使用します。生成された出力は常に Z 正規化され、小数点以下は 0、3、6、または 9 桁になります。「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

データソース名。例: salesforcejiraconfluencebigquery

DataStoreTool.EngineSource

Engine 内で検索するための構成。特定の DataStore をターゲットにする可能性があります。

JSON 表現
{
  "engine": string,
  "dataStoreSources": [
    {
      object (DataStoreTool.DataStoreSource)
    }
  ],
  "filter": string
}
フィールド
engine

string

必須。Engine の完全なリソース名。形式: projects/{project}/locations/{location}/collections/{collection}/engines/{engine}

dataStoreSources[]

object (DataStoreTool.DataStoreSource)

省略可。Engine 内の特定の DataStore をターゲットにするために使用します。空の場合、検索は Engine に関連付けられているすべての DataStore に適用されます。

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 言語コードのリストのみです。例: 言語 en または fr の候補をブーストするには: (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]] です。例: 5D3DT12H30MT24H

DataStoreTool.BoostSpec.ConditionBoostSpec.BoostControlSpec.InterpolationType

適用する補完タイプ。デフォルトは線形(区分線形)です。

列挙型
INTERPOLATION_TYPE_UNSPECIFIED 補完タイプが指定されていません。この場合、デフォルトは Linear になります。
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
}
フィールド
name

string

省略可。実行する Python 関数の名前。Python コードで定義された Python 関数名と一致する必要があります。大文字と小文字が区別されます。名前が指定されていない場合は、Python コードで定義されている最初の関数が使用されます。

pythonCode

string

省略可。ツールで実行する Python コード。

description

string

出力専用。Python コードの docstring から解析された Python 関数の説明。

McpTool

MCP ツール。詳しくは、https://modelcontextprotocol.io/specification/2025-06-18/server/tools をご覧ください。

JSON 表現
{
  "name": string,
  "description": string,
  "inputSchema": {
    object (Schema)
  },
  "outputSchema": {
    object (Schema)
  },
  "serverAddress": string,
  "apiAuthentication": {
    object (ApiAuthentication)
  },
  "tlsConfig": {
    object (TlsConfig)
  },
  "serviceDirectoryConfig": {
    object (ServiceDirectoryConfig)
  },
  "customHeaders": {
    string: string,
    ...
  }
}
フィールド
name

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 の Service Directory 構成。境界内のサービス名の解決に使用されます。

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" }

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

利用可能なすべてのウィジェット タイプ。今後、この列挙型に新しい値が追加される可能性があります。

列挙型
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 お問い合わせフォーム ウィジェット。

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 でサポートされているプロトコル バインディング。これはオープン フォーム文字列であり、他のプロトコル バインディングに簡単に拡張できます。正式にサポートされているコアは JSONRPCGRPCHTTP+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

指定されたツールを更新します。