REST Resource: projects.locations.apps.tools

Resource: Tool

Alat mewakili tindakan yang dapat dilakukan agen CES untuk mencapai tujuan tertentu.

Representasi 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.
}
Kolom
name

string

ID. Nama resource alat. Format:

  • projects/{project}/locations/{location}/apps/{app}/tools/{tool} untuk alat mandiri.
  • projects/{project}/locations/{location}/apps/{app}/toolsets/{toolset}/tools/{tool} untuk alat yang diambil dari toolset.

Alat ini bersifat dinamis dan hanya menghasilkan output; alat ini tidak dapat dirujuk secara langsung jika alat diperlukan.

displayName

string

Hanya output. Nama tampilan alat, yang berasal dari jenis alat. Misalnya, nama tampilan [ClientFunction][Tool.ClientFunction] berasal dari properti name-nya.

executionType

enum (ExecutionType)

Opsional. Jenis eksekusi alat.

timeout

string (Duration format)

Opsional. Waktu tunggu untuk eksekusi alat. Jika tidak ditetapkan, waktu tunggu default adalah 30 detik untuk alat SYNCHRONOUS dan 60 detik untuk alat ASYNCHRONOUS.

Durasi dalam detik dengan maksimal sembilan digit pecahan, yang diakhiri dengan 's'. Contoh: "3.5s".

createTime

string (Timestamp format)

Hanya output. Stempel waktu saat alat dibuat.

Menggunakan RFC 3339 yang outputnya akan selalu dinormalisasi Z dan menggunakan 0, 3, 6, atau 9 digit pecahan. Offset selain "Z" juga diterima. Contoh: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z", atau "2014-10-02T15:01:23+05:30".

updateTime

string (Timestamp format)

Hanya output. Stempel waktu saat alat terakhir diperbarui.

Menggunakan RFC 3339 yang outputnya akan selalu dinormalisasi Z dan menggunakan 0, 3, 6, atau 9 digit pecahan. Offset selain "Z" juga diterima. Contoh: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z", atau "2014-10-02T15:01:23+05:30".

etag

string

ETag yang digunakan untuk memastikan objek tidak berubah selama operasi baca-ubah-tulis. Jika etag kosong, pembaruan akan menimpa perubahan serentak.

generatedSummary

string

Hanya output. Jika alat dibuat oleh asisten LLM, kolom ini berisi ringkasan deskriptif dari pembuatan.

toolFakeConfig

object (ToolFakeConfig)

Opsional. Konfigurasi untuk perilaku alat dalam mode palsu.

Kolom union tool_type. Jenis alat. tool_type hanya ada berupa salah satu diantara berikut:
clientFunction

object (ClientFunction)

Opsional. Fungsi klien.

openApiTool

object (OpenApiTool)

Opsional. Alat API terbuka.

googleSearchTool

object (GoogleSearchTool)

Opsional. Alat penelusuran google.

connectorTool

object (ConnectorTool)

Opsional. Alat Integration Connector.

dataStoreTool

object (DataStoreTool)

Opsional. Alat penyimpanan data.

pythonFunction

object (PythonFunction)

Opsional. Alat fungsi python.

mcpTool

object (McpTool)

Opsional. Alat MCP. Alat MCP tidak dapat dibuat atau diperbarui secara langsung dan dikelola oleh toolset MCP.

fileSearchTool

object (FileSearchTool)

Opsional. Alat penelusuran file.

systemTool

object (SystemTool)

Opsional. Alat sistem.

agentTool

object (AgentTool)

Opsional. Alat agen.

widgetTool

object (WidgetTool)

Opsional. Alat widget.

remoteAgentTool

object (RemoteAgentTool)

Opsional. Alat agen jarak jauh.

ClientFunction

Mewakili fungsi sisi klien yang dapat dipanggil oleh agen. Saat alat dipilih oleh agen, kontrol akan diserahkan kepada klien. Klien bertanggung jawab untuk menjalankan fungsi dan menampilkan hasilnya sebagai ToolResponse untuk melanjutkan interaksi dengan agen.

Representasi JSON
{
  "name": string,
  "description": string,
  "parameters": {
    object (Schema)
  },
  "response": {
    object (Schema)
  }
}
Kolom
name

string

Wajib. Nama fungsi.

description

string

Opsional. Deskripsi fungsi.

parameters

object (Schema)

Opsional. Skema parameter fungsi.

response

object (Schema)

Opsional. Skema respons fungsi.

OpenApiTool

Alat API jarak jauh yang ditentukan oleh skema OpenAPI.

Representasi JSON
{
  "openApiSchema": string,
  "name": string,
  "description": string,
  "apiAuthentication": {
    object (ApiAuthentication)
  },
  "tlsConfig": {
    object (TlsConfig)
  },
  "serviceDirectoryConfig": {
    object (ServiceDirectoryConfig)
  },
  "ignoreUnknownFields": boolean,
  "url": string
}
Kolom
openApiSchema

string

Wajib. Skema OpenAPI dalam format JSON atau YAML.

name

string

Opsional. Nama alat. Jika tidak diberikan, nama alat akan diambil dari skema OpenAPI, dari operation.operationId.

description

string

Opsional. Deskripsi alat. Jika tidak diberikan, deskripsi alat akan berasal dari skema OpenAPI, dari operation.description atau operation.summary.

apiAuthentication

object (ApiAuthentication)

Opsional. Informasi autentikasi yang diperlukan oleh API.

tlsConfig

object (TlsConfig)

Opsional. Konfigurasi TLS. Mencakup sertifikat server kustom yang akan dipercayai klien.

serviceDirectoryConfig

object (ServiceDirectoryConfig)

Opsional. Konfigurasi Direktori Layanan.

ignoreUnknownFields

boolean

Opsional. Jika benar, agen akan mengabaikan kolom yang tidak diketahui dalam respons API.

url

string

Opsional. URL server skema Open API. Kolom ini hanya ditetapkan di alat dalam dependensi lingkungan selama proses ekspor jika skema berisi URL server. Selama proses impor, jika URL ini ada dalam dependensi lingkungan dan skema memiliki placeholder $env_var, URL ini akan menggantikan placeholder dalam skema.

GoogleSearchTool

Menampilkan alat untuk melakukan penelusuran web Google untuk perujukan. Lihat https://cloud.google.com/customer-engagement-ai/conversational-agents/ps/tool#google-search.

Representasi JSON
{
  "name": string,
  "description": string,
  "contextUrls": [
    string
  ],
  "preferredDomains": [
    string
  ],
  "excludeDomains": [
    string
  ],
  "promptConfig": {
    object (GoogleSearchTool.PromptConfig)
  }
}
Kolom
name

string

Wajib. Nama alat.

description

string

Opsional. Deskripsi tujuan alat.

contextUrls[]

string

Opsional. Konten akan diambil langsung dari URL ini untuk konteks dan perujukan. Contoh: "https://example.com/path.html". Maksimum 20 URL yang diizinkan.

preferredDomains[]

string

Opsional. Menentukan domain untuk membatasi hasil penelusuran. Contoh: "example.com", "another.site". Maksimum 20 domain dapat ditentukan.

excludeDomains[]

string

Opsional. Daftar domain yang akan dikecualikan dari hasil penelusuran. Contoh: "example.com". Maksimum 2.000 domain dapat dikecualikan.

promptConfig

object (GoogleSearchTool.PromptConfig)

Opsional. Petunjuk perintah yang diteruskan ke perencana tentang cara hasil penelusuran harus diproses untuk teks dan suara.

GoogleSearchTool.PromptConfig

Setelan perintah yang digunakan oleh model saat memproses atau meringkas hasil penelusuran google.

Representasi JSON
{
  "textPrompt": string,
  "voicePrompt": string
}
Kolom
textPrompt

string

Opsional. Menentukan perintah yang digunakan untuk petunjuk sistem saat berinteraksi dengan agen dalam percakapan chat. Jika tidak disetel, perintah default akan digunakan.

voicePrompt

string

Opsional. Menentukan perintah yang digunakan untuk petunjuk sistem saat berinteraksi dengan agen dalam percakapan suara. Jika tidak disetel, perintah default akan digunakan.

ConnectorTool

ConnectorTool memungkinkan koneksi ke berbagai integrasi. Lihat: https://cloud.google.com/integration-connectors/docs/overview.

Representasi JSON
{
  "connection": string,
  "action": {
    object (Action)
  },
  "authConfig": {
    object (EndUserAuthConfig)
  },
  "name": string,
  "description": string
}
Kolom
connection

string

Wajib. Nama resource lengkap Koneksi Integration Connectors yang dirujuk. Format: projects/{project}/locations/{location}/connections/{connection}

action

object (Action)

Wajib. Tindakan yang akan digunakan alat.

authConfig

object (EndUserAuthConfig)

Opsional. Mengonfigurasi cara penanganan autentikasi di Integration Connectors. Secara default, autentikasi admin diteruskan dalam permintaan API Integration Connectors. Anda dapat menggantinya dengan konfigurasi autentikasi pengguna akhir yang berbeda. Catatan: Koneksi harus mengaktifkan penggantian autentikasi agar dapat menentukan konfigurasi EUC di sini. Jika tidak, pembuatan ConnectorTool akan gagal. Lihat https://cloud.google.com/application-integration/docs/configure-connectors-task#configure-authentication-override untuk mengetahui detailnya.

name

string

Opsional. Nama alat yang dapat digunakan oleh Agen untuk memutuskan apakah akan memanggil ConnectorTool ini.

description

string

Opsional. Deskripsi alat yang dapat digunakan oleh Agen untuk memutuskan apakah akan memanggil ConnectorTool ini atau tidak.

DataStoreTool

Alat untuk mengambil dari datastore atau mesin Vertex AI Search untuk melakukan perujukan. Menerima datastore atau mesin, tetapi tidak keduanya. Lihat Vertex AI Search: https://cloud.google.com/generative-ai-app-builder/docs/enterprise-search-introduction.

Representasi 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.
}
Kolom
name

string

Wajib. Nama alat penyimpanan data.

description

string

Opsional. Deskripsi alat.

boostSpecs[]

object (DataStoreTool.BoostSpecs)

Opsional. Spesifikasi penguatan untuk menguatkan dokumen tertentu.

modalityConfigs[]

object (DataStoreTool.ModalityConfig)

Opsional. Konfigurasi modalitas untuk penyimpanan data.

filterParameterBehavior

enum (DataStoreTool.FilterParameterBehavior)

Opsional. Perilaku parameter filter.

Kolom union search_source. Menentukan sumber penelusuran, baik DataStore tunggal maupun Mesin Telusur. search_source hanya ada berupa salah satu diantara berikut:
dataStoreSource

object (DataStoreTool.DataStoreSource)

Opsional. Menelusuri dalam satu DataStore tertentu.

engineSource

object (DataStoreTool.EngineSource)

Opsional. Menelusuri dalam Engine (berpotensi di beberapa DataStore).

DataStoreTool.DataStoreSource

Konfigurasi untuk menelusuri dalam DataStore tertentu.

Representasi JSON
{
  "filter": string,
  "dataStore": {
    object (DataStore)
  }
}
Kolom
filter

string

Opsional. Spesifikasi filter untuk DataStore. Lihat: https://cloud.google.com/generative-ai-app-builder/docs/filter-search-metadata

dataStore

object (DataStore)

Opsional. Penyimpanan data.

DataStore

Resource DataStore di Vertex AI Search.

Representasi JSON
{
  "name": string,
  "type": enum (DataStore.DataStoreType),
  "documentProcessingMode": enum (DataStore.DocumentProcessingMode),
  "displayName": string,
  "createTime": string,
  "connectorConfig": {
    object (DataStore.ConnectorConfig)
  }
}
Kolom
name

string

Wajib. Nama lengkap resource DataStore. Format: projects/{project}/locations/{location}/collections/{collection}/dataStores/{dataStore}

type

enum (DataStore.DataStoreType)

Hanya output. Jenis penyimpanan data. Kolom ini bersifat hanya baca dan diisi oleh server.

documentProcessingMode

enum (DataStore.DocumentProcessingMode)

Hanya output. Mode pemrosesan dokumen untuk koneksi penyimpanan data. Hanya ditetapkan untuk penyimpanan data PUBLIC_WEB dan UNSTRUCTURED.

displayName

string

Hanya output. Nama tampilan penyimpanan data.

createTime

string (Timestamp format)

Hanya output. Stempel waktu saat penyimpanan data dibuat.

Menggunakan RFC 3339 yang outputnya akan selalu dinormalisasi Z dan menggunakan 0, 3, 6, atau 9 digit pecahan. Offset selain "Z" juga diterima. Contoh: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z", atau "2014-10-02T15:01:23+05:30".

connectorConfig

object (DataStore.ConnectorConfig)

Hanya output. Konfigurasi konektor untuk koneksi penyimpanan data.

DataStore.DataStoreType

Jenis penyimpanan data.

Enum
DATA_STORE_TYPE_UNSPECIFIED Tidak ditentukan. Nilai ini menunjukkan bahwa jenis penyimpanan data tidak ditentukan, sehingga tidak akan digunakan selama penelusuran.
PUBLIC_WEB Penyimpanan data yang berisi konten web publik.
UNSTRUCTURED Penyimpanan data yang berisi data pribadi tidak terstruktur.
FAQ Penyimpanan data yang berisi data terstruktur yang digunakan sebagai FAQ.
CONNECTOR Penyimpanan data yang merupakan konektor ke layanan pihak pertama atau pihak ketiga.

DataStore.DocumentProcessingMode

Mode pemrosesan dokumen penyimpanan data.

Enum
DOCUMENT_PROCESSING_MODE_UNSPECIFIED Tidak ditentukan.
DOCUMENTS Dokumen diproses sebagai dokumen.
CHUNKS Dokumen dikonversi menjadi potongan.

DataStore.ConnectorConfig

Konfigurasi konektor untuk koneksi penyimpanan data.

Representasi JSON
{
  "collection": string,
  "collectionDisplayName": string,
  "dataSource": string
}
Kolom
collection

string

Nama resource koleksi tempat penyimpanan data berada.

collectionDisplayName

string

Nama tampilan koleksi tempat penyimpanan data berada.

dataSource

string

Nama sumber data. Contoh: salesforce, jira, confluence, bigquery.

DataStoreTool.EngineSource

Konfigurasi untuk penelusuran dalam Mesin Telusur, yang berpotensi menargetkan DataStore tertentu.

Representasi JSON
{
  "engine": string,
  "dataStoreSources": [
    {
      object (DataStoreTool.DataStoreSource)
    }
  ],
  "filter": string
}
Kolom
engine

string

Wajib. Nama lengkap resource Engine. Format: projects/{project}/locations/{location}/collections/{collection}/engines/{engine}

dataStoreSources[]

object (DataStoreTool.DataStoreSource)

Opsional. Digunakan untuk menargetkan DataStore tertentu dalam Engine. Jika kosong, penelusuran berlaku untuk semua DataStore yang terkait dengan Engine.

filter

string

Opsional. Filter yang diterapkan pada penelusuran di seluruh Mesin Telusur. Tidak relevan dan tidak digunakan jika 'dataStoreSources' diberikan. Lihat: https://cloud.google.com/generative-ai-app-builder/docs/filter-search-metadata

DataStoreTool.BoostSpecs

Spesifikasi penguatan untuk menguatkan dokumen tertentu. Untuk mengetahui informasi selengkapnya, lihat https://cloud.google.com/generative-ai-app-builder/docs/boosting.

Representasi JSON
{
  "dataStores": [
    string
  ],
  "spec": [
    {
      object (DataStoreTool.BoostSpec)
    }
  ]
}
Kolom
dataStores[]

string

Wajib. Penyimpanan Data tempat konfigurasi peningkatan diterapkan. Nama resource lengkap DataStore, seperti projects/{project}/locations/{location}/collections/{collection}/dataStores/{dataStore}.

spec[]

object (DataStoreTool.BoostSpec)

Wajib. Daftar spesifikasi peningkat.

DataStoreTool.BoostSpec

Spesifikasi penguatan untuk menguatkan dokumen tertentu.

Representasi JSON
{
  "conditionBoostSpecs": [
    {
      object (DataStoreTool.BoostSpec.ConditionBoostSpec)
    }
  ]
}
Kolom
conditionBoostSpecs[]

object (DataStoreTool.BoostSpec.ConditionBoostSpec)

Wajib. Daftar spesifikasi peningkat.

DataStoreTool.BoostSpec.ConditionBoostSpec

Spesifikasi penguatan untuk suatu kondisi.

Representasi JSON
{
  "condition": string,
  "boost": number,
  "boostControlSpec": {
    object (DataStoreTool.BoostSpec.ConditionBoostSpec.BoostControlSpec)
  }
}
Kolom
condition

string

Wajib. Ekspresi yang menentukan kondisi peninggian. Sintaksisnya sama dengan sintaksis ekspresi filter. Saat ini, satu-satunya kondisi yang didukung adalah daftar kode bahasa BCP-47. Contoh: Untuk meningkatkan saran dalam bahasa Inggris atau Prancis: (lang_code: ANY("en", "fr"))

boost

number

Opsional. Kekuatan pendorong, yang harus berada dalam [-1, 1]. Peningkatan negatif berarti penurunan. Nilai defaultnya adalah 0.0.

Menetapkan ke 1.0 akan memberikan promosi besar pada saran. Namun, hasil teratas tidak selalu merupakan saran yang dipromosikan.

Menyetel ke -1,0 akan menurunkan saran secara signifikan. Namun, saran lain yang relevan mungkin masih ditampilkan.

Menyetel ke 0,0 berarti tidak ada peningkatan yang diterapkan. Kondisi peningkatan diabaikan.

boostControlSpec

object (DataStoreTool.BoostSpec.ConditionBoostSpec.BoostControlSpec)

Opsional. Spesifikasi kompleks untuk peringkat kustom berdasarkan nilai atribut yang ditentukan pelanggan.

DataStoreTool.BoostSpec.ConditionBoostSpec.BoostControlSpec

Spesifikasi untuk peringkat kustom berdasarkan nilai atribut yang ditentukan pelanggan. Fungsi ini memberikan lebih banyak kontrol untuk peringkat yang disesuaikan daripada kombinasi sederhana (kondisi, peningkatan) di atas.

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

string

Opsional. Nama kolom yang nilainya akan digunakan untuk menentukan jumlah peningkat.

attributeType

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

Opsional. Jenis atribut yang akan digunakan untuk menentukan jumlah peningkat. Nilai atribut dapat diperoleh dari nilai kolom fieldName yang ditentukan. Untuk nilai numerik, prosesnya sederhana, yaitu attributeValue = numerical_field_value. Namun, dalam kasus keaktualan, attributeValue = (time.now() - datetime_field_value).

interpolationType

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

Opsional. Jenis interpolasi yang akan diterapkan untuk menghubungkan titik kontrol yang tercantum di bawah.

controlPoints[]

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

Opsional. Titik kontrol yang digunakan untuk menentukan kurva. Fungsi monotonik (ditentukan melalui interpolationType di atas) melewati titik kontrol yang tercantum di sini.

DataStoreTool.BoostSpec.ConditionBoostSpec.BoostControlSpec.AttributeType

Atribut(atau fungsi) yang akan diterapkan peringkat kustomnya.

Enum
ATTRIBUTE_TYPE_UNSPECIFIED AttributeType tidak ditentukan.
NUMERICAL Nilai kolom numerik akan digunakan untuk memperbarui jumlah peningkat secara dinamis. Dalam hal ini, attributeValue (nilai x) titik kontrol akan menjadi nilai sebenarnya dari kolom numerik yang boostAmount-nya ditentukan.
FRESHNESS Untuk kasus penggunaan keaktualan, nilai atribut akan berupa durasi antara waktu saat ini dan tanggal di kolom datetime yang ditentukan. Nilai harus diformat sebagai nilai XSD dayTimeDuration (subset terbatas dari nilai durasi ISO 8601). Pola untuk ini adalah: [nD][T[nH][nM][nS]]. Misalnya, 5D, 3DT12H30M, T24H.

DataStoreTool.BoostSpec.ConditionBoostSpec.BoostControlSpec.InterpolationType

Jenis interpolasi yang akan diterapkan. Defaultnya adalah linear (Piecewise Linear).

Enum
INTERPOLATION_TYPE_UNSPECIFIED Jenis interpolasi tidak ditentukan. Dalam hal ini, nilai defaultnya adalah Linear.
LINEAR Interpolasi linear sepotong-sepotong akan diterapkan.

DataStoreTool.BoostSpec.ConditionBoostSpec.BoostControlSpec.ControlPoint

Titik kontrol yang digunakan untuk menentukan kurva. Kurva yang ditentukan melalui titik kontrol ini hanya dapat meningkat atau menurun secara monoton(nilai konstan dapat diterima).

Representasi JSON
{
  "attributeValue": string,
  "boostAmount": number
}
Kolom
attributeValue

string

Opsional. Dapat berupa salah satu dari: 1. Nilai kolom numerik. 2. Spesifikasi durasi untuk keaktualan: Nilai harus diformat sebagai nilai XSD dayTimeDuration (subset terbatas dari nilai durasi ISO 8601). Pola untuk ini adalah: [nD][T[nH][nM][nS]].

boostAmount

number

Opsional. Nilai antara -1 hingga 1 yang digunakan untuk meningkatkan skor jika attributeValue dievaluasi ke nilai yang ditentukan di atas.

DataStoreTool.ModalityConfig

Jika ditentukan, akan menerapkan konfigurasi yang diberikan untuk modalitas yang ditentukan.

Representasi JSON
{
  "modalityType": enum (DataStoreTool.ModalityConfig.ModalityType),
  "rewriterConfig": {
    object (DataStoreTool.RewriterConfig)
  },
  "summarizationConfig": {
    object (DataStoreTool.SummarizationConfig)
  },
  "groundingConfig": {
    object (DataStoreTool.GroundingConfig)
  }
}
Kolom
modalityType

enum (DataStoreTool.ModalityConfig.ModalityType)

Wajib. Jenis modalitas.

rewriterConfig

object (DataStoreTool.RewriterConfig)

Opsional. Konfigurasi penulis ulang.

summarizationConfig

object (DataStoreTool.SummarizationConfig)

Opsional. Konfigurasi ringkasan.

groundingConfig

object (DataStoreTool.GroundingConfig)

Opsional. Konfigurasi perujukan.

DataStoreTool.ModalityConfig.ModalityType

Jenis modalitas.

Enum
MODALITY_TYPE_UNSPECIFIED Jenis modalitas tidak ditentukan.
TEXT Modalitas teks.
AUDIO Modalitas audio.

DataStoreTool.RewriterConfig

Konfigurasi penulis ulang.

Representasi JSON
{
  "modelSettings": {
    object (ModelSettings)
  },
  "prompt": string,
  "disabled": boolean
}
Kolom
modelSettings

object (ModelSettings)

Wajib. Konfigurasi untuk model LLM.

prompt

string

Opsional. Definisi perintah. Jika tidak disetel, perintah default akan digunakan.

disabled

boolean

Opsional. Apakah penulis ulang dinonaktifkan.

DataStoreTool.SummarizationConfig

Konfigurasi ringkasan.

Representasi JSON
{
  "modelSettings": {
    object (ModelSettings)
  },
  "prompt": string,
  "disabled": boolean
}
Kolom
modelSettings

object (ModelSettings)

Opsional. Konfigurasi untuk model LLM.

prompt

string

Opsional. Definisi perintah. Jika tidak disetel, perintah default akan digunakan.

disabled

boolean

Opsional. Apakah ringkasan dinonaktifkan.

DataStoreTool.GroundingConfig

Konfigurasi perujukan.

Representasi JSON
{
  "groundingLevel": number,
  "disabled": boolean
}
Kolom
groundingLevel

number

Opsional. Ambang batas perujukan jawaban berdasarkan sumber yang diambil. Nilai memiliki rentang yang dapat dikonfigurasi [1, 5]. Tingkat ini digunakan untuk menentukan batas keterujukan jawaban, yang berarti bahwa semua respons dengan skor keterujukan di bawah batas akan kembali menampilkan cuplikan yang relevan saja.

Misalnya, tingkat 3 berarti skor perujukan harus 3 atau lebih tinggi agar respons ditampilkan.

disabled

boolean

Opsional. Apakah perujukan dinonaktifkan.

DataStoreTool.FilterParameterBehavior

Perilaku parameter filter.

Enum
FILTER_PARAMETER_BEHAVIOR_UNSPECIFIED Perilaku filter default. Sertakan parameter filter untuk penyimpanan data konektor. Untuk jenis datastore lainnya, parameter input filter dihilangkan.
ALWAYS_INCLUDE Selalu sertakan parameter filter untuk semua jenis penyimpanan data.
NEVER_INCLUDE Parameter filter tidak pernah disertakan dalam daftar parameter alat, terlepas dari jenis datastore.

PythonFunction

Alat fungsi Python.

Representasi JSON
{
  "name": string,
  "pythonCode": string,
  "description": string
}
Kolom
name

string

Opsional. Nama fungsi Python yang akan dijalankan. Harus cocok dengan nama fungsi Python yang ditentukan dalam kode python. Peka huruf besar/kecil. Jika nama tidak diberikan, fungsi pertama yang ditentukan dalam kode python akan digunakan.

pythonCode

string

Opsional. Kode Python yang akan dieksekusi untuk alat.

description

string

Hanya output. Deskripsi fungsi Python, diuraikan dari docstring kode python.

McpTool

Alat MCP. Lihat https://modelcontextprotocol.io/specification/2025-06-18/server/tools untuk mengetahui detail selengkapnya.

Representasi 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,
    ...
  }
}
Kolom
name

string

Wajib. Nama alat MCP.

description

string

Opsional. Deskripsi alat MCP.

inputSchema

object (Schema)

Opsional. Skema argumen input alat MCP.

outputSchema

object (Schema)

Opsional. Skema argumen output alat MCP.

serverAddress

string

Wajib. Alamat server MCP, misalnya, "https://example.com/mcp/". Jika server dibangun dengan MCP SDK, URL harus memiliki akhiran "/mcp/". Hanya server berbasis transport HTTP yang dapat di-streaming yang didukung. Ini sama dengan serverAddress di McpToolset. Lihat https://modelcontextprotocol.io/specification/2025-03-26/basic/transports#streamable-http untuk mengetahui detail selengkapnya.

apiAuthentication

object (ApiAuthentication)

Opsional. Informasi autentikasi yang diperlukan untuk menjalankan alat terhadap server MCP. Untuk autentikasi token pembawa, token hanya berlaku untuk eksekusi alat, bukan untuk alat listingan. Hal ini mengharuskan alat dapat dicantumkan tanpa autentikasi.

tlsConfig

object (TlsConfig)

Opsional. Konfigurasi TLS. Mencakup sertifikat server kustom yang harus dipercaya oleh klien.

serviceDirectoryConfig

object (ServiceDirectoryConfig)

Opsional. Konfigurasi Service Directory untuk VPC-SC, yang digunakan untuk me-resolve nama layanan dalam perimeter.

customHeaders

map (key: string, value: string)

Opsional. Header kustom yang akan dikirim dalam permintaan ke server MCP. Nilai harus dalam format $context.variables.<name_of_variable> dan dapat ditetapkan dalam variabel sesi. Lihat https://docs.cloud.google.com/customer-engagement-ai/conversational-agents/ps/tool/open-api#openapi-injection untuk mengetahui detail selengkapnya.

Objek yang berisi daftar pasangan "key": value. Contoh: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

FileSearchTool

Alat penelusuran file memungkinkan agen menelusuri file yang diupload oleh developer aplikasi/agen. Gemini memiliki preset untuk memberikan penelusuran berkualitas cukup baik atas file yang diupload dan ringkasan hasil yang diambil.

Representasi JSON
{
  "corpusType": enum (FileSearchTool.CorpusType),
  "name": string,
  "description": string,
  "fileCorpus": string
}
Kolom
corpusType

enum (FileSearchTool.CorpusType)

Opsional. Jenis korpus. Default-nya adalah FULLY_MANAGED.

name

string

Wajib. Nama alat.

description

string

Opsional. Deskripsi alat.

fileCorpus

string

Opsional. Korpus tempat file disimpan. Format: projects/{project}/locations/{location}/ragCorpora/{rag_corpus}

FileSearchTool.CorpusType

Jenis korpus RAG Vertex.

Enum
CORPUS_TYPE_UNSPECIFIED Jenis korpus tidak ditentukan.
USER_OWNED Korpus dibuat dan dimiliki oleh pengguna.
FULLY_MANAGED Korpus dibuat oleh agen.

SystemTool

Alat sistem yang telah ditentukan sebelumnya.

Representasi JSON
{
  "name": string,
  "description": string
}
Kolom
name

string

Wajib. Nama alat sistem.

description

string

Hanya output. Deskripsi alat sistem.

AgentTool

Mewakili alat yang memungkinkan agen memanggil agen lain.

Representasi JSON
{
  "name": string,
  "description": string,
  "rootAgent": string,
  "agent": string
}
Kolom
name

string

Wajib. Nama alat agen.

description

string

Opsional. Deskripsi tujuan alat.

rootAgent
(deprecated)

string

Opsional. Tidak digunakan lagi: Gunakan agent sebagai gantinya. Nama resource agen root yang merupakan titik entri alat. Format: projects/{project}/locations/{location}/agents/{agent}

agent

string

Opsional. Nama resource agen yang menjadi titik entri alat. Format: projects/{project}/locations/{location}/agents/{agent}

WidgetTool

Mewakili alat widget yang dapat dipanggil oleh agen. Saat alat dipilih oleh agen, agen akan menampilkan widget ke klien. Klien bertanggung jawab untuk memproses widget dan membuat kueri pengguna berikutnya untuk melanjutkan interaksi dengan agen.

Representasi 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.
}
Kolom
name

string

Wajib. Nama tampilan alat widget.

description

string

Opsional. Deskripsi alat widget.

widgetType

enum (WidgetTool.WidgetType)

Opsional. Jenis alat widget. Jika tidak ditentukan, jenis defaultnya adalah CUSTOMIZED.

uiConfig

object (Struct format)

Opsional. Konfigurasi untuk merender widget.

dataMapping

object (WidgetTool.DataMapping)

Opsional. Pemetaan yang menentukan cara data dari alat sumber dipetakan ke parameter input widget.

textResponseConfig

object (WidgetTool.TextResponseConfig)

Opsional. Konfigurasi untuk respons teks yang selalu disertakan.

Kolom union input. Input alat widget. input hanya ada berupa salah satu diantara berikut:
parameters

object (Schema)

Opsional. Parameter input alat widget.

WidgetTool.WidgetType

Semua jenis widget yang tersedia. Nilai baru dapat ditambahkan ke enum ini pada masa mendatang.

Enum
WIDGET_TYPE_UNSPECIFIED Jenis widget tidak ditentukan.
CUSTOM Jenis widget kustom.
PRODUCT_DETAILS Widget detail produk.
QUICK_ACTIONS Widget tindakan cepat.
PRODUCT_COMPARISON Widget perbandingan produk.
ADVANCED_PRODUCT_DETAILS Widget detail produk lanjutan.
SHORT_FORM Widget formulir singkat.
OVERALL_SATISFACTION Widget kepuasan secara keseluruhan.
ORDER_SUMMARY Widget ringkasan pesanan.
APPOINTMENT_DETAILS Widget detail janji temu.
APPOINTMENT_SCHEDULER Widget penjadwal janji temu.
CONTACT_FORM Widget formulir kontak.

WidgetTool.DataMapping

Konfigurasi untuk memetakan data dari alat sumber ke parameter input widget.

Representasi JSON
{
  "sourceToolName": string,
  "fieldMappings": {
    string: string,
    ...
  },
  "pythonFunction": {
    object (PythonFunction)
  },
  "mode": enum (WidgetTool.DataMapping.Mode),
  "pythonScript": string
}
Kolom
sourceToolName

string

Opsional. Nama resource alat yang menyediakan data untuk widget (misalnya, alat penelusuran atau fungsi kustom). Format: projects/{project}/locations/{location}/agents/{agent}/tools/{tool}

fieldMappings

map (key: string, value: string)

Opsional. Peta kolom parameter input widget ke kolom output yang sesuai dari alat sumber.

Objek yang berisi daftar pasangan "key": value. Contoh: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

pythonFunction

object (PythonFunction)

Opsional. Konfigurasi untuk fungsi Python yang digunakan untuk mengubah output alat sumber ke dalam format input widget.

mode

enum (WidgetTool.DataMapping.Mode)

Opsional. Mode pemetaan data.

pythonScript
(deprecated)

string

Tidak digunakan lagi: Gunakan pythonFunction sebagai gantinya.

WidgetTool.DataMapping.Mode

Strategi yang digunakan untuk memetakan data dari alat sumber ke widget.

Enum
MODE_UNSPECIFIED Mode tidak ditentukan.
FIELD_MAPPING Gunakan peta fieldMappings untuk transformasi data.
PYTHON_SCRIPT Gunakan pythonScript untuk transformasi data.

WidgetTool.TextResponseConfig

Konfigurasi untuk respons teks yang ditampilkan dengan widget.

Representasi JSON
{
  "type": enum (WidgetTool.TextResponseConfig.Type),
  "staticText": string,
  "textResponseInstruction": string
}
Kolom
type

enum (WidgetTool.TextResponseConfig.Type)

Opsional. Strategi untuk memberikan respons teks.

staticText

string

Opsional. Respons teks statis yang akan ditampilkan saat jenisnya adalah STATIC.

textResponseInstruction

string

Opsional. Petunjuk untuk LLM tentang cara menghasilkan respons teks. Digunakan sebagai deskripsi untuk parameter respons teks jika jenisnya adalah LLM_GENERATED.

WidgetTool.TextResponseConfig.Type

Menentukan cara respons teks dihasilkan.

Enum
TYPE_UNSPECIFIED Jenis tidak ditentukan.
NONE LLM secara dinamis memutuskan apakah akan menghasilkan respons teks bersama widget berdasarkan konteks percakapan.
LLM_GENERATED LLM secara eksplisit diwajibkan untuk menghasilkan respons teks.
STATIC Respons teks statis yang telah ditentukan selalu digunakan.

RemoteAgentTool

Mewakili alat yang memungkinkan agen memanggil agen jarak jauh lain.

Representasi JSON
{
  "name": string,
  "description": string,
  "agentCard": {
    object (AgentCard)
  }
}
Kolom
name

string

Wajib. Nama alat.

description

string

Wajib. Deskripsi alat.

agentCard

object (AgentCard)

Wajib. Kartu agen dari agen jarak jauh yang dipanggil oleh alat ini.

AgentCard

AgentCard menyampaikan informasi penting tentang agen jarak jauh. Ini adalah versi yang disederhanakan dari AgentCard yang ditentukan dalam protokol A2A https://a2a-protocol.org/dev/specification/#441-agentcard

Representasi JSON
{
  "name": string,
  "description": string,
  "supportedInterfaces": [
    {
      object (AgentInterface)
    }
  ],
  "version": string,
  "skills": [
    {
      object (AgentSkill)
    }
  ]
}
Kolom
name

string

Wajib. Nama yang dapat dibaca manusia untuk agen.

description

string

Wajib. Deskripsi domain tindakan/ruang solusi agen.

supportedInterfaces[]

object (AgentInterface)

Wajib. Daftar antarmuka yang didukung dan diurutkan. Entri pertama lebih disukai.

version

string

Wajib. Versi agen.

skills[]

object (AgentSkill)

Wajib. Keahlian mewakili unit kemampuan yang dapat dilakukan agen. Hal ini mungkin agak abstrak, tetapi mewakili serangkaian tindakan yang lebih terfokus yang kemungkinan besar akan berhasil dilakukan agen.

AgentInterface

Mendeklarasikan kombinasi URL target, transpor, dan versi protokol untuk berinteraksi dengan agen. Hal ini memungkinkan agen mengekspos fungsi yang sama melalui beberapa mekanisme pengikatan protokol.

Representasi JSON
{
  "url": string,
  "protocolBinding": string,
  "tenant": string,
  "protocolVersion": string
}
Kolom
url

string

Wajib. URL tempat antarmuka ini tersedia. Harus berupa URL HTTPS absolut yang valid dalam produksi. Contoh: "https://api.example.com/a2a/v1", "https://grpc.example.com/a2a"

protocolBinding

string

Wajib. Binding protokol yang didukung di URL ini. Ini adalah string formulir terbuka, yang dapat dengan mudah diperluas untuk binding protokol lainnya. Plugin inti yang didukung secara resmi adalah JSONRPC, GRPC, dan HTTP+JSON.

tenant

string

ID tenant yang akan digunakan dalam permintaan saat memanggil agen.

protocolVersion

string

Wajib. Versi A2A protocol yang diekspos oleh antarmuka ini. Gunakan versi minor terbaru yang didukung per versi utama. Contoh: "0.3", "1.0"

AgentSkill

Mewakili kemampuan atau fungsi berbeda yang dapat dilakukan agen.

Representasi JSON
{
  "id": string,
  "name": string,
  "description": string,
  "tags": [
    string
  ],
  "examples": [
    string
  ],
  "inputModes": [
    string
  ],
  "outputModes": [
    string
  ]
}
Kolom
id

string

Wajib. ID unik untuk kemampuan agen.

name

string

Wajib. Nama yang dapat dibaca manusia untuk keahlian.

description

string

Wajib. Deskripsi mendetail tentang skill.

tags[]

string

Wajib. Sekumpulan kata kunci yang menjelaskan kemampuan skill.

examples[]

string

Contoh perintah atau skenario yang dapat ditangani oleh kemampuan ini.

inputModes[]

string

Kumpulan jenis media input yang didukung untuk skill ini, yang menggantikan default agen.

outputModes[]

string

Kumpulan jenis media output yang didukung untuk skill ini, yang menggantikan default agen.

Metode

create

Membuat alat baru di aplikasi yang ditentukan.

delete

Menghapus alat yang ditentukan.

get

Mendapatkan detail alat yang ditentukan.

list

Mencantumkan alat di aplikasi tertentu.

patch

Memperbarui alat yang ditentukan.