ツール: 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 |
ID。ツールの一意の識別子。形式: - ツールセットから取得されたツールの |
displayName |
出力専用。ツールのタイプに基づいて導出されたツールの表示名。たとえば、[ClientFunction][Tool.ClientFunction] の表示名は、その |
executionType |
省略可。ツールの実行タイプ。 |
createTime |
出力専用。ツールが作成されたときのタイムスタンプ。 RFC 3339 を使用します。生成された出力は常に Z 正規化され、小数点以下は 0、3、6、または 9 桁になります。「Z」以外のオフセットも使用できます。例: |
updateTime |
出力専用。ツールが最後に更新されたときのタイムスタンプ。 RFC 3339 を使用します。生成された出力は常に Z 正規化され、小数点以下は 0、3、6、または 9 桁になります。「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[] |
省略可。値は、リスト内のサブスキーマのいずれか(1 つ以上)に対して検証される必要があります。 |
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 |
省略可。Service Directory の構成。 |
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 |
省略可。ベアラートークン認証の構成。 |
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 |
必須。署名なしトークン。 |
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 |
必須。Service Directory サービスの名前。形式: |
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 構成を指定するには、Connection で認証オーバーライドが有効になっている必要があります。有効になっていない場合、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[] |
省略可。オペレーションから返すエンティティ フィールド。フィールドが指定されていない場合は、Entity のすべてのフィールドが返されます。 |
共用体フィールド 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。検索ソース(単一のデータストアまたはエンジン)を定義します。search_source は次のいずれかになります。 |
|
dataStoreSource |
省略可。特定の 1 つの 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 |
出力専用。データストアが作成されたときのタイムスタンプ。 RFC 3339 を使用します。生成された出力は常に Z 正規化され、小数点以下は 0、3、6、または 9 桁になります。「Z」以外のオフセットも使用できます。例: |
connectorConfig |
出力専用。データストア接続のコネクタ構成。 |
タイムスタンプ
| JSON 表現 |
|---|
{ "seconds": string, "nanos": integer } |
| フィールド | |
|---|---|
seconds |
UNIX エポック 1970-01-01T00:00:00Z からの UTC 時刻の秒数を表します。-62135596800~253402300799 の範囲(両端を含む)にする必要があります(これは 0001-01-01T00:00:00Z~9999-12-31T23:59:59Z に対応します)。 |
nanos |
ナノ秒分解能による、秒の負ではない小数以下部分。このフィールドは、秒の代替ではなく、期間のナノ秒部分です。小数以下を含む負の秒の値は、時間を前方にカウントする負ではない nanos 値を持つ必要があります。0~999,999,999 にする必要があります(両端を含む)。 |
ConnectorConfig
| JSON 表現 |
|---|
{ "collection": string, "collectionDisplayName": string, "dataSource": string } |
| フィールド | |
|---|---|
collection |
データストアが属するコレクションのリソース名。 |
collectionDisplayName |
データストアが属するコレクションの表示名。 |
dataSource |
データソース名。例: |
EngineSource
| JSON 表現 |
|---|
{
"engine": string,
"dataStoreSources": [
{
object ( |
| フィールド | |
|---|---|
engine |
必須。Engine の完全なリソース名。形式: |
dataStoreSources[] |
省略可。Engine 内の特定の DataStore をターゲットにするために使用します。空の場合、検索は Engine に関連付けられているすべての DataStore に適用されます。 |
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 言語コードのリストのみです。例: 言語 en または fr の候補をブーストするには: (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 コードの docstring から解析された 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 の Service Directory 構成。境界内のサービス名の解決に使用されます。 |
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 |
ID。ツールの一意の識別子。形式: - ツールセットから取得されたツールの |
displayName |
出力専用。ツールのタイプに基づいて導出されたツールの表示名。たとえば、[ClientFunction][Tool.ClientFunction] の表示名は、その |
executionType |
省略可。ツールの実行タイプ。 |
createTime |
出力専用。ツールが作成されたときのタイムスタンプ。 RFC 3339 を使用します。生成された出力は常に Z 正規化され、小数点以下は 0、3、6、または 9 桁になります。「Z」以外のオフセットも使用できます。例: |
updateTime |
出力専用。ツールが最後に更新されたときのタイムスタンプ。 RFC 3339 を使用します。生成された出力は常に Z 正規化され、小数点以下は 0、3、6、または 9 桁になります。「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[] |
省略可。値は、リスト内のサブスキーマのいずれか(1 つ以上)に対して検証される必要があります。 |
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 |
省略可。Service Directory の構成。 |
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 |
省略可。ベアラートークン認証の構成。 |
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 |
必須。署名なしトークン。 |
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 |
必須。Service Directory サービスの名前。形式: |
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 構成を指定するには、Connection で認証オーバーライドが有効になっている必要があります。有効になっていない場合、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[] |
省略可。オペレーションから返すエンティティ フィールド。フィールドが指定されていない場合は、Entity のすべてのフィールドが返されます。 |
共用体フィールド 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。検索ソース(単一のデータストアまたはエンジン)を定義します。search_source は次のいずれかになります。 |
|
dataStoreSource |
省略可。特定の 1 つの 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 |
出力専用。データストアが作成されたときのタイムスタンプ。 RFC 3339 を使用します。生成された出力は常に Z 正規化され、小数点以下は 0、3、6、または 9 桁になります。「Z」以外のオフセットも使用できます。例: |
connectorConfig |
出力専用。データストア接続のコネクタ構成。 |
タイムスタンプ
| JSON 表現 |
|---|
{ "seconds": string, "nanos": integer } |
| フィールド | |
|---|---|
seconds |
UNIX エポック 1970-01-01T00:00:00Z からの UTC 時刻の秒数を表します。-62135596800~253402300799 の範囲(両端を含む)にする必要があります(これは 0001-01-01T00:00:00Z~9999-12-31T23:59:59Z に対応します)。 |
nanos |
ナノ秒分解能による、秒の負ではない小数以下部分。このフィールドは、秒の代替ではなく、期間のナノ秒部分です。小数以下を含む負の秒の値は、時間を前方にカウントする負ではない nanos 値を持つ必要があります。0~999,999,999 にする必要があります(両端を含む)。 |
ConnectorConfig
| JSON 表現 |
|---|
{ "collection": string, "collectionDisplayName": string, "dataSource": string } |
| フィールド | |
|---|---|
collection |
データストアが属するコレクションのリソース名。 |
collectionDisplayName |
データストアが属するコレクションの表示名。 |
dataSource |
データソース名。例: |
EngineSource
| JSON 表現 |
|---|
{
"engine": string,
"dataStoreSources": [
{
object ( |
| フィールド | |
|---|---|
engine |
必須。Engine の完全なリソース名。形式: |
dataStoreSources[] |
省略可。Engine 内の特定の DataStore をターゲットにするために使用します。空の場合、検索は Engine に関連付けられているすべての DataStore に適用されます。 |
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 言語コードのリストのみです。例: 言語 en または fr の候補をブーストするには: (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 コードの docstring から解析された 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 の Service Directory 構成。境界内のサービス名の解決に使用されます。 |
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 を返すと、代わりに実際のツールが呼び出されます。 |
ツールのアノテーション
破壊的ヒント: ✅ | べき等ヒント: ❌ | 読み取り専用ヒント: ❌ | オープン ワールド ヒント: ❌