REST Resource: projects.locations.apps.tools

Risorsa: Tool

Uno strumento rappresenta un'azione che l'agente CES può intraprendere per raggiungere determinati obiettivi.

Rappresentazione 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.
}
Campi
name

string

Identificatore. Il nome della risorsa dello strumento. Formato:

  • projects/{project}/locations/{location}/apps/{app}/tools/{tool} per gli strumenti autonomi.
  • projects/{project}/locations/{location}/apps/{app}/toolsets/{toolset}/tools/{tool} per gli strumenti recuperati da un insieme di strumenti.

Questi strumenti sono dinamici e solo di output; non è possibile farvi riferimento direttamente dove è previsto uno strumento.

displayName

string

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à name.

executionType

enum (ExecutionType)

Facoltativo. Il tipo di esecuzione dello strumento.

timeout

string (Duration format)

Facoltativo. Il timeout per l'esecuzione dello strumento. Se non viene impostato, il timeout predefinito è di 30 secondi per gli strumenti SYNCHRONOUS e di 60 secondi per gli strumenti ASYNCHRONOUS.

Una durata in secondi con un massimo di nove cifre frazionarie, che termina con "s". Esempio: "3.5s".

createTime

string (Timestamp format)

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: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" o "2014-10-02T15:01:23+05:30".

updateTime

string (Timestamp format)

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: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" o "2014-10-02T15:01:23+05:30".

etag

string

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

string

Solo output. Se lo strumento è generato dall'assistente LLM, questo campo contiene un riepilogo descrittivo della generazione.

toolFakeConfig

object (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

object (ClientFunction)

Facoltativo. La funzione client.

openApiTool

object (OpenApiTool)

Facoltativo. Lo strumento API aperta.

googleSearchTool

object (GoogleSearchTool)

Facoltativo. Lo strumento di ricerca di Google.

connectorTool

object (ConnectorTool)

Facoltativo. Lo strumento Integration Connector.

dataStoreTool

object (DataStoreTool)

Facoltativo. Lo strumento datastore.

pythonFunction

object (PythonFunction)

Facoltativo. Lo strumento per le funzioni Python.

mcpTool

object (McpTool)

Facoltativo. Lo strumento MCP. Uno strumento MCP non può essere creato o aggiornato direttamente ed è gestito dal set di strumenti MCP.

fileSearchTool

object (FileSearchTool)

Facoltativo. Lo strumento di ricerca dei file.

systemTool

object (SystemTool)

Facoltativo. Lo strumento di sistema.

agentTool

object (AgentTool)

Facoltativo. Lo strumento agente.

widgetTool

object (WidgetTool)

Facoltativo. Lo strumento widget.

remoteAgentTool

object (RemoteAgentTool)

Facoltativo. Lo strumento agente remoto.

ClientFunction

Rappresenta una funzione lato client che l'agente può richiamare. Quando lo strumento viene scelto dall'agente, il controllo viene trasferito al cliente. Il client è responsabile dell'esecuzione della funzione e della restituzione del risultato come ToolResponse per continuare l'interazione con l'agente.

Rappresentazione JSON
{
  "name": string,
  "description": string,
  "parameters": {
    object (Schema)
  },
  "response": {
    object (Schema)
  }
}
Campi
name

string

Obbligatorio. Il nome della funzione.

description

string

Facoltativo. La descrizione della funzione.

parameters

object (Schema)

Facoltativo. Lo schema dei parametri della funzione.

response

object (Schema)

Facoltativo. Lo schema della risposta della funzione.

OpenApiTool

Uno strumento API remoto definito da uno schema OpenAPI.

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

string

Obbligatorio. Lo schema OpenAPI in formato JSON o YAML.

name

string

Facoltativo. Il nome dello strumento. Se non viene fornito, il nome dello strumento verrà derivato dallo schema OpenAPI, da operation.operationId.

description

string

Facoltativo. La descrizione dello strumento. Se non viene fornita, la descrizione dello strumento verrà derivata dallo schema OpenAPI, da operation.description o operation.summary.

apiAuthentication

object (ApiAuthentication)

Facoltativo. Informazioni di autenticazione richieste dall'API.

tlsConfig

object (TlsConfig)

Facoltativo. La configurazione TLS. Include i certificati del server personalizzati di cui il client si fiderà.

serviceDirectoryConfig

object (ServiceDirectoryConfig)

Facoltativo. Configurazione di Service Directory.

ignoreUnknownFields

boolean

Facoltativo. Se il valore è true, l'agente ignorerà i campi sconosciuti nella risposta dell'API.

url

string

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.

GoogleSearchTool

Rappresenta uno strumento per eseguire ricerche web di Google per il grounding. Consulta la pagina https://cloud.google.com/customer-engagement-ai/conversational-agents/ps/tool#google-search.

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

string

Obbligatorio. Il nome dello strumento.

description

string

Facoltativo. Descrizione dello scopo dello strumento.

contextUrls[]

string

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[]

string

Facoltativo. Specifica i domini a cui limitare i risultati di ricerca. Esempio: "example.com", "another.site". È possibile specificare un massimo di 20 domini.

excludeDomains[]

string

Facoltativo. Elenco dei domini da escludere dai risultati di ricerca. Esempio: "example.com". È possibile escludere un massimo di 2000 domini.

promptConfig

object (GoogleSearchTool.PromptConfig)

Facoltativo. Istruzioni del prompt trasmesse al planner su come devono essere elaborati i risultati di ricerca per testo e voce.

GoogleSearchTool.PromptConfig

Impostazioni del prompt utilizzate dal modello durante l'elaborazione o il riepilogo dei risultati della Ricerca Google.

Rappresentazione JSON
{
  "textPrompt": string,
  "voicePrompt": string
}
Campi
textPrompt

string

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

string

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

Un ConnectorTool consente le connessioni a integrazioni diverse. Consulta: https://cloud.google.com/integration-connectors/docs/overview.

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

string

Obbligatorio. Il nome completo della risorsa della connessione Integration Connectors a cui viene fatto riferimento. Formato: projects/{project}/locations/{location}/connections/{connection}

action

object (Action)

Obbligatorio. Azione da utilizzare per lo strumento.

authConfig

object (EndUserAuthConfig)

Facoltativo. Configura la gestione dell'autenticazione in Integration Connectors. Per impostazione predefinita, un'autenticazione amministratore viene trasmessa nelle richieste dell'API Integration Connectors. Puoi ignorarla 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, consulta https://cloud.google.com/application-integration/docs/configure-connectors-task#configure-authentication-override.

name

string

Facoltativo. Il nome dello strumento che può essere utilizzato dall'agente per decidere se chiamare questo ConnectorTool.

description

string

Facoltativo. La descrizione dello strumento che può essere utilizzata dall'agente per decidere se chiamare questo ConnectorTool.

DataStoreTool

Strumento per il recupero dal datastore o dal motore di Vertex AI Search per il grounding. Accetta un datastore o un motore, ma non entrambi. Consulta Vertex AI Search: https://cloud.google.com/generative-ai-app-builder/docs/enterprise-search-introduction.

Rappresentazione 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.
}
Campi
name

string

Obbligatorio. Il nome dello strumento datastore.

description

string

Facoltativo. La descrizione dello strumento.

boostSpecs[]

object (DataStoreTool.BoostSpecs)

Facoltativo. Migliora la specifica per dare priorità a determinati documenti.

modalityConfigs[]

object (DataStoreTool.ModalityConfig)

Facoltativo. Le configurazioni della modalità per il datastore.

filterParameterBehavior

enum (DataStoreTool.FilterParameterBehavior)

Facoltativo. Il comportamento del parametro di filtro.

Campo unione search_source. Definisce l'origine di ricerca, ovvero un singolo datastore o un motore. search_source può essere solo uno dei seguenti tipi:
dataStoreSource

object (DataStoreTool.DataStoreSource)

Facoltativo. Eseguire ricerche all'interno di un singolo DataStore specifico.

engineSource

object (DataStoreTool.EngineSource)

Facoltativo. Cerca all'interno di un motore (potenzialmente in più datastore).

DataStoreTool.DataStoreSource

Configurazione per la ricerca all'interno di un datastore specifico.

Rappresentazione JSON
{
  "filter": string,
  "dataStore": {
    object (DataStore)
  }
}
Campi
filter

string

Facoltativo. Specifica del filtro per il datastore. Vedi: https://cloud.google.com/generative-ai-app-builder/docs/filter-search-metadata

dataStore

object (DataStore)

Facoltativo. Il datastore.

DataStore

Una risorsa DataStore in Vertex AI Search.

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

string

Obbligatorio. Nome completo della risorsa del datastore. Formato: projects/{project}/locations/{location}/collections/{collection}/dataStores/{dataStore}

type

enum (DataStore.DataStoreType)

Solo output. Il tipo di datastore. Questo campo è di sola lettura e viene compilato dal server.

documentProcessingMode

enum (DataStore.DocumentProcessingMode)

Solo output. La modalità di elaborazione dei documenti per la connessione del datastore. Impostato solo per i datastore PUBLIC_WEB e UNSTRUCTURED.

displayName

string

Solo output. Il nome visualizzato del datastore.

createTime

string (Timestamp format)

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: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" o "2014-10-02T15:01:23+05:30".

connectorConfig

object (DataStore.ConnectorConfig)

Solo output. La configurazione del connettore per la connessione al datastore.

DataStore.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.

DataStore.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.

DataStore.ConnectorConfig

La configurazione del connettore per la connessione al datastore.

Rappresentazione JSON
{
  "collection": string,
  "collectionDisplayName": string,
  "dataSource": string
}
Campi
collection

string

Il nome della risorsa della raccolta a cui appartiene il datastore.

collectionDisplayName

string

Nome visualizzato della raccolta a cui appartiene il datastore.

dataSource

string

Il nome dell'origine dati. Esempio: salesforce, jira, confluence, bigquery.

DataStoreTool.EngineSource

Configurazione per la ricerca all'interno di un motore, con potenziale targeting di Data Store specifici.

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

string

Obbligatorio. Nome completo della risorsa del motore. Formato: projects/{project}/locations/{location}/collections/{collection}/engines/{engine}

dataStoreSources[]

object (DataStoreTool.DataStoreSource)

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

string

Facoltativo. Un filtro applicato alla ricerca nel motore. Non pertinente e non utilizzato se viene fornito "dataStoreSources". Vedi: https://cloud.google.com/generative-ai-app-builder/docs/filter-search-metadata

DataStoreTool.BoostSpecs

Migliora le specifiche per dare priorità a determinati documenti. Per ulteriori informazioni, consulta la pagina https://cloud.google.com/generative-ai-app-builder/docs/boosting.

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

string

Obbligatorio. Il datastore in cui viene applicata la configurazione del boosting. Nome completo della risorsa di DataStore, ad esempio projects/{project}/locations/{location}/collections/{collection}/dataStores/{dataStore}.

spec[]

object (DataStoreTool.BoostSpec)

Obbligatorio. Un elenco di specifiche di boosting.

DataStoreTool.BoostSpec

Migliora la specifica per dare priorità a determinati documenti.

Rappresentazione JSON
{
  "conditionBoostSpecs": [
    {
      object (DataStoreTool.BoostSpec.ConditionBoostSpec)
    }
  ]
}
Campi
conditionBoostSpecs[]

object (DataStoreTool.BoostSpec.ConditionBoostSpec)

Obbligatorio. Un elenco di specifiche di boosting.

DataStoreTool.BoostSpec.ConditionBoostSpec

Specifica di boost per una condizione.

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

string

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

number

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 il valore viene impostato su -1.0, i suggerimenti vengono declassati in modo significativo. Tuttavia, potrebbero essere ancora visualizzati altri suggerimenti pertinenti.

Se il valore è impostato su 0,0, non viene applicato alcun boost. La condizione di incremento viene ignorata.

boostControlSpec

object (DataStoreTool.BoostSpec.ConditionBoostSpec.BoostControlSpec)

Facoltativo. Specifica complessa per il ranking personalizzato in base al valore dell'attributo definito dal cliente.

DataStoreTool.BoostSpec.ConditionBoostSpec.BoostControlSpec

Specifica per il ranking personalizzato basato sul valore dell'attributo specificato dal cliente. Fornisce più controlli per la classificazione personalizzata rispetto alla semplice combinazione (condizione, incremento) riportata sopra.

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

string

Facoltativo. Il nome del campo il cui valore verrà utilizzato per determinare l'importo dell'aggiustamento.

attributeType

enum (DataStoreTool.BoostSpec.ConditionBoostSpec.BoostControlSpec.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 fieldName specificato. Nel caso di valori numerici, è semplice, ad esempio attributeValue = numerical_field_value. Nel caso della freschezza, attributeValue = (time.now() - datetime_field_value).

interpolationType

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

Facoltativo. Il tipo di interpolazione da applicare per collegare i punti di controllo elencati di seguito.

controlPoints[]

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

Facoltativo. I punti di controllo utilizzati per definire la curva. La funzione monotona (definita tramite interpolationType sopra) passa attraverso i punti di controllo elencati qui.

DataStoreTool.BoostSpec.ConditionBoostSpec.BoostControlSpec.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, attributeValue (il valore x) del punto di controllo sarà il valore effettivo del campo numerico per cui è specificato boostAmount.
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.

DataStoreTool.BoostSpec.ConditionBoostSpec.BoostControlSpec.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.

DataStoreTool.BoostSpec.ConditionBoostSpec.BoostControlSpec.ControlPoint

I punti di controllo utilizzati per definire la curva. La curva definita tramite questi punti di controllo può essere solo crescente o decrescente in modo monotono(i valori costanti sono accettabili).

Rappresentazione JSON
{
  "attributeValue": string,
  "boostAmount": number
}
Campi
attributeValue

string

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 dayTimeDuration (un sottoinsieme limitato di un valore di durata ISO 8601). Il pattern è: [nD][T[nH][nM][nS]].

boostAmount

number

Facoltativo. Il valore compreso tra -1 e 1 in base al quale aumentare il punteggio se attributeValue restituisce il valore specificato sopra.

DataStoreTool.ModalityConfig

Se specificata, verrà applicata la configurazione indicata per la modalità specificata.

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

enum (DataStoreTool.ModalityConfig.ModalityType)

Obbligatorio. Il tipo di modalità.

rewriterConfig

object (DataStoreTool.RewriterConfig)

Facoltativo. La configurazione dello strumento di riscrittura.

summarizationConfig

object (DataStoreTool.SummarizationConfig)

Facoltativo. La configurazione del riassunto.

groundingConfig

object (DataStoreTool.GroundingConfig)

Facoltativo. La configurazione della messa a terra.

DataStoreTool.ModalityConfig.ModalityType

Il tipo di modalità.

Enum
MODALITY_TYPE_UNSPECIFIED Tipo di modalità non specificato.
TEXT Modalità di testo.
AUDIO Modalità audio.

DataStoreTool.RewriterConfig

Configurazione dello strumento di riscrittura.

Rappresentazione JSON
{
  "modelSettings": {
    object (ModelSettings)
  },
  "prompt": string,
  "disabled": boolean
}
Campi
modelSettings

object (ModelSettings)

Obbligatorio. Configurazioni per il modello LLM.

prompt

string

Facoltativo. La definizione del prompt. Se non impostato, verrà utilizzato il prompt predefinito.

disabled

boolean

Facoltativo. Indica se il rewriter è disattivato.

DataStoreTool.SummarizationConfig

Configurazione del riassunto.

Rappresentazione JSON
{
  "modelSettings": {
    object (ModelSettings)
  },
  "prompt": string,
  "disabled": boolean
}
Campi
modelSettings

object (ModelSettings)

Facoltativo. Configurazioni per il modello LLM.

prompt

string

Facoltativo. La definizione del prompt. Se non impostato, verrà utilizzato il prompt predefinito.

disabled

boolean

Facoltativo. Indica se il riepilogo è disattivato.

DataStoreTool.GroundingConfig

Configurazione della messa a terra.

Rappresentazione JSON
{
  "groundingLevel": number,
  "disabled": boolean
}
Campi
groundingLevel

number

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

boolean

Facoltativo. Indica se la messa a terra è disattivata.

DataStoreTool.FilterParameterBehavior

Comportamento dei parametri di filtro.

Enum
FILTER_PARAMETER_BEHAVIOR_UNSPECIFIED Comportamento predefinito del filtro. Includi il parametro filtro di inclusione per gli archivi dati 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.

PythonFunction

Uno strumento di funzioni Python.

Rappresentazione JSON
{
  "name": string,
  "pythonCode": string,
  "description": string,
  "serviceDirectoryConfig": {
    object (ServiceDirectoryConfig)
  }
}
Campi
name

string

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

string

Facoltativo. Il codice Python da eseguire per lo strumento.

description

string

Solo output. La descrizione della funzione Python, analizzata dalla docstring del codice Python.

serviceDirectoryConfig

object (ServiceDirectoryConfig)

Facoltativo. Configurazione di Service Directory per lo strumento.

McpTool

Uno strumento MCP. Per maggiori dettagli, visita la pagina https://modelcontextprotocol.io/specification/2025-06-18/server/tools.

Rappresentazione JSON
{
  "name": string,
  "nameOverride": string,
  "description": string,
  "inputSchema": {
    object (Schema)
  },
  "outputSchema": {
    object (Schema)
  },
  "serverAddress": string,
  "apiAuthentication": {
    object (ApiAuthentication)
  },
  "tlsConfig": {
    object (TlsConfig)
  },
  "serviceDirectoryConfig": {
    object (ServiceDirectoryConfig)
  },
  "customHeaders": {
    string: string,
    ...
  },
  "state": enum (McpTool.State)
}
Campi
name

string

Obbligatorio. Il nome dello strumento MCP.

nameOverride

string

Facoltativo. L'override del nome dello strumento MCP. Questo campo viene compilato se il nome è stato sostituito da una sostituzione del Toolset.

description

string

Facoltativo. La descrizione dello strumento MCP.

inputSchema

object (Schema)

Facoltativo. Lo schema degli argomenti di input dello strumento MCP.

outputSchema

object (Schema)

Facoltativo. Lo schema degli argomenti di output dello strumento MCP.

serverAddress

string

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 serverAddress in McpToolset. Per ulteriori dettagli, consulta la pagina https://modelcontextprotocol.io/specification/2025-03-26/basic/transports#streamable-http.

apiAuthentication

object (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 gestione delle schede. Ciò richiede che gli strumenti possano essere elencati senza autenticazione.

tlsConfig

object (TlsConfig)

Facoltativo. La configurazione TLS. Include i certificati del server personalizzati che il client deve considerare attendibili.

serviceDirectoryConfig

object (ServiceDirectoryConfig)

Facoltativo. Configurazione di Service Directory per VPC-SC, utilizzata per risolvere i nomi dei servizi all'interno di un perimetro.

customHeaders

map (key: string, value: string)

Facoltativo. Le intestazioni personalizzate da inviare nella richiesta al server MCP. I valori devono essere nel formato $context.variables.<name_of_variable> e possono essere impostati nelle variabili di sessione. Per maggiori dettagli, visita la pagina https://docs.cloud.google.com/customer-engagement-ai/conversational-agents/ps/tool/open-api#openapi-injection.

Un oggetto contenente un elenco di coppie "key": value. Esempio: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

state

enum (McpTool.State)

Solo output. Lo stato di disponibilità dinamico dello strumento sul server esterno.

McpTool.State

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.

FileSearchTool

Lo strumento di ricerca dei file consente all'agente di eseguire ricerche nei file caricati dallo sviluppatore dell'app/dell'agente. Dispone di preset per fornire una ricerca di qualità relativamente buona sui file caricati e un riepilogo dei risultati recuperati.

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

enum (FileSearchTool.CorpusType)

Facoltativo. Il tipo di corpus. Il valore predefinito è FULLY_MANAGED.

name

string

Obbligatorio. Il nome dello strumento.

description

string

Facoltativo. La descrizione dello strumento.

fileCorpus

string

Facoltativo. Il corpus in cui sono archiviati i file. Formato: projects/{project}/locations/{location}/ragCorpora/{rag_corpus}

FileSearchTool.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.

SystemTool

Strumento di sistema predefinito.

Rappresentazione JSON
{
  "name": string,
  "description": string
}
Campi
name

string

Obbligatorio. Il nome dello strumento di sistema.

description

string

Solo output. La descrizione dello strumento di sistema.

AgentTool

Rappresenta uno strumento che consente all'agente di chiamare un altro agente.

Rappresentazione JSON
{
  "name": string,
  "description": string,
  "rootAgent": string,
  "agent": string
}
Campi
name

string

Obbligatorio. Il nome dello strumento dell'agente.

description

string

Facoltativo. Descrizione dello scopo dello strumento.

rootAgent
(deprecated)

string

Facoltativo. Deprecato: utilizza agent. Il nome della risorsa dell'agente principale che è il punto di ingresso dello strumento. Formato: projects/{project}/locations/{location}/agents/{agent}

agent

string

Facoltativo. Il nome della risorsa dell'agente che è il punto di ingresso dello strumento. Formato: projects/{project}/locations/{location}/agents/{agent}

WidgetTool

Rappresenta uno strumento widget che l'agente può richiamare. Quando lo strumento viene scelto dall'agente, quest'ultimo restituisce il widget al cliente. Il client è responsabile dell'elaborazione del widget e della generazione della query utente successiva per continuare l'interazione con l'agente.

Rappresentazione 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.
}
Campi
name

string

Obbligatorio. Il nome visualizzato dello strumento widget.

description

string

Facoltativo. La descrizione dello strumento widget.

widgetType

enum (WidgetTool.WidgetType)

Facoltativo. Il tipo di strumento widget. Se non specificato, il tipo predefinito sarà CUSTOMIZED.

uiConfig

object (Struct format)

Facoltativo. Configurazione per il rendering del widget.

dataMapping

object (WidgetTool.DataMapping)

Facoltativo. Il mapping che definisce come i dati di uno strumento di origine vengono mappati ai parametri di input del widget.

textResponseConfig

object (WidgetTool.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

object (Schema)

Facoltativo. I parametri di input dello strumento widget.

WidgetTool.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_DETAILS Widget dei dettagli del prodotto.
QUICK_ACTIONS Widget Azioni rapide.
PRODUCT_COMPARISON Widget di confronto tra prodotti.
ADVANCED_PRODUCT_DETAILS Widget Dettagli del prodotto avanzati.
SHORT_FORM Widget per i video nel formato breve.
OVERALL_SATISFACTION Widget di soddisfazione complessiva.
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.

WidgetTool.DataMapping

Configurazione per la mappatura dei dati da uno strumento di origine ai parametri di input del widget.

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

string

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: projects/{project}/locations/{location}/agents/{agent}/tools/{tool}

fieldMappings

map (key: string, value: string)

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 "key": value. Esempio: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

pythonFunction

object (PythonFunction)

Facoltativo. Configurazione per una funzione Python utilizzata per trasformare l'output dello strumento di origine nel formato di input del widget.

mode

enum (WidgetTool.DataMapping.Mode)

Facoltativo. La modalità di mappatura dei dati.

pythonScript
(deprecated)

string

Deprecato: utilizza pythonFunction.

WidgetTool.DataMapping.Mode

La strategia utilizzata per mappare i dati dallo strumento di origine al widget.

Enum
MODE_UNSPECIFIED Modalità non specificata.
FIELD_MAPPING Utilizza la mappa fieldMappings per la trasformazione dei dati.
PYTHON_SCRIPT Utilizza pythonScript per la trasformazione dei dati.

WidgetTool.TextResponseConfig

Configurazione della risposta di testo restituita con il widget.

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

enum (WidgetTool.TextResponseConfig.Type)

Facoltativo. La strategia per fornire la risposta di testo.

staticText

string

Facoltativo. La risposta di testo statica da restituire quando il tipo è STATIC.

textResponseInstruction

string

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.

WidgetTool.TextResponseConfig.Type

Definisce come viene prodotta la risposta di testo.

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.

RemoteAgentTool

Rappresenta uno strumento che consente all'agente di chiamare un altro agente remoto.

Rappresentazione JSON
{
  "name": string,
  "description": string,
  "agentCard": {
    object (AgentCard)
  }
}
Campi
name

string

Obbligatorio. Il nome dello strumento.

description

string

Obbligatorio. La descrizione dello strumento.

agentCard

object (AgentCard)

Obbligatorio. La scheda dell'agente remoto richiamato da questo strumento.

AgentCard

AgentCard trasmette informazioni chiave su un agente remoto. Si tratta di una versione ridotta di AgentCard definita nel protocollo A2A https://a2a-protocol.org/dev/specification/#441-agentcard

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

string

Obbligatorio. Un nome leggibile per l'agente.

description

string

Obbligatorio. Una descrizione del dominio di azione/spazio delle soluzioni dell'agente.

supportedInterfaces[]

object (AgentInterface)

Obbligatorio. Elenco ordinato delle interfacce supportate. Viene preferita la prima voce.

version

string

Obbligatorio. La versione dell'agente.

skills[]

object (AgentSkill)

Obbligatorio. Le competenze rappresentano un'unità di capacità che un agente può svolgere. Potrebbe sembrare un po' astratto, ma rappresenta un insieme più mirato di azioni che l'agente ha molte probabilità di portare a termine.

AgentInterface

Dichiara una combinazione di un URL di destinazione, un trasporto e una versione del protocollo per interagire con l'agente. Ciò consente agli agenti di esporre la stessa funzionalità su più meccanismi di binding del protocollo.

Rappresentazione JSON
{
  "url": string,
  "protocolBinding": string,
  "tenant": string,
  "protocolVersion": string
}
Campi
url

string

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

string

Obbligatorio. Il binding del protocollo supportato in questo URL. Si tratta di una stringa di formato aperto, facilmente estendibile per altri binding di protocollo. Quelli principali supportati ufficialmente sono JSONRPC, GRPC e HTTP+JSON.

tenant

string

ID tenant da utilizzare nella richiesta quando chiami l'agente.

protocolVersion

string

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

Rappresenta una funzionalità o una funzione distinta che un agente può eseguire.

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

string

Obbligatorio. Un identificatore univoco per la competenza dell'agente.

name

string

Obbligatorio. Un nome leggibile per la competenza.

description

string

Obbligatorio. Una descrizione dettagliata della skill.

tags[]

string

Obbligatorio. Un insieme di parole chiave che descrivono le funzionalità della skill.

examples[]

string

Esempi di prompt o scenari che questa skill può gestire.

inputModes[]

string

Il set di tipi di contenuti multimediali di input supportati per questa skill, che sostituisce i valori predefiniti dell'agente.

outputModes[]

string

L'insieme dei tipi di contenuti multimediali di output supportati per questa skill, che sostituiscono i valori predefiniti dell'agente.

Metodi

create

Crea un nuovo strumento nell'app specificata.

delete

Elimina lo strumento specificato.

get

Recupera i dettagli dello strumento specificato.

list

Elenca gli strumenti nell'app specificata.

patch

Aggiorna lo strumento specificato.