Strumento: create_tool
Crea un nuovo strumento nell'app specificata.
Il seguente esempio mostra come utilizzare curl per richiamare lo strumento MCP create_tool.
| Richiesta curl |
|---|
curl --location 'https://ces.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 }' |
Schema di input
Messaggio di richiesta per AgentService.CreateTool.
CreateToolRequest
| Rappresentazione JSON |
|---|
{
"parent": string,
"toolId": string,
"tool": {
object ( |
| Campi | |
|---|---|
parent |
Obbligatorio. Il nome della risorsa dell'app in cui creare uno strumento. |
toolId |
Facoltativo. L'ID da utilizzare per lo strumento, che diventerà il componente finale del nome della risorsa dello strumento. Se non viene fornito, verrà assegnato automaticamente un ID univoco allo strumento. |
tool |
Obbligatorio. Lo strumento per creare. |
Strumento
| Rappresentazione JSON |
|---|
{ "name": string, "displayName": string, "executionType": enum ( |
| Campi | |
|---|---|
name |
Identificatore. Il nome della risorsa dello strumento. Formato:
Questi strumenti sono dinamici e solo di output; non è possibile farvi riferimento direttamente dove è previsto uno strumento. |
displayName |
Solo output. Il nome visualizzato dello strumento, derivato in base al tipo di strumento. Ad esempio, il nome visualizzato di una [ClientFunction][Tool.ClientFunction] deriva dalla relativa proprietà |
executionType |
Facoltativo. Il tipo di esecuzione dello strumento. |
timeout |
Facoltativo. Il timeout per l'esecuzione dello strumento. Se non viene impostato, il timeout predefinito è di 30 secondi per gli strumenti Una durata in secondi con un massimo di nove cifre frazionarie, che termina con " |
createTime |
Solo output. Timestamp di creazione dello strumento. Utilizza RFC 3339, in cui l'output generato è sempre con normalizzazione Z e utilizza 0, 3, 6 o 9 cifre frazionarie. Sono accettati anche offset diversi da "Z". Esempi: |
updateTime |
Solo output. Timestamp dell'ultimo aggiornamento dello strumento. Utilizza RFC 3339, in cui l'output generato è sempre con normalizzazione Z e utilizza 0, 3, 6 o 9 cifre frazionarie. Sono accettati anche offset diversi da "Z". Esempi: |
etag |
Etag utilizzato per garantire che l'oggetto non sia stato modificato durante un'operazione di lettura, modifica e scrittura. Se l'etag è vuoto, l'aggiornamento sovrascriverà eventuali modifiche simultanee. |
generatedSummary |
Solo output. Se lo strumento è generato dall'assistente LLM, questo campo contiene un riepilogo descrittivo della generazione. |
toolFakeConfig |
Facoltativo. Configurazione del comportamento dello strumento in modalità simulata. |
Campo unione tool_type. Il tipo di strumento. tool_type può essere solo uno dei seguenti tipi: |
|
clientFunction |
Facoltativo. La funzione client. |
openApiTool |
Facoltativo. Lo strumento API aperta. |
googleSearchTool |
Facoltativo. Lo strumento di ricerca di Google. |
connectorTool |
Facoltativo. Lo strumento Integration Connector. |
dataStoreTool |
Facoltativo. Lo strumento datastore. |
pythonFunction |
Facoltativo. Lo strumento per le funzioni Python. |
mcpTool |
Facoltativo. Lo strumento MCP. Uno strumento MCP non può essere creato o aggiornato direttamente ed è gestito dal set di strumenti MCP. |
fileSearchTool |
Facoltativo. Lo strumento di ricerca dei file. |
systemTool |
Facoltativo. Lo strumento di sistema. |
agentTool |
Facoltativo. Lo strumento dell'agente. |
widgetTool |
Facoltativo. Lo strumento widget. |
remoteAgentTool |
Facoltativo. Lo strumento dell'agente remoto. |
ClientFunction
| Rappresentazione JSON |
|---|
{ "name": string, "description": string, "parameters": { object ( |
| Campi | |
|---|---|
name |
Obbligatorio. Il nome della funzione. |
description |
Facoltativo. La descrizione della funzione. |
parameters |
Facoltativo. Lo schema dei parametri della funzione. |
response |
Facoltativo. Lo schema della risposta della funzione. |
Schema
| Rappresentazione JSON |
|---|
{ "type": enum ( |
| Campi | |
|---|---|
type |
Obbligatorio. Il tipo di dati. |
properties |
Facoltativo. Proprietà di Type.OBJECT. Un oggetto contenente un elenco di coppie |
required[] |
Facoltativo. Proprietà obbligatorie di Type.OBJECT. |
description |
Facoltativo. La descrizione dei dati. |
items |
Facoltativo. Schema degli elementi di Type.ARRAY. |
nullable |
Facoltativo. Indica se il valore può essere null. |
uniqueItems |
Facoltativo. Indica che gli elementi dell'array devono essere univoci. Si applica solo a TYPE.ARRAY. |
prefixItems[] |
Facoltativo. Schemi degli elementi iniziali di Type.ARRAY. |
additionalProperties |
Facoltativo. Può essere un valore booleano o un oggetto, controlla la presenza di proprietà aggiuntive. |
anyOf[] |
Facoltativo. Il valore deve essere convalidato rispetto a uno o più sottoschema nell'elenco. |
enum[] |
Facoltativo. Valori possibili dell'elemento di tipo primitivo con formato enum. Esempi: 1. Possiamo definire la direzione come : {type:STRING, format:enum, enum:["EAST", NORTH", "SOUTH", "WEST"]} 2. Possiamo definire il numero di appartamento come : {type:INTEGER, format:enum, enum:["101", "201", "301"]} |
default |
Facoltativo. Valore predefinito dei dati. |
ref |
Facoltativo. Consente riferimenti indiretti tra i nodi dello schema. Il valore deve essere un riferimento valido a un elemento secondario della radice Ad esempio, lo schema seguente definisce un riferimento a un nodo dello schema denominato "Pet": Il valore della proprietà "pet" è un riferimento al nodo dello schema denominato "Pet". Per maggiori dettagli, visita la pagina https://json-schema.org/understanding-json-schema/structuring. |
defs |
Facoltativo. Una mappa delle definizioni da utilizzare per Un oggetto contenente un elenco di coppie |
title |
Facoltativo. Il titolo dello schema. |
minItems |
Facoltativo. Numero minimo di elementi per Type.ARRAY. |
maxItems |
Facoltativo. Numero massimo di elementi per Type.ARRAY. |
Campo unione
|
|
minimum |
Facoltativo. Valore minimo per Type.INTEGER e Type.NUMBER. |
Campo unione
|
|
maximum |
Facoltativo. Valore massimo per Type.INTEGER e Type.NUMBER. |
PropertiesEntry
| Rappresentazione JSON |
|---|
{
"key": string,
"value": {
object ( |
| Campi | |
|---|---|
key |
|
value |
|
Valore
| Rappresentazione JSON |
|---|
{ // Union field |
| Campi | |
|---|---|
Campo unione kind. Il tipo di valore. kind può essere solo uno dei seguenti tipi: |
|
nullValue |
Rappresenta un |
numberValue |
Rappresenta un numero JSON. Non deve essere |
stringValue |
Rappresenta una stringa JSON. |
boolValue |
Rappresenta un valore booleano JSON (valore letterale |
structValue |
Rappresenta un oggetto JSON. |
listValue |
Rappresenta un array JSON. |
Struct
| Rappresentazione JSON |
|---|
{ "fields": { string: value, ... } } |
| Campi | |
|---|---|
fields |
Mappa non ordinata di valori con tipo dinamico. Un oggetto contenente un elenco di coppie |
FieldsEntry
| Rappresentazione JSON |
|---|
{ "key": string, "value": value } |
| Campi | |
|---|---|
key |
|
value |
|
ListValue
| Rappresentazione JSON |
|---|
{ "values": [ value ] } |
| Campi | |
|---|---|
values[] |
Campo ripetuto di valori con tipo dinamico. |
DefsEntry
| Rappresentazione JSON |
|---|
{
"key": string,
"value": {
object ( |
| Campi | |
|---|---|
key |
|
value |
|
OpenApiTool
| Rappresentazione JSON |
|---|
{ "openApiSchema": string, "name": string, "description": string, "apiAuthentication": { object ( |
| Campi | |
|---|---|
openApiSchema |
Obbligatorio. Lo schema OpenAPI in formato JSON o YAML. |
name |
Facoltativo. Il nome dello strumento. Se non viene fornito, il nome dello strumento verrà derivato dallo schema OpenAPI, da |
description |
Facoltativo. La descrizione dello strumento. Se non viene fornita, la descrizione dello strumento verrà derivata dallo schema OpenAPI, da |
apiAuthentication |
Facoltativo. Informazioni di autenticazione richieste dall'API. |
tlsConfig |
Facoltativo. La configurazione TLS. Include i certificati del server personalizzati di cui il client si fiderà. |
serviceDirectoryConfig |
Facoltativo. Configurazione di Service Directory. |
ignoreUnknownFields |
Facoltativo. Se il valore è true, l'agente ignorerà i campi sconosciuti nella risposta dell'API. |
url |
Facoltativo. L'URL del server dello schema Open API. Questo campo viene impostato solo negli strumenti nelle dipendenze dell'ambiente durante il processo di esportazione se lo schema contiene un URL del server. Durante il processo di importazione, se questo URL è presente nelle dipendenze dell'ambiente e lo schema contiene il segnaposto $env_var, quest'ultimo verrà sostituito nello schema. |
ApiAuthentication
| Rappresentazione JSON |
|---|
{ // Union field |
| Campi | |
|---|---|
Campo unione auth_config. La configurazione di autenticazione. auth_config può essere solo uno dei seguenti tipi: |
|
apiKeyConfig |
Facoltativo. Configurazione per l'autenticazione della chiave API. |
oauthConfig |
Facoltativo. Configurazione per OAuth. |
serviceAgentIdTokenAuthConfig |
Facoltativo. Configurazione per l'autenticazione con token ID generato dall'agente di servizio CES. |
serviceAccountAuthConfig |
Facoltativo. Configurazione per l'autenticazione del account di servizio. |
bearerTokenConfig |
Facoltativo. Configurazione per l'autenticazione con token di connessione. |
ApiKeyConfig
| Rappresentazione JSON |
|---|
{
"keyName": string,
"apiKeySecretVersion": string,
"requestLocation": enum ( |
| Campi | |
|---|---|
keyName |
Obbligatorio. Il nome del parametro o dell'intestazione della chiave API. Ad esempio, Se la richiesta API è "https://example.com/act?X-Api-Key= |
apiKeySecretVersion |
Obbligatorio. Il nome della risorsa della versione del secret di Secret Manager che archivia la chiave API. Formato: Nota: devi concedere il ruolo |
requestLocation |
Obbligatorio. Posizione della chiave nella richiesta. |
OAuthConfig
| Rappresentazione JSON |
|---|
{
"oauthGrantType": enum ( |
| Campi | |
|---|---|
oauthGrantType |
Obbligatorio. Tipi di autorizzazione con OAuth. |
clientId |
Obbligatorio. L'ID client del provider OAuth. |
clientSecretVersion |
Obbligatorio. Il nome della risorsa della versione del secret di Secret Manager che archivia il client secret. Formato: Nota: devi concedere il ruolo |
tokenEndpoint |
Obbligatorio. L'endpoint del token nel provider OAuth da scambiare con un token di accesso. |
scopes[] |
Facoltativo. Gli ambiti OAuth da concedere. |
ServiceAccountAuthConfig
| Rappresentazione JSON |
|---|
{ "serviceAccount": string, "scopes": [ string ] } |
| Campi | |
|---|---|
serviceAccount |
Obbligatorio. L'indirizzo email del account di servizio utilizzato per l'autenticazione. CES utilizza questo account di servizio per scambiare un token di accesso, che viene poi inviato nell'intestazione All'account di servizio deve essere concesso il ruolo |
scopes[] |
Facoltativo. Gli ambiti OAuth da concedere. Se non specificato, viene utilizzato l'ambito predefinito |
BearerTokenConfig
| Rappresentazione JSON |
|---|
{ "token": string } |
| Campi | |
|---|---|
token |
Obbligatorio. Il token di connessione. Deve essere nel formato |
TlsConfig
| Rappresentazione JSON |
|---|
{
"caCerts": [
{
object ( |
| Campi | |
|---|---|
caCerts[] |
Obbligatorio. Specifica un elenco di certificati CA personalizzati consentiti per la verifica HTTPS. |
CaCert
| Rappresentazione JSON |
|---|
{ "displayName": string, "cert": string } |
| Campi | |
|---|---|
displayName |
Obbligatorio. Il nome dei certificati CA personalizzati consentiti. Può essere utilizzato per disambiguare i certificati CA personalizzati. |
cert |
Obbligatorio. I certificati CA personalizzati consentiti (in formato DER) per la verifica HTTPS. Esegue l'override dell'archivio di attendibilità SSL predefinito. Se questo campo è vuoto o non specificato, CES utilizzerà l'archivio di attendibilità predefinito di Google per verificare i certificati. Nota: assicurati che i certificati del server HTTPS siano firmati con "subject alt name". Ad esempio, un certificato può essere autofirmato utilizzando il seguente comando: Una stringa con codifica in base64. |
ServiceDirectoryConfig
| Rappresentazione JSON |
|---|
{ "service": string } |
| Campi | |
|---|---|
service |
Obbligatorio. Il nome del servizio Service Directory. Formato: |
GoogleSearchTool
| Rappresentazione JSON |
|---|
{
"name": string,
"description": string,
"contextUrls": [
string
],
"preferredDomains": [
string
],
"excludeDomains": [
string
],
"promptConfig": {
object ( |
| Campi | |
|---|---|
name |
Obbligatorio. Il nome dello strumento. |
description |
Facoltativo. Descrizione dello scopo dello strumento. |
contextUrls[] |
Facoltativo. I contenuti verranno recuperati direttamente da questi URL per il contesto e la base. Esempio: "https://example.com/path.html". Sono consentiti al massimo 20 URL. |
preferredDomains[] |
Facoltativo. Specifica i domini a cui limitare i risultati di ricerca. Esempio: "example.com", "another.site". È possibile specificare un massimo di 20 domini. |
excludeDomains[] |
Facoltativo. Elenco dei domini da escludere dai risultati di ricerca. Esempio: "example.com". È possibile escludere un massimo di 2000 domini. |
promptConfig |
Facoltativo. Istruzioni del prompt trasmesse al planner su come devono essere elaborati i risultati di ricerca per il testo e la voce. |
PromptConfig
| Rappresentazione JSON |
|---|
{ "textPrompt": string, "voicePrompt": string } |
| Campi | |
|---|---|
textPrompt |
Facoltativo. Definisce il prompt utilizzato per le istruzioni di sistema quando interagisci con l'agente nelle conversazioni di chat. Se non impostato, verrà utilizzato il prompt predefinito. |
voicePrompt |
Facoltativo. Definisce il prompt utilizzato per le istruzioni di sistema quando interagisci con l'agente nelle conversazioni vocali. Se non impostato, verrà utilizzato il prompt predefinito. |
ConnectorTool
| Rappresentazione JSON |
|---|
{ "connection": string, "action": { object ( |
| Campi | |
|---|---|
connection |
Obbligatorio. Il nome completo della risorsa della connessione Integration Connectors a cui viene fatto riferimento. Formato: |
action |
Obbligatorio. Azione da utilizzare per lo strumento. |
authConfig |
Facoltativo. Configura la gestione dell'autenticazione in Integration Connectors. Per impostazione predefinita, un'autenticazione amministratore viene trasmessa nelle richieste dell'API Integration Connectors. Puoi ignorarlo con una configurazione di autenticazione dell'utente finale diversa. Nota: per specificare una configurazione EUC qui, l'override dell'autenticazione deve essere abilitato nella connessione. In caso contrario, la creazione di ConnectorTool non riuscirà. Per i dettagli, vedi https://cloud.google.com/application-integration/docs/configure-connectors-task#configure-authentication-override. |
name |
Facoltativo. Il nome dello strumento che può essere utilizzato dall'agente per decidere se chiamare questo ConnectorTool. |
description |
Facoltativo. La descrizione dello strumento che può essere utilizzata dall'agente per decidere se chiamare questo ConnectorTool. |
Azione
| Rappresentazione JSON |
|---|
{ "inputFields": [ string ], "outputFields": [ string ], // Union field |
| Campi | |
|---|---|
inputFields[] |
Facoltativo. Campi dell'entità da utilizzare come input per l'operazione. Se non vengono specificati campi, verranno utilizzati tutti i campi dell'entità. |
outputFields[] |
Facoltativo. Campi dell'entità da restituire dall'operazione. Se non vengono specificati campi, vengono restituiti tutti i campi dell'entità. |
Campo unione action_spec. Specifica di un'azione da configurare per l'utilizzo dello strumento. action_spec può essere solo uno dei seguenti tipi: |
|
connectionActionId |
ID di un'azione di connessione da utilizzare per lo strumento. |
entityOperation |
Configurazione dell'operazione dell'entità da utilizzare per lo strumento. |
EntityOperation
| Rappresentazione JSON |
|---|
{
"entityId": string,
"operation": enum ( |
| Campi | |
|---|---|
entityId |
Obbligatorio. ID dell'entità. |
operation |
Obbligatorio. Operazione da eseguire sull'entità. |
EndUserAuthConfig
| Rappresentazione JSON |
|---|
{ // Union field |
| Campi | |
|---|---|
Campo unione auth_config. La configurazione di autenticazione. auth_config può essere solo uno dei seguenti tipi: |
|
oauth2AuthCodeConfig |
Autenticazione del codice di autorizzazione OAuth 2.0. |
oauth2JwtBearerConfig |
Autenticazione della concessione di autorizzazione OAuth 2.0 del profilo JWT. |
Oauth2AuthCodeConfig
| Rappresentazione JSON |
|---|
{ "oauthToken": string } |
| Campi | |
|---|---|
oauthToken |
Obbligatorio. Nome del parametro del token OAuth da trasferire. Deve essere nel formato |
Oauth2JwtBearerConfig
| Rappresentazione JSON |
|---|
{ "issuer": string, "subject": string, "clientKey": string } |
| Campi | |
|---|---|
issuer |
Obbligatorio. Nome del parametro dell'emittente da trasferire. Deve essere nel formato |
subject |
Obbligatorio. Nome del parametro oggetto da trasferire. Deve essere nel formato |
clientKey |
Obbligatorio. Nome del parametro client da trasferire. Deve essere nel formato |
DataStoreTool
| Rappresentazione JSON |
|---|
{ "name": string, "description": string, "boostSpecs": [ { object ( |
| Campi | |
|---|---|
name |
Obbligatorio. Il nome dello strumento datastore. |
description |
Facoltativo. La descrizione dello strumento. |
boostSpecs[] |
Facoltativo. Migliora le specifiche per dare priorità a determinati documenti. |
modalityConfigs[] |
Facoltativo. Le configurazioni della modalità per il datastore. |
filterParameterBehavior |
Facoltativo. Il comportamento del parametro di filtro. |
Campo unione search_source. Definisce l'origine della ricerca, ovvero un singolo datastore o un motore. search_source può essere solo uno dei seguenti tipi: |
|
dataStoreSource |
Facoltativo. Eseguire ricerche all'interno di un singolo DataStore specifico. |
engineSource |
Facoltativo. Cerca all'interno di un motore (potenzialmente in più datastore). |
DataStoreSource
| Rappresentazione JSON |
|---|
{
"filter": string,
"dataStore": {
object ( |
| Campi | |
|---|---|
filter |
Facoltativo. Specifica del filtro per il datastore. Vedi: https://cloud.google.com/generative-ai-app-builder/docs/filter-search-metadata |
dataStore |
Facoltativo. Il datastore. |
DataStore
| Rappresentazione JSON |
|---|
{ "name": string, "type": enum ( |
| Campi | |
|---|---|
name |
Obbligatorio. Nome completo della risorsa del datastore. Formato: |
type |
Solo output. Il tipo di datastore. Questo campo è di sola lettura e viene compilato dal server. |
documentProcessingMode |
Solo output. La modalità di elaborazione dei documenti per la connessione del datastore. Impostato solo per i datastore PUBLIC_WEB e UNSTRUCTURED. |
displayName |
Solo output. Il nome visualizzato del datastore. |
createTime |
Solo output. Timestamp di creazione del datastore. Utilizza RFC 3339, in cui l'output generato è sempre con normalizzazione Z e utilizza 0, 3, 6 o 9 cifre frazionarie. Sono accettati anche offset diversi da "Z". Esempi: |
connectorConfig |
Solo output. La configurazione del connettore per la connessione al datastore. |
Timestamp
| Rappresentazione JSON |
|---|
{ "seconds": string, "nanos": integer } |
| Campi | |
|---|---|
seconds |
Rappresenta i secondi di tempo UTC dall'epoca Unix 1970-01-01T00:00:00Z. Deve essere compreso tra -62135596800 e 253402300799 inclusi (corrispondenti a 0001-01-01T00:00:00Z e 9999-12-31T23:59:59Z). |
nanos |
Frazioni di secondo non negative con risoluzione in nanosecondi. Questo campo è la parte in nanosecondi della durata, non un'alternativa ai secondi. I valori negativi dei secondi con frazioni devono comunque avere valori non negativi dei nanosecondi che vengono conteggiati in avanti nel tempo. Deve essere compreso tra 0 e 999.999.999 inclusi. |
ConnectorConfig
| Rappresentazione JSON |
|---|
{ "collection": string, "collectionDisplayName": string, "dataSource": string } |
| Campi | |
|---|---|
collection |
Il nome della risorsa della raccolta a cui appartiene il datastore. |
collectionDisplayName |
Nome visualizzato della raccolta a cui appartiene il datastore. |
dataSource |
Il nome dell'origine dati. Esempio: |
EngineSource
| Rappresentazione JSON |
|---|
{
"engine": string,
"dataStoreSources": [
{
object ( |
| Campi | |
|---|---|
engine |
Obbligatorio. Nome completo della risorsa del motore. Formato: |
dataStoreSources[] |
Facoltativo. Utilizza questo campo per scegliere come target DataStore specifici all'interno del motore. Se vuoto, la ricerca viene applicata a tutti i Data Store associati al motore. |
filter |
Facoltativo. Un filtro applicato alla ricerca nel motore. Non pertinente e non utilizzato se viene fornito "data_store_sources". Vedi: https://cloud.google.com/generative-ai-app-builder/docs/filter-search-metadata |
BoostSpecs
| Rappresentazione JSON |
|---|
{
"dataStores": [
string
],
"spec": [
{
object ( |
| Campi | |
|---|---|
dataStores[] |
Obbligatorio. Il datastore in cui viene applicata la configurazione del boosting. Nome completo della risorsa DataStore, ad esempio projects/{project}/locations/{location}/collections/{collection}/dataStores/{dataStore}. |
spec[] |
Obbligatorio. Un elenco di specifiche di boosting. |
BoostSpec
| Rappresentazione JSON |
|---|
{
"conditionBoostSpecs": [
{
object ( |
| Campi | |
|---|---|
conditionBoostSpecs[] |
Obbligatorio. Un elenco di specifiche di boosting. |
ConditionBoostSpec
| Rappresentazione JSON |
|---|
{
"condition": string,
"boost": number,
"boostControlSpec": {
object ( |
| Campi | |
|---|---|
condition |
Obbligatorio. Un'espressione che specifica una condizione di aumento. La sintassi è la stessa delle espressioni di filtro. Al momento, l'unica condizione supportata è un elenco di codici lingua BCP-47. Esempio: per aumentare i suggerimenti nelle lingue inglese o francese: (lang_code: ANY("en", "fr")) |
boost |
Facoltativo. L'intensità del boost, che deve essere compresa tra -1 e 1. Un boosting negativo indica una retrocessione. Il valore predefinito è 0.0. Se il boosting viene impostato su 1.0, i suggerimenti vengono promossi maggiormente. Tuttavia, non significa necessariamente che il risultato in cima alla prima pagina sarà un suggerimento con boosting. Se viene impostato su -1.0, i suggerimenti vengono declassati in modo significativo. Tuttavia, potrebbero comunque essere mostrati altri suggerimenti pertinenti. Se il valore è impostato su 0,0, non viene applicato alcun boost. La condizione di incremento viene ignorata. |
boostControlSpec |
Facoltativo. Specifica complessa per il ranking personalizzato in base al valore dell'attributo definito dal cliente. |
BoostControlSpec
| Rappresentazione JSON |
|---|
{ "fieldName": string, "attributeType": enum ( |
| Campi | |
|---|---|
fieldName |
Facoltativo. Il nome del campo il cui valore verrà utilizzato per determinare l'importo dell'aggiustamento. |
attributeType |
Facoltativo. Il tipo di attributo da utilizzare per determinare l'importo del boost. Il valore dell'attributo può essere derivato dal valore del campo field_name specificato. Nel caso di valori numerici, è semplice, ad esempio attribute_value = numerical_field_value. Nel caso della freschezza, attribute_value = (time.now() - datetime_field_value). |
interpolationType |
Facoltativo. Il tipo di interpolazione da applicare per collegare i punti di controllo elencati di seguito. |
controlPoints[] |
Facoltativo. I punti di controllo utilizzati per definire la curva. La funzione monotona (definita tramite interpolation_type sopra) passa attraverso i punti di controllo elencati qui. |
ControlPoint
| Rappresentazione JSON |
|---|
{ "attributeValue": string, "boostAmount": number } |
| Campi | |
|---|---|
attributeValue |
Facoltativo. Può corrispondere a uno dei seguenti valori: 1. Il valore del campo numerico. 2. La specifica della durata per l'aggiornamento: il valore deve essere formattato come valore XSD |
boostAmount |
Facoltativo. Il valore compreso tra -1 e 1 in base al quale aumentare il punteggio se attribute_value restituisce il valore specificato sopra. |
ModalityConfig
| Rappresentazione JSON |
|---|
{ "modalityType": enum ( |
| Campi | |
|---|---|
modalityType |
Obbligatorio. Il tipo di modalità. |
rewriterConfig |
Facoltativo. La configurazione dello strumento di riscrittura. |
summarizationConfig |
Facoltativo. La configurazione del riepilogo. |
groundingConfig |
Facoltativo. La configurazione di messa a terra. |
snippetsConfig |
Facoltativo. La configurazione degli snippet. |
RewriterConfig
| Rappresentazione JSON |
|---|
{
"modelSettings": {
object ( |
| Campi | |
|---|---|
modelSettings |
Obbligatorio. Configurazioni per il modello LLM. |
prompt |
Facoltativo. La definizione del prompt. Se non impostato, verrà utilizzato il prompt predefinito. |
disabled |
Facoltativo. Indica se il rewriter è disattivato. |
ModelSettings
| Rappresentazione JSON |
|---|
{ "model": string, // Union field |
| Campi | |
|---|---|
model |
Facoltativo. Il modello LLM che l'agente deve utilizzare. Se non è impostato, l'agente erediterà il modello dall'agente principale. |
Campo unione
|
|
temperature |
Facoltativo. Se impostata, questa temperatura verrà utilizzata per il modello LLM. La temperatura controlla la casualità delle risposte del modello. Le temperature più basse producono risposte più prevedibili. Le temperature più alte producono risposte più creative. |
SummarizationConfig
| Rappresentazione JSON |
|---|
{
"modelSettings": {
object ( |
| Campi | |
|---|---|
modelSettings |
Facoltativo. Configurazioni per il modello LLM. |
prompt |
Facoltativo. La definizione del prompt. Se non impostato, verrà utilizzato il prompt predefinito. |
disabled |
Facoltativo. Indica se il riepilogo è disattivato. |
GroundingConfig
| Rappresentazione JSON |
|---|
{ "groundingLevel": number, "disabled": boolean } |
| Campi | |
|---|---|
groundingLevel |
Facoltativo. La soglia di fondatezza della risposta in base alle fonti recuperate. Il valore ha un intervallo configurabile di [1, 5]. Il livello viene utilizzato per impostare una soglia per la fondatezza della risposta, il che significa che tutte le risposte con un punteggio di fondatezza inferiore alla soglia torneranno a restituire solo snippet pertinenti. Ad esempio, un livello 3 significa che il punteggio di fondatezza deve essere pari o superiore a 3 affinché la risposta venga restituita. |
disabled |
Facoltativo. Indica se la base è disattivata. |
SnippetsConfig
| Rappresentazione JSON |
|---|
{ "enableSnippets": boolean } |
| Campi | |
|---|---|
enableSnippets |
Facoltativo. Se gli snippet sono abilitati. |
PythonFunction
| Rappresentazione JSON |
|---|
{
"name": string,
"pythonCode": string,
"description": string,
"serviceDirectoryConfig": {
object ( |
| Campi | |
|---|---|
name |
Facoltativo. Il nome della funzione Python da eseguire. Deve corrispondere al nome di una funzione Python definita nel codice Python. Sensibile alle maiuscole. Se il nome non viene fornito, verrà utilizzata la prima funzione definita nel codice Python. |
pythonCode |
Facoltativo. Il codice Python da eseguire per lo strumento. |
description |
Solo output. La descrizione della funzione Python, analizzata dalla docstring del codice Python. |
serviceDirectoryConfig |
Facoltativo. Configurazione di Service Directory per lo strumento. |
McpTool
| Rappresentazione JSON |
|---|
{ "name": string, "nameOverride": string, "description": string, "inputSchema": { object ( |
| Campi | |
|---|---|
name |
Obbligatorio. Il nome dello strumento MCP. |
nameOverride |
Facoltativo. L'override del nome dello strumento MCP. Questo campo viene compilato se il nome è stato sostituito da un override del toolset. |
description |
Facoltativo. La descrizione dello strumento MCP. |
inputSchema |
Facoltativo. Lo schema degli argomenti di input dello strumento MCP. |
outputSchema |
Facoltativo. Lo schema degli argomenti di output dello strumento MCP. |
serverAddress |
Obbligatorio. L'indirizzo del server MCP, ad esempio "https://example.com/mcp/". Se il server è creato con l'SDK MCP, l'URL deve avere il suffisso "/mcp/". Sono supportati solo i server basati sul trasporto HTTP in streaming. È uguale a server_address in McpToolset. Per ulteriori dettagli, consulta la pagina https://modelcontextprotocol.io/specification/2025-03-26/basic/transports#streamable-http. |
apiAuthentication |
Facoltativo. Informazioni di autenticazione necessarie per eseguire lo strumento sul server MCP. Per l'autenticazione con token di autenticazione, il token si applica solo all'esecuzione dello strumento, non agli strumenti di elenco. Ciò richiede che gli strumenti possano essere elencati senza autenticazione. |
tlsConfig |
Facoltativo. La configurazione TLS. Include i certificati del server personalizzati che il client deve considerare attendibili. |
serviceDirectoryConfig |
Facoltativo. Configurazione di Service Directory per VPC-SC, utilizzata per risolvere i nomi dei servizi all'interno di un perimetro. |
customHeaders |
Facoltativo. Le intestazioni personalizzate da inviare nella richiesta al server MCP. I valori devono essere nel formato Un oggetto contenente un elenco di coppie |
state |
Solo output. Lo stato di disponibilità dinamica dello strumento sul server esterno. |
CustomHeadersEntry
| Rappresentazione JSON |
|---|
{ "key": string, "value": string } |
| Campi | |
|---|---|
key |
|
value |
|
FileSearchTool
| Rappresentazione JSON |
|---|
{
"corpusType": enum ( |
| Campi | |
|---|---|
corpusType |
Facoltativo. Il tipo di corpus. Il valore predefinito è FULLY_MANAGED. |
name |
Obbligatorio. Il nome dello strumento. |
description |
Facoltativo. La descrizione dello strumento. |
fileCorpus |
Facoltativo. Il corpus in cui sono archiviati i file. Formato: projects/{project}/locations/{location}/ragCorpora/{rag_corpus} |
SystemTool
| Rappresentazione JSON |
|---|
{ "name": string, "description": string } |
| Campi | |
|---|---|
name |
Obbligatorio. Il nome dello strumento di sistema. |
description |
Solo output. La descrizione dello strumento di sistema. |
AgentTool
| Rappresentazione JSON |
|---|
{ "name": string, "description": string, "agent": string } |
| Campi | |
|---|---|
name |
Obbligatorio. Il nome dello strumento dell'agente. |
description |
Facoltativo. Descrizione dello scopo dello strumento. |
agent |
Facoltativo. Il nome della risorsa dell'agente che è il punto di ingresso dello strumento. Formato: |
WidgetTool
| Rappresentazione JSON |
|---|
{ "name": string, "description": string, "widgetType": enum ( |
| Campi | |
|---|---|
name |
Obbligatorio. Il nome visualizzato dello strumento widget. |
description |
Facoltativo. La descrizione dello strumento widget. |
widgetType |
Facoltativo. Il tipo di strumento widget. Se non specificato, il tipo predefinito sarà CUSTOMIZED. |
uiConfig |
Facoltativo. Configurazione per il rendering del widget. |
dataMapping |
Facoltativo. Il mapping che definisce come i dati di uno strumento di origine vengono mappati ai parametri di input del widget. |
textResponseConfig |
Facoltativo. Configurazione per le risposte di testo sempre incluse. |
Campo unione input. L'input dello strumento widget. input può essere solo uno dei seguenti tipi: |
|
parameters |
Facoltativo. I parametri di input dello strumento widget. |
DataMapping
| Rappresentazione JSON |
|---|
{ "sourceToolName": string, "fieldMappings": { string: string, ... }, "pythonFunction": { object ( |
| Campi | |
|---|---|
sourceToolName |
Facoltativo. Il nome della risorsa dello strumento che fornisce i dati per il widget (ad es. uno strumento di ricerca o una funzione personalizzata). Formato: |
fieldMappings |
Facoltativo. Una mappa dei campi dei parametri di input del widget ai campi di output corrispondenti dello strumento di origine. Un oggetto contenente un elenco di coppie |
pythonFunction |
Facoltativo. Configurazione per una funzione Python utilizzata per trasformare l'output dello strumento di origine nel formato di input del widget. |
mode |
Facoltativo. La modalità di mappatura dei dati. |
pythonScript |
Deprecato: utilizza |
FieldMappingsEntry
| Rappresentazione JSON |
|---|
{ "key": string, "value": string } |
| Campi | |
|---|---|
key |
|
value |
|
TextResponseConfig
| Rappresentazione JSON |
|---|
{
"type": enum ( |
| Campi | |
|---|---|
type |
Facoltativo. La strategia per fornire la risposta di testo. |
staticText |
Facoltativo. La risposta di testo statica da restituire quando il tipo è STATIC. |
textResponseInstruction |
Facoltativo. Istruzioni per l'LLM su come generare la risposta di testo. Utilizzato come descrizione del parametro di risposta di testo se il tipo è LLM_GENERATED. |
RemoteAgentTool
| Rappresentazione JSON |
|---|
{
"name": string,
"description": string,
"agentCard": {
object ( |
| Campi | |
|---|---|
name |
Obbligatorio. Il nome dello strumento. |
description |
Obbligatorio. La descrizione dello strumento. |
agentCard |
Obbligatorio. La scheda dell'agente remoto richiamato da questo strumento. |
AgentCard
| Rappresentazione JSON |
|---|
{ "name": string, "description": string, "supportedInterfaces": [ { object ( |
| Campi | |
|---|---|
name |
Obbligatorio. Un nome leggibile per l'agente. |
description |
Obbligatorio. Una descrizione del dominio di azione/spazio delle soluzioni dell'agente. |
supportedInterfaces[] |
Obbligatorio. Elenco ordinato delle interfacce supportate. Viene preferita la prima voce. |
version |
Obbligatorio. La versione dell'agente. |
skills[] |
Obbligatorio. Le skill rappresentano un'unità di capacità che un agente può eseguire. Potrebbe sembrare un po' astratto, ma rappresenta un insieme più mirato di azioni che l'agente ha molte probabilità di portare a termine. |
AgentInterface
| Rappresentazione JSON |
|---|
{ "url": string, "protocolBinding": string, "tenant": string, "protocolVersion": string } |
| Campi | |
|---|---|
url |
Obbligatorio. L'URL in cui è disponibile questa interfaccia. Deve essere un URL HTTPS assoluto valido nell'ambiente di produzione. Esempio: "https://api.example.com/a2a/v1", "https://grpc.example.com/a2a" |
protocolBinding |
Obbligatorio. Il binding del protocollo supportato a questo URL. Si tratta di una stringa di formato aperto, facilmente estendibile per altri binding di protocollo. Quelli principali supportati ufficialmente sono |
tenant |
ID tenant da utilizzare nella richiesta quando chiami l'agente. |
protocolVersion |
Obbligatorio. La versione del protocollo A2A esposta da questa interfaccia. Utilizza l'ultima versione secondaria supportata per ogni versione principale. Esempi: "0.3", "1.0" |
AgentSkill
| Rappresentazione JSON |
|---|
{ "id": string, "name": string, "description": string, "tags": [ string ], "examples": [ string ], "inputModes": [ string ], "outputModes": [ string ] } |
| Campi | |
|---|---|
id |
Obbligatorio. Un identificatore univoco per la competenza dell'agente. |
name |
Obbligatorio. Un nome leggibile per la competenza. |
description |
Obbligatorio. Una descrizione dettagliata della skill. |
tags[] |
Obbligatorio. Un insieme di parole chiave che descrivono le funzionalità della skill. |
examples[] |
Esempi di prompt o scenari che questa skill può gestire. |
inputModes[] |
Il set di tipi di contenuti multimediali di input supportati per questa skill, che sostituisce i valori predefiniti dell'agente. |
outputModes[] |
L'insieme dei tipi di contenuti multimediali di output supportati per questa skill, che sostituiscono i valori predefiniti dell'agente. |
Durata
| Rappresentazione JSON |
|---|
{ "seconds": string, "nanos": integer } |
| Campi | |
|---|---|
seconds |
Secondi firmati dell'intervallo di tempo. Deve essere compreso tra -315.576.000.000 e +315.576.000.000 inclusi. Nota: questi limiti vengono calcolati in base a: 60 sec/min * 60 min/ora * 24 ore/giorno * 365,25 giorni/anno * 10.000 anni |
nanos |
Frazioni di secondo con segno con risoluzione in nanosecondi dell'intervallo di tempo. Le durate inferiori a un secondo sono rappresentate con un campo |
ToolFakeConfig
| Rappresentazione JSON |
|---|
{ "enableFakeMode": boolean, // Union field |
| Campi | |
|---|---|
enableFakeMode |
Facoltativo. Indica se lo strumento utilizza la modalità Falso. |
Campo unione tool_response. La risposta è statica o fornita da una funzione Python. tool_response può essere solo uno dei seguenti tipi: |
|
codeBlock |
Facoltativo. Blocco di codice che verrà eseguito al posto di una chiamata allo strumento reale. |
CodeBlock
| Rappresentazione JSON |
|---|
{ "pythonCode": string } |
| Campi | |
|---|---|
pythonCode |
Obbligatorio. Codice Python che verrà richiamato in modalità di simulazione dello strumento. Firma della funzione Python prevista: per intercettare tutte le chiamate di strumenti: def fake_tool_call(tool: Tool, input: dict[str, Any], callback_context: CallbackContext) -> Optional[dict[str, Any]]: per intercettare una chiamata di strumento specifica: def fake_{tool_id}(tool: Tool, input: dict[str, Any], callback_context: CallbackContext) -> Optional[dict[str, Any]]: se la funzione restituisce None, verrà richiamato lo strumento reale. |
Tipo
Tipi di dati OpenAPI.
| Enum | |
|---|---|
TYPE_UNSPECIFIED |
Tipo non specificato. |
STRING |
Tipo di stringa. |
INTEGER |
Tipo di numero intero. |
NUMBER |
Tipo di numero. |
BOOLEAN |
Tipo booleano. |
OBJECT |
Tipo di oggetto. |
ARRAY |
Tipo di array. |
NullValue
Rappresenta un null JSON.
NullValue è un sentinel che utilizza un'enumerazione con un solo valore per rappresentare il valore nullo per l'unione di tipi Value.
Un campo di tipo NullValue con un valore diverso da 0 è considerato non valido. La maggior parte dei serializzatori ProtoJSON emetterà un Value con un null_value impostato come null JSON indipendentemente dal valore intero, quindi verrà eseguito l'andata e ritorno a un valore 0.
| Enum | |
|---|---|
NULL_VALUE |
Valore nullo. |
RequestLocation
La posizione della chiave API nella richiesta.
| Enum | |
|---|---|
REQUEST_LOCATION_UNSPECIFIED |
Non specificato. Questo valore non deve essere utilizzato. |
HEADER |
Rappresenta la chiave nell'intestazione HTTP. |
QUERY_STRING |
Rappresenta la chiave nella stringa di query. |
OauthGrantType
Tipi di autorizzazione con OAuth. È supportata solo la concessione delle credenziali client.
| Enum | |
|---|---|
OAUTH_GRANT_TYPE_UNSPECIFIED |
Non specificato. Il valore predefinito è CLIENT_CREDENTIAL. |
CLIENT_CREDENTIAL |
Rappresenta il flusso delle credenziali client. |
OperationType
L'operazione da eseguire sull'entità.
| Enum | |
|---|---|
OPERATION_TYPE_UNSPECIFIED |
Tipo di operazione non specificato. Non valido, la creazione/l'aggiornamento di ConnectorTool non riuscirà. |
LIST |
Elenco operazioni. |
GET |
Recupera operazione. |
CREATE |
Crea operazione. |
UPDATE |
Operazione di aggiornamento. |
DELETE |
Operazione di eliminazione. |
DataStoreType
Il tipo di datastore.
| Enum | |
|---|---|
DATA_STORE_TYPE_UNSPECIFIED |
Non specificato. Questo valore indica che il tipo di datastore non è specificato, quindi non verrà utilizzato durante la ricerca. |
PUBLIC_WEB |
Un datastore che contiene contenuti web pubblici. |
UNSTRUCTURED |
Un datastore che contiene dati privati non strutturati. |
FAQ |
Un datastore che contiene dati strutturati utilizzati come domande frequenti. |
CONNECTOR |
Un datastore che è un connettore a un servizio proprietario o di terze parti. |
DocumentProcessingMode
La modalità di elaborazione dei documenti del datastore.
| Enum | |
|---|---|
DOCUMENT_PROCESSING_MODE_UNSPECIFIED |
Non specificato. |
DOCUMENTS |
I documenti vengono elaborati come documenti. |
CHUNKS |
I documenti vengono convertiti in blocchi. |
AttributeType
L'attributo(o la funzione) a cui deve essere applicato il ranking personalizzato.
| Enum | |
|---|---|
ATTRIBUTE_TYPE_UNSPECIFIED |
Tipo di attributo non specificato. |
NUMERICAL |
Il valore del campo numerico verrà utilizzato per aggiornare dinamicamente l'importo dell'incremento. In questo caso, l'attributo_value (il valore x) del punto di controllo sarà il valore effettivo del campo numerico per cui è specificato boost_amount. |
FRESHNESS |
Per il caso d'uso della freschezza, il valore dell'attributo sarà la durata tra l'ora corrente e la data nel campo datetime specificato. Il valore deve essere formattato come valore XSD dayTimeDuration (un sottoinsieme limitato di un valore di durata ISO 8601). Il pattern è: [nD][T[nH][nM][nS]]. Ad esempio, 5D, 3DT12H30M, T24H. |
InterpolationType
Il tipo di interpolazione da applicare. Il valore predefinito sarà lineare (lineare a tratti).
| Enum | |
|---|---|
INTERPOLATION_TYPE_UNSPECIFIED |
Il tipo di interpolazione non è specificato. In questo caso, il valore predefinito è Lineare. |
LINEAR |
Verrà applicata l'interpolazione lineare a tratti. |
ModalityType
Il tipo di modalità.
| Enum | |
|---|---|
MODALITY_TYPE_UNSPECIFIED |
Tipo di modalità non specificato. |
TEXT |
Modalità testo. |
AUDIO |
Modalità audio. |
FilterParameterBehavior
Comportamento dei parametri di filtro.
| Enum | |
|---|---|
FILTER_PARAMETER_BEHAVIOR_UNSPECIFIED |
Comportamento predefinito del filtro. Includi il parametro filtro di inclusione per i datastore del connettore. Per gli altri tipi di datastore, il parametro di input del filtro viene omesso. |
ALWAYS_INCLUDE |
Includi sempre il parametro di filtro per tutti i tipi di datastore. |
NEVER_INCLUDE |
Il parametro di filtro non è mai incluso nell'elenco dei parametri dello strumento, indipendentemente dal tipo di datastore. |
Stato
Rappresenta lo stato di disponibilità dinamica dello strumento.
| Enum | |
|---|---|
STATE_UNSPECIFIED |
Stato predefinito. |
ACTIVE |
Lo strumento è disponibile e offerto attivamente dal server. |
INACTIVE |
Lo strumento è configurato o bloccato, ma al momento non è offerto dal server. |
STALE |
Lo strumento esiste sul server, ma non corrisponde alla versione sul server. |
CorpusType
Il tipo di corpus Vertex RAG.
| Enum | |
|---|---|
CORPUS_TYPE_UNSPECIFIED |
Tipo di corpus non specificato. |
USER_OWNED |
Il corpus viene creato e di proprietà dell'utente. |
FULLY_MANAGED |
Il corpus viene creato dall'agente. |
WidgetType
Tutti i tipi di widget disponibili. In futuro potrebbero essere aggiunti nuovi valori a questa enumerazione.
| Enum | |
|---|---|
WIDGET_TYPE_UNSPECIFIED |
Tipo di widget non specificato. |
CUSTOM |
Tipo di widget personalizzato. |
PRODUCT_CAROUSEL |
Widget Carosello di prodotti. |
PRODUCT_DETAILS |
Widget Dettagli prodotto. |
QUICK_ACTIONS |
Widget Azioni rapide. |
PRODUCT_COMPARISON |
Widget di confronto dei prodotti. |
ADVANCED_PRODUCT_DETAILS |
Widget Dettagli del prodotto avanzati. |
SHORT_FORM |
Widget per il formato breve. |
OVERALL_SATISFACTION |
Widget di soddisfazione generale. |
ORDER_SUMMARY |
Widget Riepilogo ordine. |
APPOINTMENT_DETAILS |
Widget dei dettagli dell'appuntamento. |
APPOINTMENT_SCHEDULER |
Widget per la pianificazione degli appuntamenti. |
CONTACT_FORM |
Widget modulo di contatto. |
Modalità
La strategia utilizzata per mappare i dati dallo strumento di origine al widget.
| Enum | |
|---|---|
MODE_UNSPECIFIED |
Modalità non specificata. |
FIELD_MAPPING |
Utilizza la mappa field_mappings per la trasformazione dei dati. |
PYTHON_SCRIPT |
Utilizza python_script per la trasformazione dei dati. |
Tipo
Definisce come viene prodotta la risposta testuale.
| Enum | |
|---|---|
TYPE_UNSPECIFIED |
Tipo non specificato. |
NONE |
L'LLM decide dinamicamente se generare una risposta di testo insieme al widget in base al contesto della conversazione. |
LLM_GENERATED |
Il modello LLM è esplicitamente tenuto a generare una risposta di testo. |
STATIC |
Viene sempre utilizzata una risposta di testo statico predefinita. |
ExecutionType
Il tipo di esecuzione dello strumento o del set di strumenti.
| Enum | |
|---|---|
EXECUTION_TYPE_UNSPECIFIED |
Il tipo di esecuzione non è specificato. Se non specificato, il valore predefinito è SYNCHRONOUS. |
SYNCHRONOUS |
Lo strumento viene eseguito in modo sincrono. La sessione è bloccata fino al ritorno dello strumento. |
ASYNCHRONOUS |
Lo strumento viene eseguito in modo asincrono. La sessione continuerà durante l'esecuzione dello strumento. |
Schema di output
Uno strumento rappresenta un'azione che l'agente CES può intraprendere per raggiungere determinati obiettivi.
Strumento
| Rappresentazione JSON |
|---|
{ "name": string, "displayName": string, "executionType": enum ( |
| Campi | |
|---|---|
name |
Identificatore. Il nome della risorsa dello strumento. Formato:
Questi strumenti sono dinamici e solo di output; non è possibile farvi riferimento direttamente dove è previsto uno strumento. |
displayName |
Solo output. Il nome visualizzato dello strumento, derivato in base al tipo di strumento. Ad esempio, il nome visualizzato di una [ClientFunction][Tool.ClientFunction] deriva dalla relativa proprietà |
executionType |
Facoltativo. Il tipo di esecuzione dello strumento. |
timeout |
Facoltativo. Il timeout per l'esecuzione dello strumento. Se non viene impostato, il timeout predefinito è di 30 secondi per gli strumenti Una durata in secondi con un massimo di nove cifre frazionarie, che termina con " |
createTime |
Solo output. Timestamp di creazione dello strumento. Utilizza RFC 3339, in cui l'output generato è sempre con normalizzazione Z e utilizza 0, 3, 6 o 9 cifre frazionarie. Sono accettati anche offset diversi da "Z". Esempi: |
updateTime |
Solo output. Timestamp dell'ultimo aggiornamento dello strumento. Utilizza RFC 3339, in cui l'output generato è sempre con normalizzazione Z e utilizza 0, 3, 6 o 9 cifre frazionarie. Sono accettati anche offset diversi da "Z". Esempi: |
etag |
Etag utilizzato per garantire che l'oggetto non sia stato modificato durante un'operazione di lettura, modifica e scrittura. Se l'etag è vuoto, l'aggiornamento sovrascriverà eventuali modifiche simultanee. |
generatedSummary |
Solo output. Se lo strumento è generato dall'assistente LLM, questo campo contiene un riepilogo descrittivo della generazione. |
toolFakeConfig |
Facoltativo. Configurazione del comportamento dello strumento in modalità simulata. |
Campo unione tool_type. Il tipo di strumento. tool_type può essere solo uno dei seguenti tipi: |
|
clientFunction |
Facoltativo. La funzione client. |
openApiTool |
Facoltativo. Lo strumento API aperta. |
googleSearchTool |
Facoltativo. Lo strumento di ricerca di Google. |
connectorTool |
Facoltativo. Lo strumento Integration Connector. |
dataStoreTool |
Facoltativo. Lo strumento datastore. |
pythonFunction |
Facoltativo. Lo strumento per le funzioni Python. |
mcpTool |
Facoltativo. Lo strumento MCP. Uno strumento MCP non può essere creato o aggiornato direttamente ed è gestito dal set di strumenti MCP. |
fileSearchTool |
Facoltativo. Lo strumento di ricerca dei file. |
systemTool |
Facoltativo. Lo strumento di sistema. |
agentTool |
Facoltativo. Lo strumento dell'agente. |
widgetTool |
Facoltativo. Lo strumento widget. |
remoteAgentTool |
Facoltativo. Lo strumento dell'agente remoto. |
ClientFunction
| Rappresentazione JSON |
|---|
{ "name": string, "description": string, "parameters": { object ( |
| Campi | |
|---|---|
name |
Obbligatorio. Il nome della funzione. |
description |
Facoltativo. La descrizione della funzione. |
parameters |
Facoltativo. Lo schema dei parametri della funzione. |
response |
Facoltativo. Lo schema della risposta della funzione. |
Schema
| Rappresentazione JSON |
|---|
{ "type": enum ( |
| Campi | |
|---|---|
type |
Obbligatorio. Il tipo di dati. |
properties |
Facoltativo. Proprietà di Type.OBJECT. Un oggetto contenente un elenco di coppie |
required[] |
Facoltativo. Proprietà obbligatorie di Type.OBJECT. |
description |
Facoltativo. La descrizione dei dati. |
items |
Facoltativo. Schema degli elementi di Type.ARRAY. |
nullable |
Facoltativo. Indica se il valore può essere null. |
uniqueItems |
Facoltativo. Indica che gli elementi dell'array devono essere univoci. Si applica solo a TYPE.ARRAY. |
prefixItems[] |
Facoltativo. Schemi degli elementi iniziali di Type.ARRAY. |
additionalProperties |
Facoltativo. Può essere un valore booleano o un oggetto, controlla la presenza di proprietà aggiuntive. |
anyOf[] |
Facoltativo. Il valore deve essere convalidato rispetto a uno o più sottoschema nell'elenco. |
enum[] |
Facoltativo. Valori possibili dell'elemento di tipo primitivo con formato enum. Esempi: 1. Possiamo definire la direzione come : {type:STRING, format:enum, enum:["EAST", NORTH", "SOUTH", "WEST"]} 2. Possiamo definire il numero di appartamento come : {type:INTEGER, format:enum, enum:["101", "201", "301"]} |
default |
Facoltativo. Valore predefinito dei dati. |
ref |
Facoltativo. Consente riferimenti indiretti tra i nodi dello schema. Il valore deve essere un riferimento valido a un elemento secondario della radice Ad esempio, lo schema seguente definisce un riferimento a un nodo dello schema denominato "Pet": Il valore della proprietà "pet" è un riferimento al nodo dello schema denominato "Pet". Per maggiori dettagli, visita la pagina https://json-schema.org/understanding-json-schema/structuring. |
defs |
Facoltativo. Una mappa delle definizioni da utilizzare per Un oggetto contenente un elenco di coppie |
title |
Facoltativo. Il titolo dello schema. |
minItems |
Facoltativo. Numero minimo di elementi per Type.ARRAY. |
maxItems |
Facoltativo. Numero massimo di elementi per Type.ARRAY. |
Campo unione
|
|
minimum |
Facoltativo. Valore minimo per Type.INTEGER e Type.NUMBER. |
Campo unione
|
|
maximum |
Facoltativo. Valore massimo per Type.INTEGER e Type.NUMBER. |
PropertiesEntry
| Rappresentazione JSON |
|---|
{
"key": string,
"value": {
object ( |
| Campi | |
|---|---|
key |
|
value |
|
Valore
| Rappresentazione JSON |
|---|
{ // Union field |
| Campi | |
|---|---|
Campo unione kind. Il tipo di valore. kind può essere solo uno dei seguenti tipi: |
|
nullValue |
Rappresenta un |
numberValue |
Rappresenta un numero JSON. Non deve essere |
stringValue |
Rappresenta una stringa JSON. |
boolValue |
Rappresenta un valore booleano JSON (valore letterale |
structValue |
Rappresenta un oggetto JSON. |
listValue |
Rappresenta un array JSON. |
Struct
| Rappresentazione JSON |
|---|
{ "fields": { string: value, ... } } |
| Campi | |
|---|---|
fields |
Mappa non ordinata di valori con tipo dinamico. Un oggetto contenente un elenco di coppie |
FieldsEntry
| Rappresentazione JSON |
|---|
{ "key": string, "value": value } |
| Campi | |
|---|---|
key |
|
value |
|
ListValue
| Rappresentazione JSON |
|---|
{ "values": [ value ] } |
| Campi | |
|---|---|
values[] |
Campo ripetuto di valori con tipo dinamico. |
DefsEntry
| Rappresentazione JSON |
|---|
{
"key": string,
"value": {
object ( |
| Campi | |
|---|---|
key |
|
value |
|
OpenApiTool
| Rappresentazione JSON |
|---|
{ "openApiSchema": string, "name": string, "description": string, "apiAuthentication": { object ( |
| Campi | |
|---|---|
openApiSchema |
Obbligatorio. Lo schema OpenAPI in formato JSON o YAML. |
name |
Facoltativo. Il nome dello strumento. Se non viene fornito, il nome dello strumento verrà derivato dallo schema OpenAPI, da |
description |
Facoltativo. La descrizione dello strumento. Se non viene fornita, la descrizione dello strumento verrà derivata dallo schema OpenAPI, da |
apiAuthentication |
Facoltativo. Informazioni di autenticazione richieste dall'API. |
tlsConfig |
Facoltativo. La configurazione TLS. Include i certificati del server personalizzati di cui il client si fiderà. |
serviceDirectoryConfig |
Facoltativo. Configurazione di Service Directory. |
ignoreUnknownFields |
Facoltativo. Se il valore è true, l'agente ignorerà i campi sconosciuti nella risposta dell'API. |
url |
Facoltativo. L'URL del server dello schema Open API. Questo campo viene impostato solo negli strumenti nelle dipendenze dell'ambiente durante il processo di esportazione se lo schema contiene un URL del server. Durante il processo di importazione, se questo URL è presente nelle dipendenze dell'ambiente e lo schema contiene il segnaposto $env_var, quest'ultimo verrà sostituito nello schema. |
ApiAuthentication
| Rappresentazione JSON |
|---|
{ // Union field |
| Campi | |
|---|---|
Campo unione auth_config. La configurazione di autenticazione. auth_config può essere solo uno dei seguenti tipi: |
|
apiKeyConfig |
Facoltativo. Configurazione per l'autenticazione della chiave API. |
oauthConfig |
Facoltativo. Configurazione per OAuth. |
serviceAgentIdTokenAuthConfig |
Facoltativo. Configurazione per l'autenticazione con token ID generato dall'agente di servizio CES. |
serviceAccountAuthConfig |
Facoltativo. Configurazione per l'autenticazione del account di servizio. |
bearerTokenConfig |
Facoltativo. Configurazione per l'autenticazione con token di connessione. |
ApiKeyConfig
| Rappresentazione JSON |
|---|
{
"keyName": string,
"apiKeySecretVersion": string,
"requestLocation": enum ( |
| Campi | |
|---|---|
keyName |
Obbligatorio. Il nome del parametro o dell'intestazione della chiave API. Ad esempio, Se la richiesta API è "https://example.com/act?X-Api-Key= |
apiKeySecretVersion |
Obbligatorio. Il nome della risorsa della versione del secret di Secret Manager che archivia la chiave API. Formato: Nota: devi concedere il ruolo |
requestLocation |
Obbligatorio. Posizione della chiave nella richiesta. |
OAuthConfig
| Rappresentazione JSON |
|---|
{
"oauthGrantType": enum ( |
| Campi | |
|---|---|
oauthGrantType |
Obbligatorio. Tipi di autorizzazione con OAuth. |
clientId |
Obbligatorio. L'ID client del provider OAuth. |
clientSecretVersion |
Obbligatorio. Il nome della risorsa della versione del secret di Secret Manager che archivia il client secret. Formato: Nota: devi concedere il ruolo |
tokenEndpoint |
Obbligatorio. L'endpoint del token nel provider OAuth da scambiare con un token di accesso. |
scopes[] |
Facoltativo. Gli ambiti OAuth da concedere. |
ServiceAccountAuthConfig
| Rappresentazione JSON |
|---|
{ "serviceAccount": string, "scopes": [ string ] } |
| Campi | |
|---|---|
serviceAccount |
Obbligatorio. L'indirizzo email del account di servizio utilizzato per l'autenticazione. CES utilizza questo account di servizio per scambiare un token di accesso, che viene poi inviato nell'intestazione All'account di servizio deve essere concesso il ruolo |
scopes[] |
Facoltativo. Gli ambiti OAuth da concedere. Se non specificato, viene utilizzato l'ambito predefinito |
BearerTokenConfig
| Rappresentazione JSON |
|---|
{ "token": string } |
| Campi | |
|---|---|
token |
Obbligatorio. Il token di connessione. Deve essere nel formato |
TlsConfig
| Rappresentazione JSON |
|---|
{
"caCerts": [
{
object ( |
| Campi | |
|---|---|
caCerts[] |
Obbligatorio. Specifica un elenco di certificati CA personalizzati consentiti per la verifica HTTPS. |
CaCert
| Rappresentazione JSON |
|---|
{ "displayName": string, "cert": string } |
| Campi | |
|---|---|
displayName |
Obbligatorio. Il nome dei certificati CA personalizzati consentiti. Può essere utilizzato per disambiguare i certificati CA personalizzati. |
cert |
Obbligatorio. I certificati CA personalizzati consentiti (in formato DER) per la verifica HTTPS. Esegue l'override dell'archivio di attendibilità SSL predefinito. Se questo campo è vuoto o non specificato, CES utilizzerà l'archivio di attendibilità predefinito di Google per verificare i certificati. Nota: assicurati che i certificati del server HTTPS siano firmati con "subject alt name". Ad esempio, un certificato può essere autofirmato utilizzando il seguente comando: Una stringa con codifica in base64. |
ServiceDirectoryConfig
| Rappresentazione JSON |
|---|
{ "service": string } |
| Campi | |
|---|---|
service |
Obbligatorio. Il nome del servizio Service Directory. Formato: |
GoogleSearchTool
| Rappresentazione JSON |
|---|
{
"name": string,
"description": string,
"contextUrls": [
string
],
"preferredDomains": [
string
],
"excludeDomains": [
string
],
"promptConfig": {
object ( |
| Campi | |
|---|---|
name |
Obbligatorio. Il nome dello strumento. |
description |
Facoltativo. Descrizione dello scopo dello strumento. |
contextUrls[] |
Facoltativo. I contenuti verranno recuperati direttamente da questi URL per il contesto e la base. Esempio: "https://example.com/path.html". Sono consentiti al massimo 20 URL. |
preferredDomains[] |
Facoltativo. Specifica i domini a cui limitare i risultati di ricerca. Esempio: "example.com", "another.site". È possibile specificare un massimo di 20 domini. |
excludeDomains[] |
Facoltativo. Elenco dei domini da escludere dai risultati di ricerca. Esempio: "example.com". È possibile escludere un massimo di 2000 domini. |
promptConfig |
Facoltativo. Istruzioni del prompt trasmesse al planner su come devono essere elaborati i risultati di ricerca per il testo e la voce. |
PromptConfig
| Rappresentazione JSON |
|---|
{ "textPrompt": string, "voicePrompt": string } |
| Campi | |
|---|---|
textPrompt |
Facoltativo. Definisce il prompt utilizzato per le istruzioni di sistema quando interagisci con l'agente nelle conversazioni di chat. Se non impostato, verrà utilizzato il prompt predefinito. |
voicePrompt |
Facoltativo. Definisce il prompt utilizzato per le istruzioni di sistema quando interagisci con l'agente nelle conversazioni vocali. Se non impostato, verrà utilizzato il prompt predefinito. |
ConnectorTool
| Rappresentazione JSON |
|---|
{ "connection": string, "action": { object ( |
| Campi | |
|---|---|
connection |
Obbligatorio. Il nome completo della risorsa della connessione Integration Connectors a cui viene fatto riferimento. Formato: |
action |
Obbligatorio. Azione da utilizzare per lo strumento. |
authConfig |
Facoltativo. Configura la gestione dell'autenticazione in Integration Connectors. Per impostazione predefinita, un'autenticazione amministratore viene trasmessa nelle richieste dell'API Integration Connectors. Puoi ignorarlo con una configurazione di autenticazione dell'utente finale diversa. Nota: per specificare una configurazione EUC qui, l'override dell'autenticazione deve essere abilitato nella connessione. In caso contrario, la creazione di ConnectorTool non riuscirà. Per i dettagli, vedi https://cloud.google.com/application-integration/docs/configure-connectors-task#configure-authentication-override. |
name |
Facoltativo. Il nome dello strumento che può essere utilizzato dall'agente per decidere se chiamare questo ConnectorTool. |
description |
Facoltativo. La descrizione dello strumento che può essere utilizzata dall'agente per decidere se chiamare questo ConnectorTool. |
Azione
| Rappresentazione JSON |
|---|
{ "inputFields": [ string ], "outputFields": [ string ], // Union field |
| Campi | |
|---|---|
inputFields[] |
Facoltativo. Campi dell'entità da utilizzare come input per l'operazione. Se non vengono specificati campi, verranno utilizzati tutti i campi dell'entità. |
outputFields[] |
Facoltativo. Campi dell'entità da restituire dall'operazione. Se non vengono specificati campi, vengono restituiti tutti i campi dell'entità. |
Campo unione action_spec. Specifica di un'azione da configurare per l'utilizzo dello strumento. action_spec può essere solo uno dei seguenti tipi: |
|
connectionActionId |
ID di un'azione di connessione da utilizzare per lo strumento. |
entityOperation |
Configurazione dell'operazione dell'entità da utilizzare per lo strumento. |
EntityOperation
| Rappresentazione JSON |
|---|
{
"entityId": string,
"operation": enum ( |
| Campi | |
|---|---|
entityId |
Obbligatorio. ID dell'entità. |
operation |
Obbligatorio. Operazione da eseguire sull'entità. |
EndUserAuthConfig
| Rappresentazione JSON |
|---|
{ // Union field |
| Campi | |
|---|---|
Campo unione auth_config. La configurazione di autenticazione. auth_config può essere solo uno dei seguenti tipi: |
|
oauth2AuthCodeConfig |
Autenticazione del codice di autorizzazione OAuth 2.0. |
oauth2JwtBearerConfig |
Autenticazione della concessione di autorizzazione OAuth 2.0 del profilo JWT. |
Oauth2AuthCodeConfig
| Rappresentazione JSON |
|---|
{ "oauthToken": string } |
| Campi | |
|---|---|
oauthToken |
Obbligatorio. Nome del parametro del token OAuth da trasferire. Deve essere nel formato |
Oauth2JwtBearerConfig
| Rappresentazione JSON |
|---|
{ "issuer": string, "subject": string, "clientKey": string } |
| Campi | |
|---|---|
issuer |
Obbligatorio. Nome del parametro dell'emittente da trasferire. Deve essere nel formato |
subject |
Obbligatorio. Nome del parametro oggetto da trasferire. Deve essere nel formato |
clientKey |
Obbligatorio. Nome del parametro client da trasferire. Deve essere nel formato |
DataStoreTool
| Rappresentazione JSON |
|---|
{ "name": string, "description": string, "boostSpecs": [ { object ( |
| Campi | |
|---|---|
name |
Obbligatorio. Il nome dello strumento datastore. |
description |
Facoltativo. La descrizione dello strumento. |
boostSpecs[] |
Facoltativo. Migliora le specifiche per dare priorità a determinati documenti. |
modalityConfigs[] |
Facoltativo. Le configurazioni della modalità per il datastore. |
filterParameterBehavior |
Facoltativo. Il comportamento del parametro di filtro. |
Campo unione search_source. Definisce l'origine della ricerca, ovvero un singolo datastore o un motore. search_source può essere solo uno dei seguenti tipi: |
|
dataStoreSource |
Facoltativo. Eseguire ricerche all'interno di un singolo DataStore specifico. |
engineSource |
Facoltativo. Cerca all'interno di un motore (potenzialmente in più datastore). |
DataStoreSource
| Rappresentazione JSON |
|---|
{
"filter": string,
"dataStore": {
object ( |
| Campi | |
|---|---|
filter |
Facoltativo. Specifica del filtro per il datastore. Vedi: https://cloud.google.com/generative-ai-app-builder/docs/filter-search-metadata |
dataStore |
Facoltativo. Il datastore. |
DataStore
| Rappresentazione JSON |
|---|
{ "name": string, "type": enum ( |
| Campi | |
|---|---|
name |
Obbligatorio. Nome completo della risorsa del datastore. Formato: |
type |
Solo output. Il tipo di datastore. Questo campo è di sola lettura e viene compilato dal server. |
documentProcessingMode |
Solo output. La modalità di elaborazione dei documenti per la connessione del datastore. Impostato solo per i datastore PUBLIC_WEB e UNSTRUCTURED. |
displayName |
Solo output. Il nome visualizzato del datastore. |
createTime |
Solo output. Timestamp di creazione del datastore. Utilizza RFC 3339, in cui l'output generato è sempre con normalizzazione Z e utilizza 0, 3, 6 o 9 cifre frazionarie. Sono accettati anche offset diversi da "Z". Esempi: |
connectorConfig |
Solo output. La configurazione del connettore per la connessione al datastore. |
Timestamp
| Rappresentazione JSON |
|---|
{ "seconds": string, "nanos": integer } |
| Campi | |
|---|---|
seconds |
Rappresenta i secondi di tempo UTC dall'epoca Unix 1970-01-01T00:00:00Z. Deve essere compreso tra -62135596800 e 253402300799 inclusi (corrispondenti a 0001-01-01T00:00:00Z e 9999-12-31T23:59:59Z). |
nanos |
Frazioni di secondo non negative con risoluzione in nanosecondi. Questo campo è la parte in nanosecondi della durata, non un'alternativa ai secondi. I valori negativi dei secondi con frazioni devono comunque avere valori non negativi dei nanosecondi che vengono conteggiati in avanti nel tempo. Deve essere compreso tra 0 e 999.999.999 inclusi. |
ConnectorConfig
| Rappresentazione JSON |
|---|
{ "collection": string, "collectionDisplayName": string, "dataSource": string } |
| Campi | |
|---|---|
collection |
Il nome della risorsa della raccolta a cui appartiene il datastore. |
collectionDisplayName |
Nome visualizzato della raccolta a cui appartiene il datastore. |
dataSource |
Il nome dell'origine dati. Esempio: |
EngineSource
| Rappresentazione JSON |
|---|
{
"engine": string,
"dataStoreSources": [
{
object ( |
| Campi | |
|---|---|
engine |
Obbligatorio. Nome completo della risorsa del motore. Formato: |
dataStoreSources[] |
Facoltativo. Utilizza questo campo per scegliere come target DataStore specifici all'interno del motore. Se vuoto, la ricerca viene applicata a tutti i Data Store associati al motore. |
filter |
Facoltativo. Un filtro applicato alla ricerca nel motore. Non pertinente e non utilizzato se viene fornito "data_store_sources". Vedi: https://cloud.google.com/generative-ai-app-builder/docs/filter-search-metadata |
BoostSpecs
| Rappresentazione JSON |
|---|
{
"dataStores": [
string
],
"spec": [
{
object ( |
| Campi | |
|---|---|
dataStores[] |
Obbligatorio. Il datastore in cui viene applicata la configurazione del boosting. Nome completo della risorsa DataStore, ad esempio projects/{project}/locations/{location}/collections/{collection}/dataStores/{dataStore}. |
spec[] |
Obbligatorio. Un elenco di specifiche di boosting. |
BoostSpec
| Rappresentazione JSON |
|---|
{
"conditionBoostSpecs": [
{
object ( |
| Campi | |
|---|---|
conditionBoostSpecs[] |
Obbligatorio. Un elenco di specifiche di boosting. |
ConditionBoostSpec
| Rappresentazione JSON |
|---|
{
"condition": string,
"boost": number,
"boostControlSpec": {
object ( |
| Campi | |
|---|---|
condition |
Obbligatorio. Un'espressione che specifica una condizione di aumento. La sintassi è la stessa delle espressioni di filtro. Al momento, l'unica condizione supportata è un elenco di codici lingua BCP-47. Esempio: per aumentare i suggerimenti nelle lingue inglese o francese: (lang_code: ANY("en", "fr")) |
boost |
Facoltativo. L'intensità del boost, che deve essere compresa tra -1 e 1. Un boosting negativo indica una retrocessione. Il valore predefinito è 0.0. Se il boosting viene impostato su 1.0, i suggerimenti vengono promossi maggiormente. Tuttavia, non significa necessariamente che il risultato in cima alla prima pagina sarà un suggerimento con boosting. Se viene impostato su -1.0, i suggerimenti vengono declassati in modo significativo. Tuttavia, potrebbero comunque essere mostrati altri suggerimenti pertinenti. Se il valore è impostato su 0,0, non viene applicato alcun boost. La condizione di incremento viene ignorata. |
boostControlSpec |
Facoltativo. Specifica complessa per il ranking personalizzato in base al valore dell'attributo definito dal cliente. |
BoostControlSpec
| Rappresentazione JSON |
|---|
{ "fieldName": string, "attributeType": enum ( |
| Campi | |
|---|---|
fieldName |
Facoltativo. Il nome del campo il cui valore verrà utilizzato per determinare l'importo dell'aggiustamento. |
attributeType |
Facoltativo. Il tipo di attributo da utilizzare per determinare l'importo del boost. Il valore dell'attributo può essere derivato dal valore del campo field_name specificato. Nel caso di valori numerici, è semplice, ad esempio attribute_value = numerical_field_value. Nel caso della freschezza, attribute_value = (time.now() - datetime_field_value). |
interpolationType |
Facoltativo. Il tipo di interpolazione da applicare per collegare i punti di controllo elencati di seguito. |
controlPoints[] |
Facoltativo. I punti di controllo utilizzati per definire la curva. La funzione monotona (definita tramite interpolation_type sopra) passa attraverso i punti di controllo elencati qui. |
ControlPoint
| Rappresentazione JSON |
|---|
{ "attributeValue": string, "boostAmount": number } |
| Campi | |
|---|---|
attributeValue |
Facoltativo. Può corrispondere a uno dei seguenti valori: 1. Il valore del campo numerico. 2. La specifica della durata per l'aggiornamento: il valore deve essere formattato come valore XSD |
boostAmount |
Facoltativo. Il valore compreso tra -1 e 1 in base al quale aumentare il punteggio se attribute_value restituisce il valore specificato sopra. |
ModalityConfig
| Rappresentazione JSON |
|---|
{ "modalityType": enum ( |
| Campi | |
|---|---|
modalityType |
Obbligatorio. Il tipo di modalità. |
rewriterConfig |
Facoltativo. La configurazione dello strumento di riscrittura. |
summarizationConfig |
Facoltativo. La configurazione del riepilogo. |
groundingConfig |
Facoltativo. La configurazione di messa a terra. |
snippetsConfig |
Facoltativo. La configurazione degli snippet. |
RewriterConfig
| Rappresentazione JSON |
|---|
{
"modelSettings": {
object ( |
| Campi | |
|---|---|
modelSettings |
Obbligatorio. Configurazioni per il modello LLM. |
prompt |
Facoltativo. La definizione del prompt. Se non impostato, verrà utilizzato il prompt predefinito. |
disabled |
Facoltativo. Indica se il rewriter è disattivato. |
ModelSettings
| Rappresentazione JSON |
|---|
{ "model": string, // Union field |
| Campi | |
|---|---|
model |
Facoltativo. Il modello LLM che l'agente deve utilizzare. Se non è impostato, l'agente erediterà il modello dall'agente principale. |
Campo unione
|
|
temperature |
Facoltativo. Se impostata, questa temperatura verrà utilizzata per il modello LLM. La temperatura controlla la casualità delle risposte del modello. Le temperature più basse producono risposte più prevedibili. Le temperature più alte producono risposte più creative. |
SummarizationConfig
| Rappresentazione JSON |
|---|
{
"modelSettings": {
object ( |
| Campi | |
|---|---|
modelSettings |
Facoltativo. Configurazioni per il modello LLM. |
prompt |
Facoltativo. La definizione del prompt. Se non impostato, verrà utilizzato il prompt predefinito. |
disabled |
Facoltativo. Indica se il riepilogo è disattivato. |
GroundingConfig
| Rappresentazione JSON |
|---|
{ "groundingLevel": number, "disabled": boolean } |
| Campi | |
|---|---|
groundingLevel |
Facoltativo. La soglia di fondatezza della risposta in base alle fonti recuperate. Il valore ha un intervallo configurabile di [1, 5]. Il livello viene utilizzato per impostare una soglia per la fondatezza della risposta, il che significa che tutte le risposte con un punteggio di fondatezza inferiore alla soglia torneranno a restituire solo snippet pertinenti. Ad esempio, un livello 3 significa che il punteggio di fondatezza deve essere pari o superiore a 3 affinché la risposta venga restituita. |
disabled |
Facoltativo. Indica se la base è disattivata. |
SnippetsConfig
| Rappresentazione JSON |
|---|
{ "enableSnippets": boolean } |
| Campi | |
|---|---|
enableSnippets |
Facoltativo. Se gli snippet sono abilitati. |
PythonFunction
| Rappresentazione JSON |
|---|
{
"name": string,
"pythonCode": string,
"description": string,
"serviceDirectoryConfig": {
object ( |
| Campi | |
|---|---|
name |
Facoltativo. Il nome della funzione Python da eseguire. Deve corrispondere al nome di una funzione Python definita nel codice Python. Sensibile alle maiuscole. Se il nome non viene fornito, verrà utilizzata la prima funzione definita nel codice Python. |
pythonCode |
Facoltativo. Il codice Python da eseguire per lo strumento. |
description |
Solo output. La descrizione della funzione Python, analizzata dalla docstring del codice Python. |
serviceDirectoryConfig |
Facoltativo. Configurazione di Service Directory per lo strumento. |
McpTool
| Rappresentazione JSON |
|---|
{ "name": string, "nameOverride": string, "description": string, "inputSchema": { object ( |
| Campi | |
|---|---|
name |
Obbligatorio. Il nome dello strumento MCP. |
nameOverride |
Facoltativo. L'override del nome dello strumento MCP. Questo campo viene compilato se il nome è stato sostituito da un override del toolset. |
description |
Facoltativo. La descrizione dello strumento MCP. |
inputSchema |
Facoltativo. Lo schema degli argomenti di input dello strumento MCP. |
outputSchema |
Facoltativo. Lo schema degli argomenti di output dello strumento MCP. |
serverAddress |
Obbligatorio. L'indirizzo del server MCP, ad esempio "https://example.com/mcp/". Se il server è creato con l'SDK MCP, l'URL deve avere il suffisso "/mcp/". Sono supportati solo i server basati sul trasporto HTTP in streaming. È uguale a server_address in McpToolset. Per ulteriori dettagli, consulta la pagina https://modelcontextprotocol.io/specification/2025-03-26/basic/transports#streamable-http. |
apiAuthentication |
Facoltativo. Informazioni di autenticazione necessarie per eseguire lo strumento sul server MCP. Per l'autenticazione con token di autenticazione, il token si applica solo all'esecuzione dello strumento, non agli strumenti di elenco. Ciò richiede che gli strumenti possano essere elencati senza autenticazione. |
tlsConfig |
Facoltativo. La configurazione TLS. Include i certificati del server personalizzati che il client deve considerare attendibili. |
serviceDirectoryConfig |
Facoltativo. Configurazione di Service Directory per VPC-SC, utilizzata per risolvere i nomi dei servizi all'interno di un perimetro. |
customHeaders |
Facoltativo. Le intestazioni personalizzate da inviare nella richiesta al server MCP. I valori devono essere nel formato Un oggetto contenente un elenco di coppie |
state |
Solo output. Lo stato di disponibilità dinamica dello strumento sul server esterno. |
CustomHeadersEntry
| Rappresentazione JSON |
|---|
{ "key": string, "value": string } |
| Campi | |
|---|---|
key |
|
value |
|
FileSearchTool
| Rappresentazione JSON |
|---|
{
"corpusType": enum ( |
| Campi | |
|---|---|
corpusType |
Facoltativo. Il tipo di corpus. Il valore predefinito è FULLY_MANAGED. |
name |
Obbligatorio. Il nome dello strumento. |
description |
Facoltativo. La descrizione dello strumento. |
fileCorpus |
Facoltativo. Il corpus in cui sono archiviati i file. Formato: projects/{project}/locations/{location}/ragCorpora/{rag_corpus} |
SystemTool
| Rappresentazione JSON |
|---|
{ "name": string, "description": string } |
| Campi | |
|---|---|
name |
Obbligatorio. Il nome dello strumento di sistema. |
description |
Solo output. La descrizione dello strumento di sistema. |
AgentTool
| Rappresentazione JSON |
|---|
{ "name": string, "description": string, "agent": string } |
| Campi | |
|---|---|
name |
Obbligatorio. Il nome dello strumento dell'agente. |
description |
Facoltativo. Descrizione dello scopo dello strumento. |
agent |
Facoltativo. Il nome della risorsa dell'agente che è il punto di ingresso dello strumento. Formato: |
WidgetTool
| Rappresentazione JSON |
|---|
{ "name": string, "description": string, "widgetType": enum ( |
| Campi | |
|---|---|
name |
Obbligatorio. Il nome visualizzato dello strumento widget. |
description |
Facoltativo. La descrizione dello strumento widget. |
widgetType |
Facoltativo. Il tipo di strumento widget. Se non specificato, il tipo predefinito sarà CUSTOMIZED. |
uiConfig |
Facoltativo. Configurazione per il rendering del widget. |
dataMapping |
Facoltativo. Il mapping che definisce come i dati di uno strumento di origine vengono mappati ai parametri di input del widget. |
textResponseConfig |
Facoltativo. Configurazione per le risposte di testo sempre incluse. |
Campo unione input. L'input dello strumento widget. input può essere solo uno dei seguenti tipi: |
|
parameters |
Facoltativo. I parametri di input dello strumento widget. |
DataMapping
| Rappresentazione JSON |
|---|
{ "sourceToolName": string, "fieldMappings": { string: string, ... }, "pythonFunction": { object ( |
| Campi | |
|---|---|
sourceToolName |
Facoltativo. Il nome della risorsa dello strumento che fornisce i dati per il widget (ad es. uno strumento di ricerca o una funzione personalizzata). Formato: |
fieldMappings |
Facoltativo. Una mappa dei campi dei parametri di input del widget ai campi di output corrispondenti dello strumento di origine. Un oggetto contenente un elenco di coppie |
pythonFunction |
Facoltativo. Configurazione per una funzione Python utilizzata per trasformare l'output dello strumento di origine nel formato di input del widget. |
mode |
Facoltativo. La modalità di mappatura dei dati. |
pythonScript |
Deprecato: utilizza |
FieldMappingsEntry
| Rappresentazione JSON |
|---|
{ "key": string, "value": string } |
| Campi | |
|---|---|
key |
|
value |
|
TextResponseConfig
| Rappresentazione JSON |
|---|
{
"type": enum ( |
| Campi | |
|---|---|
type |
Facoltativo. La strategia per fornire la risposta di testo. |
staticText |
Facoltativo. La risposta di testo statica da restituire quando il tipo è STATIC. |
textResponseInstruction |
Facoltativo. Istruzioni per l'LLM su come generare la risposta di testo. Utilizzato come descrizione del parametro di risposta di testo se il tipo è LLM_GENERATED. |
RemoteAgentTool
| Rappresentazione JSON |
|---|
{
"name": string,
"description": string,
"agentCard": {
object ( |
| Campi | |
|---|---|
name |
Obbligatorio. Il nome dello strumento. |
description |
Obbligatorio. La descrizione dello strumento. |
agentCard |
Obbligatorio. La scheda dell'agente remoto richiamato da questo strumento. |
AgentCard
| Rappresentazione JSON |
|---|
{ "name": string, "description": string, "supportedInterfaces": [ { object ( |
| Campi | |
|---|---|
name |
Obbligatorio. Un nome leggibile per l'agente. |
description |
Obbligatorio. Una descrizione del dominio di azione/spazio delle soluzioni dell'agente. |
supportedInterfaces[] |
Obbligatorio. Elenco ordinato delle interfacce supportate. Viene preferita la prima voce. |
version |
Obbligatorio. La versione dell'agente. |
skills[] |
Obbligatorio. Le skill rappresentano un'unità di capacità che un agente può eseguire. Potrebbe sembrare un po' astratto, ma rappresenta un insieme più mirato di azioni che l'agente ha molte probabilità di portare a termine. |
AgentInterface
| Rappresentazione JSON |
|---|
{ "url": string, "protocolBinding": string, "tenant": string, "protocolVersion": string } |
| Campi | |
|---|---|
url |
Obbligatorio. L'URL in cui è disponibile questa interfaccia. Deve essere un URL HTTPS assoluto valido nell'ambiente di produzione. Esempio: "https://api.example.com/a2a/v1", "https://grpc.example.com/a2a" |
protocolBinding |
Obbligatorio. Il binding del protocollo supportato a questo URL. Si tratta di una stringa di formato aperto, facilmente estendibile per altri binding di protocollo. Quelli principali supportati ufficialmente sono |
tenant |
ID tenant da utilizzare nella richiesta quando chiami l'agente. |
protocolVersion |
Obbligatorio. La versione del protocollo A2A esposta da questa interfaccia. Utilizza l'ultima versione secondaria supportata per ogni versione principale. Esempi: "0.3", "1.0" |
AgentSkill
| Rappresentazione JSON |
|---|
{ "id": string, "name": string, "description": string, "tags": [ string ], "examples": [ string ], "inputModes": [ string ], "outputModes": [ string ] } |
| Campi | |
|---|---|
id |
Obbligatorio. Un identificatore univoco per la competenza dell'agente. |
name |
Obbligatorio. Un nome leggibile per la competenza. |
description |
Obbligatorio. Una descrizione dettagliata della skill. |
tags[] |
Obbligatorio. Un insieme di parole chiave che descrivono le funzionalità della skill. |
examples[] |
Esempi di prompt o scenari che questa skill può gestire. |
inputModes[] |
Il set di tipi di contenuti multimediali di input supportati per questa skill, che sostituisce i valori predefiniti dell'agente. |
outputModes[] |
L'insieme dei tipi di contenuti multimediali di output supportati per questa skill, che sostituiscono i valori predefiniti dell'agente. |
Durata
| Rappresentazione JSON |
|---|
{ "seconds": string, "nanos": integer } |
| Campi | |
|---|---|
seconds |
Secondi firmati dell'intervallo di tempo. Deve essere compreso tra -315.576.000.000 e +315.576.000.000 inclusi. Nota: questi limiti vengono calcolati in base a: 60 sec/min * 60 min/ora * 24 ore/giorno * 365,25 giorni/anno * 10.000 anni |
nanos |
Frazioni di secondo con segno con risoluzione in nanosecondi dell'intervallo di tempo. Le durate inferiori a un secondo sono rappresentate con un campo |
ToolFakeConfig
| Rappresentazione JSON |
|---|
{ "enableFakeMode": boolean, // Union field |
| Campi | |
|---|---|
enableFakeMode |
Facoltativo. Indica se lo strumento utilizza la modalità Falso. |
Campo unione tool_response. La risposta è statica o fornita da una funzione Python. tool_response può essere solo uno dei seguenti tipi: |
|
codeBlock |
Facoltativo. Blocco di codice che verrà eseguito al posto di una chiamata allo strumento reale. |
CodeBlock
| Rappresentazione JSON |
|---|
{ "pythonCode": string } |
| Campi | |
|---|---|
pythonCode |
Obbligatorio. Codice Python che verrà richiamato in modalità di simulazione dello strumento. Firma della funzione Python prevista: per intercettare tutte le chiamate di strumenti: def fake_tool_call(tool: Tool, input: dict[str, Any], callback_context: CallbackContext) -> Optional[dict[str, Any]]: per intercettare una chiamata di strumento specifica: def fake_{tool_id}(tool: Tool, input: dict[str, Any], callback_context: CallbackContext) -> Optional[dict[str, Any]]: se la funzione restituisce None, verrà richiamato lo strumento reale. |
Tipo
Tipi di dati OpenAPI.
| Enum | |
|---|---|
TYPE_UNSPECIFIED |
Tipo non specificato. |
STRING |
Tipo di stringa. |
INTEGER |
Tipo di numero intero. |
NUMBER |
Tipo di numero. |
BOOLEAN |
Tipo booleano. |
OBJECT |
Tipo di oggetto. |
ARRAY |
Tipo di array. |
NullValue
Rappresenta un null JSON.
NullValue è un sentinel che utilizza un'enumerazione con un solo valore per rappresentare il valore nullo per l'unione di tipi Value.
Un campo di tipo NullValue con un valore diverso da 0 è considerato non valido. La maggior parte dei serializzatori ProtoJSON emetterà un Value con un null_value impostato come null JSON indipendentemente dal valore intero, quindi verrà eseguito l'andata e ritorno a un valore 0.
| Enum | |
|---|---|
NULL_VALUE |
Valore nullo. |
RequestLocation
La posizione della chiave API nella richiesta.
| Enum | |
|---|---|
REQUEST_LOCATION_UNSPECIFIED |
Non specificato. Questo valore non deve essere utilizzato. |
HEADER |
Rappresenta la chiave nell'intestazione HTTP. |
QUERY_STRING |
Rappresenta la chiave nella stringa di query. |
OauthGrantType
Tipi di autorizzazione con OAuth. È supportata solo la concessione delle credenziali client.
| Enum | |
|---|---|
OAUTH_GRANT_TYPE_UNSPECIFIED |
Non specificato. Il valore predefinito è CLIENT_CREDENTIAL. |
CLIENT_CREDENTIAL |
Rappresenta il flusso delle credenziali client. |
OperationType
L'operazione da eseguire sull'entità.
| Enum | |
|---|---|
OPERATION_TYPE_UNSPECIFIED |
Tipo di operazione non specificato. Non valido, la creazione/l'aggiornamento di ConnectorTool non riuscirà. |
LIST |
Elenco operazioni. |
GET |
Recupera operazione. |
CREATE |
Crea operazione. |
UPDATE |
Operazione di aggiornamento. |
DELETE |
Operazione di eliminazione. |
DataStoreType
Il tipo di datastore.
| Enum | |
|---|---|
DATA_STORE_TYPE_UNSPECIFIED |
Non specificato. Questo valore indica che il tipo di datastore non è specificato, quindi non verrà utilizzato durante la ricerca. |
PUBLIC_WEB |
Un datastore che contiene contenuti web pubblici. |
UNSTRUCTURED |
Un datastore che contiene dati privati non strutturati. |
FAQ |
Un datastore che contiene dati strutturati utilizzati come domande frequenti. |
CONNECTOR |
Un datastore che è un connettore a un servizio proprietario o di terze parti. |
DocumentProcessingMode
La modalità di elaborazione dei documenti del datastore.
| Enum | |
|---|---|
DOCUMENT_PROCESSING_MODE_UNSPECIFIED |
Non specificato. |
DOCUMENTS |
I documenti vengono elaborati come documenti. |
CHUNKS |
I documenti vengono convertiti in blocchi. |
AttributeType
L'attributo(o la funzione) a cui deve essere applicato il ranking personalizzato.
| Enum | |
|---|---|
ATTRIBUTE_TYPE_UNSPECIFIED |
Tipo di attributo non specificato. |
NUMERICAL |
Il valore del campo numerico verrà utilizzato per aggiornare dinamicamente l'importo dell'incremento. In questo caso, l'attributo_value (il valore x) del punto di controllo sarà il valore effettivo del campo numerico per cui è specificato boost_amount. |
FRESHNESS |
Per il caso d'uso della freschezza, il valore dell'attributo sarà la durata tra l'ora corrente e la data nel campo datetime specificato. Il valore deve essere formattato come valore XSD dayTimeDuration (un sottoinsieme limitato di un valore di durata ISO 8601). Il pattern è: [nD][T[nH][nM][nS]]. Ad esempio, 5D, 3DT12H30M, T24H. |
InterpolationType
Il tipo di interpolazione da applicare. Il valore predefinito sarà lineare (lineare a tratti).
| Enum | |
|---|---|
INTERPOLATION_TYPE_UNSPECIFIED |
Il tipo di interpolazione non è specificato. In questo caso, il valore predefinito è Lineare. |
LINEAR |
Verrà applicata l'interpolazione lineare a tratti. |
ModalityType
Il tipo di modalità.
| Enum | |
|---|---|
MODALITY_TYPE_UNSPECIFIED |
Tipo di modalità non specificato. |
TEXT |
Modalità testo. |
AUDIO |
Modalità audio. |
FilterParameterBehavior
Comportamento dei parametri di filtro.
| Enum | |
|---|---|
FILTER_PARAMETER_BEHAVIOR_UNSPECIFIED |
Comportamento predefinito del filtro. Includi il parametro filtro di inclusione per i datastore del connettore. Per gli altri tipi di datastore, il parametro di input del filtro viene omesso. |
ALWAYS_INCLUDE |
Includi sempre il parametro di filtro per tutti i tipi di datastore. |
NEVER_INCLUDE |
Il parametro di filtro non è mai incluso nell'elenco dei parametri dello strumento, indipendentemente dal tipo di datastore. |
Stato
Rappresenta lo stato di disponibilità dinamica dello strumento.
| Enum | |
|---|---|
STATE_UNSPECIFIED |
Stato predefinito. |
ACTIVE |
Lo strumento è disponibile e offerto attivamente dal server. |
INACTIVE |
Lo strumento è configurato o bloccato, ma al momento non è offerto dal server. |
STALE |
Lo strumento esiste sul server, ma non corrisponde alla versione sul server. |
CorpusType
Il tipo di corpus Vertex RAG.
| Enum | |
|---|---|
CORPUS_TYPE_UNSPECIFIED |
Tipo di corpus non specificato. |
USER_OWNED |
Il corpus viene creato e di proprietà dell'utente. |
FULLY_MANAGED |
Il corpus viene creato dall'agente. |
WidgetType
Tutti i tipi di widget disponibili. In futuro potrebbero essere aggiunti nuovi valori a questa enumerazione.
| Enum | |
|---|---|
WIDGET_TYPE_UNSPECIFIED |
Tipo di widget non specificato. |
CUSTOM |
Tipo di widget personalizzato. |
PRODUCT_CAROUSEL |
Widget Carosello di prodotti. |
PRODUCT_DETAILS |
Widget Dettagli prodotto. |
QUICK_ACTIONS |
Widget Azioni rapide. |
PRODUCT_COMPARISON |
Widget di confronto dei prodotti. |
ADVANCED_PRODUCT_DETAILS |
Widget Dettagli del prodotto avanzati. |
SHORT_FORM |
Widget per il formato breve. |
OVERALL_SATISFACTION |
Widget di soddisfazione generale. |
ORDER_SUMMARY |
Widget Riepilogo ordine. |
APPOINTMENT_DETAILS |
Widget dei dettagli dell'appuntamento. |
APPOINTMENT_SCHEDULER |
Widget per la pianificazione degli appuntamenti. |
CONTACT_FORM |
Widget modulo di contatto. |
Modalità
La strategia utilizzata per mappare i dati dallo strumento di origine al widget.
| Enum | |
|---|---|
MODE_UNSPECIFIED |
Modalità non specificata. |
FIELD_MAPPING |
Utilizza la mappa field_mappings per la trasformazione dei dati. |
PYTHON_SCRIPT |
Utilizza python_script per la trasformazione dei dati. |
Tipo
Definisce come viene prodotta la risposta testuale.
| Enum | |
|---|---|
TYPE_UNSPECIFIED |
Tipo non specificato. |
NONE |
L'LLM decide dinamicamente se generare una risposta di testo insieme al widget in base al contesto della conversazione. |
LLM_GENERATED |
Il modello LLM è esplicitamente tenuto a generare una risposta di testo. |
STATIC |
Viene sempre utilizzata una risposta di testo statico predefinita. |
ExecutionType
Il tipo di esecuzione dello strumento o del set di strumenti.
| Enum | |
|---|---|
EXECUTION_TYPE_UNSPECIFIED |
Il tipo di esecuzione non è specificato. Se non specificato, il valore predefinito è SYNCHRONOUS. |
SYNCHRONOUS |
Lo strumento viene eseguito in modo sincrono. La sessione è bloccata fino al ritorno dello strumento. |
ASYNCHRONOUS |
Lo strumento viene eseguito in modo asincrono. La sessione continuerà durante l'esecuzione dello strumento. |
Annotazioni dello strumento
Suggerimento distruttivo: ✅ | Suggerimento idempotente: ❌ | Suggerimento di sola lettura: ❌ | Suggerimento open world: ❌