Herramienta: update_tool
Actualiza la herramienta especificada. Asegúrate de pasar siempre una máscara de actualización en la entrada.
En el siguiente ejemplo, se muestra cómo usar curl para invocar la herramienta de MCP update_tool.
| Solicitud de 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": "update_tool", "arguments": { // provide these details according to the tool's MCP specification } }, "jsonrpc": "2.0", "id": 1 }' |
Esquema de entrada
Mensaje de solicitud para AgentService.UpdateTool.
UpdateToolRequest
| Representación JSON |
|---|
{
"tool": {
object ( |
| Campos | |
|---|---|
tool |
Obligatorio. Es la herramienta que se actualizará. |
updateMask |
Es opcional. La máscara de campo se usa para controlar qué campos se actualizan. Si la máscara no está presente, se actualizarán todos los campos. Esta es una lista separada por comas de los nombres de campos completamente calificados. Ejemplo: |
Herramienta
| Representación JSON |
|---|
{ "name": string, "displayName": string, "executionType": enum ( |
| Campos | |
|---|---|
name |
Es el identificador. Es el nombre del recurso de la herramienta. Formato:
Estas herramientas son dinámicas y solo de salida; no se pueden hacer referencia directamente a ellas donde se espera una herramienta. |
displayName |
Solo salida. Es el nombre visible de la herramienta, que se deriva según el tipo de herramienta. Por ejemplo, el nombre visible de un [ClientFunction][Tool.ClientFunction] se deriva de su propiedad |
executionType |
Es opcional. Es el tipo de ejecución de la herramienta. |
timeout |
Es opcional. Es el tiempo de espera para la ejecución de la herramienta. Si no se establece, el tiempo de espera predeterminado es de 30 segundos para las herramientas de Una duración en segundos con hasta nueve dígitos decimales, que terminan en “ |
createTime |
Solo salida. Es la marca de tiempo de cuando se creó la herramienta. Usa el formato RFC 3339, en el que el resultado generado siempre usará la normalización Z y los dígitos fraccionarios 0, 3, 6 o 9. También se aceptan otras compensaciones que no sean “Z”. Ejemplos: |
updateTime |
Solo salida. Es la marca de tiempo de la última actualización de la herramienta. Usa el formato RFC 3339, en el que el resultado generado siempre usará la normalización Z y los dígitos fraccionarios 0, 3, 6 o 9. También se aceptan otras compensaciones que no sean “Z”. Ejemplos: |
etag |
Es el ETag que se usa para garantizar que el objeto no haya cambiado durante una operación de lectura, modificación y escritura. Si el ETag está vacío, la actualización reemplazará cualquier cambio simultáneo. |
generatedSummary |
Solo salida. Si el asistente de LLM genera la herramienta, este campo contiene un resumen descriptivo de la generación. |
toolFakeConfig |
Es opcional. Es la configuración del comportamiento de la herramienta en el modo simulado. |
Campo de unión tool_type. Es el tipo de herramienta. tool_type puede ser solo uno de los parámetros siguientes: |
|
clientFunction |
Es opcional. Es la función del cliente. |
openApiTool |
Es opcional. Es la herramienta de API abierta. |
googleSearchTool |
Es opcional. Es la herramienta de Búsqueda de Google. |
connectorTool |
Es opcional. La herramienta Integration Connector |
dataStoreTool |
Es opcional. Es la herramienta de almacén de datos. |
pythonFunction |
Es opcional. Es la herramienta de función de Python. |
mcpTool |
Es opcional. Es la herramienta de MCP. Una herramienta de MCP no se puede crear ni actualizar directamente, y la administra el conjunto de herramientas de MCP. |
fileSearchTool |
Es opcional. Es la herramienta de búsqueda de archivos. |
systemTool |
Es opcional. Es la herramienta del sistema. |
agentTool |
Es opcional. Es la herramienta del agente. |
widgetTool |
Es opcional. La herramienta de widget. |
remoteAgentTool |
Es opcional. Es la herramienta del agente remoto. |
ClientFunction
| Representación JSON |
|---|
{ "name": string, "description": string, "parameters": { object ( |
| Campos | |
|---|---|
name |
Obligatorio. Es el nombre de la función. |
description |
Es opcional. Es la descripción de la función. |
parameters |
Es opcional. Es el esquema de los parámetros de la función. |
response |
Es opcional. Es el esquema de la respuesta de la función. |
Esquema
| Representación JSON |
|---|
{ "type": enum ( |
| Campos | |
|---|---|
type |
Obligatorio. Es el tipo de datos. |
properties |
Es opcional. Son las propiedades de Type.OBJECT. Un objeto que contiene una lista de pares |
required[] |
Es opcional. Son las propiedades obligatorias de Type.OBJECT. |
description |
Es opcional. La descripción de los datos. |
items |
Es opcional. Esquema de los elementos de Type.ARRAY. |
nullable |
Es opcional. Indica si el valor puede ser nulo. |
uniqueItems |
Es opcional. Indica que los elementos del array deben ser únicos. Solo se aplica a TYPE.ARRAY. |
prefixItems[] |
Es opcional. Esquemas de los elementos iniciales de Type.ARRAY. |
additionalProperties |
Es opcional. Puede ser un valor booleano o un objeto, y controla la presencia de propiedades adicionales. |
anyOf[] |
Es opcional. El valor se debe validar en relación con cualquiera de los subesquemas (uno o más) de la lista. |
enum[] |
Es opcional. Valores posibles del elemento de tipo primitivo con formato de enumeración. Ejemplos: 1. Podemos definir la dirección de la siguiente manera : {type:STRING, format:enum, enum:["EAST", NORTH", "SOUTH", "WEST"]} 2. Podemos definir el número de departamento de la siguiente manera : {type:INTEGER, format:enum, enum:["101", "201", "301"]} |
default |
Es opcional. Es el valor predeterminado de los datos. |
ref |
Es opcional. Permite referencias indirectas entre los nodos del esquema. El valor debe ser una referencia válida a un elemento secundario del Por ejemplo, el siguiente esquema define una referencia a un nodo de esquema llamado "Pet": El valor de la propiedad "pet" es una referencia al nodo del esquema llamado "Pet". Consulta los detalles en https://json-schema.org/understanding-json-schema/structuring. |
defs |
Es opcional. Es un mapa de definiciones para que lo use Un objeto que contiene una lista de pares |
title |
Es opcional. Es el título del esquema. |
minItems |
Es opcional. Es la cantidad mínima de elementos para Type.ARRAY. |
maxItems |
Es opcional. Es la cantidad máxima de elementos para Type.ARRAY. |
Campo de unión
|
|
minimum |
Es opcional. Es el valor mínimo para Type.INTEGER y Type.NUMBER. |
Campo de unión
|
|
maximum |
Es opcional. Es el valor máximo para Type.INTEGER y Type.NUMBER. |
PropertiesEntry
| Representación JSON |
|---|
{
"key": string,
"value": {
object ( |
| Campos | |
|---|---|
key |
|
value |
|
Valor
| Representación JSON |
|---|
{ // Union field |
| Campos | |
|---|---|
Campo de unión kind. Es el tipo de valor. kind puede ser solo uno de los parámetros siguientes: |
|
nullValue |
Representa un |
numberValue |
Representa un número JSON. No debe ser |
stringValue |
Representa una cadena JSON. |
boolValue |
Representa un valor booleano de JSON (literal |
structValue |
Representa un objeto JSON. |
listValue |
Representa un array JSON. |
Struct
| Representación JSON |
|---|
{ "fields": { string: value, ... } } |
| Campos | |
|---|---|
fields |
Es un mapa no ordenado de valores escritos de forma dinámica. Un objeto que contiene una lista de pares |
FieldsEntry
| Representación JSON |
|---|
{ "key": string, "value": value } |
| Campos | |
|---|---|
key |
|
value |
|
ListValue
| Representación JSON |
|---|
{ "values": [ value ] } |
| Campos | |
|---|---|
values[] |
Es un campo repetido de valores escritos de forma dinámica. |
DefsEntry
| Representación JSON |
|---|
{
"key": string,
"value": {
object ( |
| Campos | |
|---|---|
key |
|
value |
|
OpenApiTool
| Representación JSON |
|---|
{ "openApiSchema": string, "name": string, "description": string, "apiAuthentication": { object ( |
| Campos | |
|---|---|
openApiSchema |
Obligatorio. Esquema de OpenAPI en formato JSON o YAML |
name |
Es opcional. Es el nombre de la herramienta. Si no se proporciona, el nombre de la herramienta se derivará del esquema de OpenAPI, desde |
description |
Es opcional. Es la descripción de la herramienta. Si no se proporciona, la descripción de la herramienta se derivará del esquema de OpenAPI, de |
apiAuthentication |
Es opcional. Es la información de autenticación que requiere la API. |
tlsConfig |
Es opcional. Es la configuración de TLS. Incluye los certificados de servidor personalizados en los que confiará el cliente. |
serviceDirectoryConfig |
Es opcional. Es la configuración del Directorio de servicios. |
ignoreUnknownFields |
Es opcional. Si es verdadero, el agente ignorará los campos desconocidos en la respuesta de la API. |
url |
Es opcional. Es la URL del servidor del esquema de la API abierta. Este campo solo se configura en las herramientas de las dependencias del entorno durante el proceso de exportación si el esquema contiene una URL del servidor. Durante el proceso de importación, si esta URL está presente en las dependencias del entorno y el esquema tiene el marcador de posición $env_var, se reemplazará el marcador de posición en el esquema. |
ApiAuthentication
| Representación JSON |
|---|
{ // Union field |
| Campos | |
|---|---|
Campo de unión auth_config. Es la configuración de autenticación. auth_config puede ser solo uno de los parámetros siguientes: |
|
apiKeyConfig |
Es opcional. Es la configuración para la autenticación con clave de API. |
oauthConfig |
Es opcional. Es la configuración de OAuth. |
serviceAgentIdTokenAuthConfig |
Es opcional. Es la configuración para la autenticación con token de ID que se genera a partir del agente de servicio de CES. |
serviceAccountAuthConfig |
Es opcional. Es la configuración para la autenticación de la cuenta de servicio. |
bearerTokenConfig |
Es opcional. Es la configuración para la autenticación de token de portador. |
ApiKeyConfig
| Representación JSON |
|---|
{
"keyName": string,
"apiKeySecretVersion": string,
"requestLocation": enum ( |
| Campos | |
|---|---|
keyName |
Obligatorio. Es el nombre del parámetro o del encabezado de la clave de API. P. ej., Si la solicitud a la API es "https://example.com/act?X-Api-Key= |
apiKeySecretVersion |
Obligatorio. Es el nombre del recurso de la versión secreta de Secret Manager que almacena la clave de API. Formato: Nota: Debes otorgar el rol |
requestLocation |
Obligatorio. Es la ubicación de la clave en la solicitud. |
OAuthConfig
| Representación JSON |
|---|
{
"oauthGrantType": enum ( |
| Campos | |
|---|---|
oauthGrantType |
Obligatorio. Son los tipos de otorgamiento de OAuth. |
clientId |
Obligatorio. Es el ID de cliente del proveedor de OAuth. |
clientSecretVersion |
Obligatorio. Nombre del recurso de la versión secreta de Secret Manager que almacena el secreto del cliente. Formato: Nota: Debes otorgar el rol |
tokenEndpoint |
Obligatorio. Es el extremo del token en el proveedor de OAuth que se intercambiará por un token de acceso. |
scopes[] |
Es opcional. Son los permisos de OAuth que se otorgarán. |
ServiceAccountAuthConfig
| Representación JSON |
|---|
{ "serviceAccount": string, "scopes": [ string ] } |
| Campos | |
|---|---|
serviceAccount |
Obligatorio. Es la dirección de correo electrónico de la cuenta de servicio que se usa para la autenticación. CES usa esta cuenta de servicio para intercambiar un token de acceso, que luego se envía en el encabezado La cuenta de servicio debe tener el rol |
scopes[] |
Es opcional. Son los permisos de OAuth que se otorgarán. Si no se especifica, se usa el alcance predeterminado |
BearerTokenConfig
| Representación JSON |
|---|
{ "token": string } |
| Campos | |
|---|---|
token |
Obligatorio. Es el token del portador. Debe tener el formato |
TlsConfig
| Representación JSON |
|---|
{
"caCerts": [
{
object ( |
| Campos | |
|---|---|
caCerts[] |
Obligatorio. Especifica una lista de certificados de CA personalizados permitidos para la verificación de HTTPS. |
CaCert
| Representación JSON |
|---|
{ "displayName": string, "cert": string } |
| Campos | |
|---|---|
displayName |
Obligatorio. Nombre de los certificados de CA personalizados permitidos. Se puede usar para desambiguar los certificados de CA personalizados. |
cert |
Obligatorio. Son los certificados de AC personalizados permitidos (en formato DER) para la verificación de HTTPS. Esto anula el almacén de confianza de SSL predeterminado. Si este campo está vacío o no se especifica, CES usará el almacén de confianza predeterminado de Google para verificar los certificados. Nota: Asegúrate de que los certificados del servidor HTTPS estén firmados con "subject alt name". Por ejemplo, un certificado se puede autofirmar con el siguiente comando: Es una cadena codificada en Base64. |
ServiceDirectoryConfig
| Representación JSON |
|---|
{ "service": string } |
| Campos | |
|---|---|
service |
Obligatorio. Nombre del servicio de Service Directory. Formato: |
GoogleSearchTool
| Representación JSON |
|---|
{
"name": string,
"description": string,
"contextUrls": [
string
],
"preferredDomains": [
string
],
"excludeDomains": [
string
],
"promptConfig": {
object ( |
| Campos | |
|---|---|
name |
Obligatorio. Es el nombre de la herramienta. |
description |
Es opcional. Descripción del propósito de la herramienta. |
contextUrls[] |
Es opcional. El contenido se recuperará directamente de estas URLs para el contexto y la fundamentación. Ejemplo: "https://example.com/path.html". Se permite un máximo de 20 URLs. |
preferredDomains[] |
Es opcional. Especifica los dominios a los que se restringirán los resultados de la búsqueda. Ejemplo: "example.com", "another.site". Se puede especificar un máximo de 20 dominios. |
excludeDomains[] |
Es opcional. Lista de dominios que se excluirán de los resultados de la búsqueda. Ejemplo: "example.com". Se puede excluir un máximo de 2,000 dominios. |
promptConfig |
Es opcional. Son las instrucciones de la instrucción que se pasan al planificador sobre cómo se deben procesar los resultados de la búsqueda para texto y voz. |
PromptConfig
| Representación JSON |
|---|
{ "textPrompt": string, "voicePrompt": string } |
| Campos | |
|---|---|
textPrompt |
Es opcional. Define la instrucción que se usa para las instrucciones del sistema cuando se interactúa con el agente en conversaciones de chat. Si no se establece, se usará la instrucción predeterminada. |
voicePrompt |
Es opcional. Define la instrucción que se usa para las instrucciones del sistema cuando se interactúa con el agente en conversaciones de voz. Si no se establece, se usará la instrucción predeterminada. |
ConnectorTool
| Representación JSON |
|---|
{ "connection": string, "action": { object ( |
| Campos | |
|---|---|
connection |
Obligatorio. Es el nombre completo del recurso de la conexión de Integration Connectors a la que se hace referencia. Formato: |
action |
Obligatorio. Es la acción que debe usar la herramienta. |
authConfig |
Es opcional. Configura cómo se controla la autenticación en Integration Connectors. De forma predeterminada, se pasa una autenticación de administrador en las solicitudes de la API de Integration Connectors. Puedes anularla con otra configuración de autenticación del usuario final. Nota: La conexión debe tener habilitada la anulación de autenticación para especificar una configuración de EUC aquí. De lo contrario, fallará la creación de ConnectorTool. Consulta https://cloud.google.com/application-integration/docs/configure-connectors-task#configure-authentication-override para obtener más detalles. |
name |
Es opcional. Es el nombre de la herramienta que puede usar el agente para decidir si llama a este ConnectorTool. |
description |
Es opcional. Es la descripción de la herramienta que puede usar el agente para decidir si debe llamar a este ConnectorTool. |
Acción
| Representación JSON |
|---|
{ "inputFields": [ string ], "outputFields": [ string ], // Union field |
| Campos | |
|---|---|
inputFields[] |
Es opcional. Son los campos de entidad que se usarán como entradas para la operación. Si no se especifican campos, se usarán todos los campos de la entidad. |
outputFields[] |
Es opcional. Son los campos de la entidad que se devolverán de la operación. Si no se especifican campos, se mostrarán todos los campos de la entidad. |
Campo de unión action_spec. Es la especificación de una acción que se configurará para que la use la herramienta. action_spec puede ser solo uno de los parámetros siguientes: |
|
connectionActionId |
Es el ID de una acción de conexión que usará la herramienta. |
entityOperation |
Es la configuración de la operación de la entidad que usará la herramienta. |
EntityOperation
| Representación JSON |
|---|
{
"entityId": string,
"operation": enum ( |
| Campos | |
|---|---|
entityId |
Obligatorio. Es el ID de la entidad. |
operation |
Obligatorio. Operación que se realizará en la entidad. |
EndUserAuthConfig
| Representación JSON |
|---|
{ // Union field |
| Campos | |
|---|---|
Campo de unión auth_config. Es la configuración de autenticación. auth_config puede ser solo uno de los parámetros siguientes: |
|
oauth2AuthCodeConfig |
Autenticación con código de autorización de OAuth 2.0. |
oauth2JwtBearerConfig |
Perfil de JWT de autenticación de otorgamiento de autorización de OAuth 2.0. |
Oauth2AuthCodeConfig
| Representación JSON |
|---|
{ "oauthToken": string } |
| Campos | |
|---|---|
oauthToken |
Obligatorio. Es el nombre del parámetro del token de OAuth que se pasará. Debe tener el formato |
Oauth2JwtBearerConfig
| Representación JSON |
|---|
{ "issuer": string, "subject": string, "clientKey": string } |
| Campos | |
|---|---|
issuer |
Obligatorio. Es el nombre del parámetro del emisor que se pasará. Debe tener el formato |
subject |
Obligatorio. Es el nombre del parámetro del asunto que se pasará. Debe tener el formato |
clientKey |
Obligatorio. Es el nombre del parámetro del cliente que se pasará. Debe tener el formato |
DataStoreTool
| Representación JSON |
|---|
{ "name": string, "description": string, "boostSpecs": [ { object ( |
| Campos | |
|---|---|
name |
Obligatorio. Es el nombre de la herramienta del almacén de datos. |
description |
Es opcional. Es la descripción de la herramienta. |
boostSpecs[] |
Es opcional. Es la especificación de refuerzo para reforzar ciertos documentos. |
modalityConfigs[] |
Es opcional. Es la configuración de modalidad del almacén de datos. |
filterParameterBehavior |
Es opcional. Es el comportamiento del parámetro de filtro. |
Campo de unión search_source. Define la fuente de búsqueda, ya sea un solo DataStore o un Engine. search_source puede ser solo uno de los parámetros siguientes: |
|
dataStoreSource |
Es opcional. Realiza búsquedas en un solo DataStore específico. |
engineSource |
Es opcional. Realiza búsquedas dentro de un motor (potencialmente en varios almacenes de datos). |
DataStoreSource
| Representación JSON |
|---|
{
"filter": string,
"dataStore": {
object ( |
| Campos | |
|---|---|
filter |
Es opcional. Es la especificación del filtro para el DataStore. Consulta: https://cloud.google.com/generative-ai-app-builder/docs/filter-search-metadata |
dataStore |
Es opcional. Es el almacén de datos. |
DataStore
| Representación JSON |
|---|
{ "name": string, "type": enum ( |
| Campos | |
|---|---|
name |
Obligatorio. Es el nombre completo del recurso de DataStore. Formato: |
type |
Solo salida. Es el tipo de almacén de datos. Este campo es de solo lectura y el servidor lo completa. |
documentProcessingMode |
Solo salida. Es el modo de procesamiento de documentos para la conexión del almacén de datos. Solo se configura para los almacenes de datos PUBLIC_WEB y UNSTRUCTURED. |
displayName |
Solo salida. Es el nombre visible del almacén de datos. |
createTime |
Solo salida. Es la marca de tiempo de cuando se creó el almacén de datos. Usa el formato RFC 3339, en el que el resultado generado siempre usará la normalización Z y los dígitos fraccionarios 0, 3, 6 o 9. También se aceptan otras compensaciones que no sean “Z”. Ejemplos: |
connectorConfig |
Solo salida. Es la configuración del conector para la conexión del almacén de datos. |
Marca de tiempo
| Representación JSON |
|---|
{ "seconds": string, "nanos": integer } |
| Campos | |
|---|---|
seconds |
Representa los segundos de la hora UTC desde la época de Unix 1970-01-01T00:00:00Z. Debe estar entre -62135596800 y 253402300799 inclusive (lo que corresponde a 0001-01-01T00:00:00Z a 9999-12-31T23:59:59Z). |
nanos |
Fracciones no negativas de un segundo a una resolución de nanosegundos. Este campo es la parte de nanosegundos de la duración, no una alternativa a los segundos. Los valores de segundos negativos con fracciones deben tener valores nanos no negativos que se cuentan hacia adelante en el tiempo. Debe ser un valor entre 0 y 999,999,999, inclusive. |
ConnectorConfig
| Representación JSON |
|---|
{ "collection": string, "collectionDisplayName": string, "dataSource": string } |
| Campos | |
|---|---|
collection |
Es el nombre del recurso de la colección a la que pertenece el almacén de datos. |
collectionDisplayName |
Es el nombre visible de la colección a la que pertenece el almacén de datos. |
dataSource |
Es el nombre de la fuente de datos. Ejemplo: |
EngineSource
| Representación JSON |
|---|
{
"engine": string,
"dataStoreSources": [
{
object ( |
| Campos | |
|---|---|
engine |
Obligatorio. Es el nombre completo del recurso del motor. Formato: |
dataStoreSources[] |
Es opcional. Se usa para segmentar DataStores específicos dentro del motor. Si está vacío, la búsqueda se aplica a todos los almacenes de datos asociados con el motor. |
filter |
Es opcional. Es un filtro que se aplica a la búsqueda en el motor. No es relevante y no se usa si se proporciona "data_store_sources". Consulta: https://cloud.google.com/generative-ai-app-builder/docs/filter-search-metadata |
BoostSpecs
| Representación JSON |
|---|
{
"dataStores": [
string
],
"spec": [
{
object ( |
| Campos | |
|---|---|
dataStores[] |
Obligatorio. Es el almacén de datos en el que se aplica la configuración de potenciación. Es el nombre completo del recurso de DataStore, como projects/{project}/locations/{location}/collections/{collection}/dataStores/{dataStore}. |
spec[] |
Obligatorio. Es una lista de especificaciones de potenciación. |
BoostSpec
| Representación JSON |
|---|
{
"conditionBoostSpecs": [
{
object ( |
| Campos | |
|---|---|
conditionBoostSpecs[] |
Obligatorio. Es una lista de especificaciones de potenciación. |
ConditionBoostSpec
| Representación JSON |
|---|
{
"condition": string,
"boost": number,
"boostControlSpec": {
object ( |
| Campos | |
|---|---|
condition |
Obligatorio. Es una expresión que especifica una condición de refuerzo. La sintaxis es la misma que la de la expresión de filtro. Actualmente, la única condición admitida es una lista de códigos de idioma BCP-47. Ejemplo: Para potenciar las sugerencias en los idiomas en o fr: (lang_code: ANY("en", "fr")) |
boost |
Es opcional. Es la intensidad del boosting, que debe estar en el intervalo [-1, 1]. El boosting negativo significa un descenso de nivel. El valor predeterminado es 0.0. Si se establece en 1.0, las sugerencias reciben una gran promoción. Sin embargo, esto no significa necesariamente que el primer resultado será una sugerencia mejorada. Si se establece en -1.0, las sugerencias recibirán un gran descenso. Sin embargo, es posible que se sigan mostrando otras sugerencias pertinentes. Si se establece en 0.0, no se aplica ningún refuerzo. Se ignora la condición de refuerzo. |
boostControlSpec |
Es opcional. Es una especificación compleja para la clasificación personalizada basada en el valor del atributo definido por el cliente. |
BoostControlSpec
| Representación JSON |
|---|
{ "fieldName": string, "attributeType": enum ( |
| Campos | |
|---|---|
fieldName |
Es opcional. Nombre del campo cuyo valor se usará para determinar el importe del aumento. |
attributeType |
Es opcional. Es el tipo de atributo que se usará para determinar el importe del aumento. El valor del atributo se puede derivar del valor del campo field_name especificado. En el caso de los valores numéricos, es sencillo, es decir, attribute_value = numerical_field_value. Sin embargo, en el caso de la actualización, attribute_value = (time.now() - datetime_field_value). |
interpolationType |
Es opcional. Es el tipo de interpolación que se aplicará para conectar los puntos de control que se indican a continuación. |
controlPoints[] |
Es opcional. Son los puntos de control que se usan para definir la curva. La función monotónica (definida a través de interpolation_type más arriba) pasa por los puntos de control que se indican aquí. |
ControlPoint
| Representación JSON |
|---|
{ "attributeValue": string, "boostAmount": number } |
| Campos | |
|---|---|
attributeValue |
Es opcional. Puede ser uno de los siguientes: 1. Es el valor del campo numérico. 2. Es la especificación de duración para la actualización. El valor debe tener el formato de un valor |
boostAmount |
Es opcional. Valor entre -1 y 1 según el cual se aumentará la puntuación si el atributo attribute_value se evalúa como el valor especificado anteriormente. |
ModalityConfig
| Representación JSON |
|---|
{ "modalityType": enum ( |
| Campos | |
|---|---|
modalityType |
Obligatorio. Es el tipo de modalidad. |
rewriterConfig |
Es opcional. Es la configuración del reescritor. |
summarizationConfig |
Es opcional. Es la configuración del resumen. |
groundingConfig |
Es opcional. Es la configuración de fundamentación. |
snippetsConfig |
Es opcional. Es la configuración de los fragmentos. |
RewriterConfig
| Representación JSON |
|---|
{
"modelSettings": {
object ( |
| Campos | |
|---|---|
modelSettings |
Obligatorio. Es la configuración del modelo de LLM. |
prompt |
Es opcional. Es la definición de la instrucción. Si no se establece, se usará la instrucción predeterminada. |
disabled |
Es opcional. Indica si el reescritor está inhabilitado. |
ModelSettings
| Representación JSON |
|---|
{ "model": string, // Union field |
| Campos | |
|---|---|
model |
Es opcional. Es el modelo LLM que debe usar el agente. Si no se configura, el agente heredará el modelo de su agente superior. |
Campo de unión
|
|
temperature |
Es opcional. Si se configura, se usará esta temperatura para el modelo de LLM. La temperatura controla la aleatoriedad de las respuestas del modelo. Las temperaturas más bajas producen respuestas más predecibles. Las temperaturas más altas producen respuestas más creativas. |
SummarizationConfig
| Representación JSON |
|---|
{
"modelSettings": {
object ( |
| Campos | |
|---|---|
modelSettings |
Es opcional. Es la configuración del modelo de LLM. |
prompt |
Es opcional. Es la definición de la instrucción. Si no se establece, se usará la instrucción predeterminada. |
disabled |
Es opcional. Indica si el resumen está inhabilitado. |
GroundingConfig
| Representación JSON |
|---|
{ "groundingLevel": number, "disabled": boolean } |
| Campos | |
|---|---|
groundingLevel |
Es opcional. Es el umbral de fundamentación de la respuesta según las fuentes recuperadas. El valor tiene un rango configurable de [1, 5]. El nivel se usa para establecer un umbral de fundamentación de la respuesta, lo que significa que todas las respuestas con una puntuación de fundamentación inferior al umbral recurrirán a mostrar solo fragmentos pertinentes. Por ejemplo, un nivel de 3 significa que la puntuación de fundamentación debe ser 3 o más para que se muestre la respuesta. |
disabled |
Es opcional. Indica si la fundamentación está inhabilitada. |
SnippetsConfig
| Representación JSON |
|---|
{ "enableSnippets": boolean } |
| Campos | |
|---|---|
enableSnippets |
Es opcional. Indica si los fragmentos están habilitados. |
PythonFunction
| Representación JSON |
|---|
{
"name": string,
"pythonCode": string,
"description": string,
"serviceDirectoryConfig": {
object ( |
| Campos | |
|---|---|
name |
Es opcional. Nombre de la función de Python que se ejecutará. Debe coincidir con un nombre de función de Python definido en el código de Python. Distingue mayúsculas de minúsculas. Si no se proporciona el nombre, se usará la primera función definida en el código de Python. |
pythonCode |
Es opcional. Es el código de Python que se ejecutará para la herramienta. |
description |
Solo salida. Es la descripción de la función de Python, analizada a partir de la cadena de documentación del código de Python. |
serviceDirectoryConfig |
Es opcional. Es la configuración del Directorio de servicios para la herramienta. |
McpTool
| Representación JSON |
|---|
{ "name": string, "nameOverride": string, "description": string, "inputSchema": { object ( |
| Campos | |
|---|---|
name |
Obligatorio. Es el nombre de la herramienta de MCP. |
nameOverride |
Es opcional. Es la anulación del nombre de la herramienta de MCP. Este campo se completa si un reemplazo de Toolset anuló el nombre. |
description |
Es opcional. Es la descripción de la herramienta de MCP. |
inputSchema |
Es opcional. Es el esquema de los argumentos de entrada de la herramienta de MCP. |
outputSchema |
Es opcional. Es el esquema de los argumentos de salida de la herramienta de MCP. |
serverAddress |
Obligatorio. Es la dirección del servidor de MCP, p.ej., "https://example.com/mcp/". Si el servidor se compila con el SDK de MCP, la URL debe tener el sufijo "/mcp/". Solo se admiten servidores basados en el transporte HTTP que se puede transmitir. Es igual a server_address en McpToolset. Consulta https://modelcontextprotocol.io/specification/2025-03-26/basic/transports#streamable-http para obtener más detalles. |
apiAuthentication |
Es opcional. Es la información de autenticación necesaria para ejecutar la herramienta en el servidor de MCP. En el caso de la autenticación con token de portador, el token solo se aplica a la ejecución de herramientas, no a las herramientas de creación de fichas. Esto requiere que las herramientas se puedan enumerar sin autenticación. |
tlsConfig |
Es opcional. Es la configuración de TLS. Incluye los certificados de servidor personalizados en los que el cliente debe confiar. |
serviceDirectoryConfig |
Es opcional. Es la configuración del Directorio de servicios para VPC-SC, que se usa para resolver nombres de servicios dentro de un perímetro. |
customHeaders |
Es opcional. Son los encabezados personalizados que se enviarán en la solicitud al servidor de MCP. Los valores deben tener el formato Un objeto que contiene una lista de pares |
state |
Solo salida. Es el estado de disponibilidad dinámico de la herramienta en el servidor externo. |
CustomHeadersEntry
| Representación JSON |
|---|
{ "key": string, "value": string } |
| Campos | |
|---|---|
key |
|
value |
|
FileSearchTool
| Representación JSON |
|---|
{
"corpusType": enum ( |
| Campos | |
|---|---|
corpusType |
Es opcional. Es el tipo de corpus. El valor predeterminado es FULLY_MANAGED. |
name |
Obligatorio. Es el nombre de la herramienta. |
description |
Es opcional. Es la descripción de la herramienta. |
fileCorpus |
Es opcional. Es el corpus en el que se almacenan los archivos. Formato: projects/{project}/locations/{location}/ragCorpora/{rag_corpus} |
SystemTool
| Representación JSON |
|---|
{ "name": string, "description": string } |
| Campos | |
|---|---|
name |
Obligatorio. Es el nombre de la herramienta del sistema. |
description |
Solo salida. Es la descripción de la herramienta del sistema. |
AgentTool
| Representación JSON |
|---|
{ "name": string, "description": string, "agent": string } |
| Campos | |
|---|---|
name |
Obligatorio. Es el nombre de la herramienta del agente. |
description |
Es opcional. Descripción del propósito de la herramienta. |
agent |
Es opcional. Es el nombre del recurso del agente que es el punto de entrada de la herramienta. Formato: |
WidgetTool
| Representación JSON |
|---|
{ "name": string, "description": string, "widgetType": enum ( |
| Campos | |
|---|---|
name |
Obligatorio. Es el nombre visible de la herramienta del widget. |
description |
Es opcional. Es la descripción de la herramienta del widget. |
widgetType |
Es opcional. Es el tipo de herramienta del widget. Si no se especifica, el tipo predeterminado será CUSTOMIZED. |
uiConfig |
Es opcional. Es la configuración para renderizar el widget. |
dataMapping |
Es opcional. Es la asignación que define cómo se asignan los datos de una herramienta de origen a los parámetros de entrada del widget. |
textResponseConfig |
Es opcional. Es la configuración para las respuestas de texto que siempre se incluyen. |
Campo de unión input. Es la entrada de la herramienta de widget. input puede ser solo uno de los parámetros siguientes: |
|
parameters |
Es opcional. Son los parámetros de entrada de la herramienta de widget. |
DataMapping
| Representación JSON |
|---|
{ "sourceToolName": string, "fieldMappings": { string: string, ... }, "pythonFunction": { object ( |
| Campos | |
|---|---|
sourceToolName |
Es opcional. Es el nombre del recurso de la herramienta que proporciona los datos para el widget (p.ej., una herramienta de búsqueda o una función personalizada). Formato: |
fieldMappings |
Es opcional. Es un mapa de los campos de parámetros de entrada del widget a los campos de salida correspondientes de la herramienta de origen. Un objeto que contiene una lista de pares |
pythonFunction |
Es opcional. Es la configuración de una función de Python que se usa para transformar el resultado de la herramienta fuente en el formato de entrada del widget. |
mode |
Es opcional. Es el modo de la asignación de datos. |
pythonScript |
Obsoleto: Usa |
FieldMappingsEntry
| Representación JSON |
|---|
{ "key": string, "value": string } |
| Campos | |
|---|---|
key |
|
value |
|
TextResponseConfig
| Representación JSON |
|---|
{
"type": enum ( |
| Campos | |
|---|---|
type |
Es opcional. Es la estrategia para proporcionar la respuesta de texto. |
staticText |
Es opcional. Es la respuesta de texto estático que se devolverá cuando el tipo sea STATIC. |
textResponseInstruction |
Es opcional. Instrucción para el LLM sobre cómo generar la respuesta de texto. Se usa como la descripción del parámetro de respuesta de texto si el tipo es LLM_GENERATED. |
RemoteAgentTool
| Representación JSON |
|---|
{
"name": string,
"description": string,
"agentCard": {
object ( |
| Campos | |
|---|---|
name |
Obligatorio. Es el nombre de la herramienta. |
description |
Obligatorio. Es la descripción de la herramienta. |
agentCard |
Obligatorio. Es la tarjeta del agente remoto que invoca esta herramienta. |
AgentCard
| Representación JSON |
|---|
{ "name": string, "description": string, "supportedInterfaces": [ { object ( |
| Campos | |
|---|---|
name |
Obligatorio. Nombre del agente legible por humanos. |
description |
Obligatorio. Es una descripción del dominio de acción o el espacio de soluciones del agente. |
supportedInterfaces[] |
Obligatorio. Lista ordenada de interfaces compatibles. Se prefiere la primera entrada. |
version |
Obligatorio. Es la versión del agente. |
skills[] |
Obligatorio. Las habilidades representan una unidad de capacidad que un agente puede realizar. Esto puede ser algo abstracto, pero representa un conjunto más enfocado de acciones en las que es muy probable que el agente tenga éxito. |
AgentInterface
| Representación JSON |
|---|
{ "url": string, "protocolBinding": string, "tenant": string, "protocolVersion": string } |
| Campos | |
|---|---|
url |
Obligatorio. Es la URL en la que está disponible esta interfaz. Debe ser una URL HTTPS absoluta válida en producción. Ejemplo: "https://api.example.com/a2a/v1", "https://grpc.example.com/a2a" |
protocolBinding |
Obligatorio. Es la vinculación del protocolo admitida en esta URL. Es una cadena de formulario abierto que se puede extender fácilmente para otras vinculaciones de protocolos. Los principales que se admiten oficialmente son |
tenant |
Es el ID de inquilino que se usará en la solicitud cuando se llame al agente. |
protocolVersion |
Obligatorio. Es la versión del protocolo A2A que expone esta interfaz. Usa la versión secundaria compatible más reciente por versión principal. Ejemplos: “0.3”, “1.0” |
AgentSkill
| Representación JSON |
|---|
{ "id": string, "name": string, "description": string, "tags": [ string ], "examples": [ string ], "inputModes": [ string ], "outputModes": [ string ] } |
| Campos | |
|---|---|
id |
Obligatorio. Es un identificador único para la habilidad del agente. |
name |
Obligatorio. Es el nombre de la habilidad legible por humanos. |
description |
Obligatorio. Es una descripción detallada de la habilidad. |
tags[] |
Obligatorio. Es un conjunto de palabras clave que describen las capacidades de la skill. |
examples[] |
Son ejemplos de instrucciones o situaciones que esta habilidad puede controlar. |
inputModes[] |
Es el conjunto de tipos de medios de entrada admitidos para esta habilidad, que anula los valores predeterminados del agente. |
outputModes[] |
Es el conjunto de tipos de medios de salida admitidos para esta habilidad, que anula los valores predeterminados del agente. |
Duración
| Representación JSON |
|---|
{ "seconds": string, "nanos": integer } |
| Campos | |
|---|---|
seconds |
Son los segundos firmados del período. Debe estar comprendido entre -315,576,000,000 y +315,576,000,000, inclusive. Nota: Estos límites se calculan de la siguiente manera: 60 s/min * 60 min/h * 24 h/día * 365.25 días/año * 10,000 años. |
nanos |
Fracciones firmadas de un segundo con una resolución de nanosegundos del período. Las duraciones inferiores a un segundo se representan con un campo |
ToolFakeConfig
| Representación JSON |
|---|
{ "enableFakeMode": boolean, // Union field |
| Campos | |
|---|---|
enableFakeMode |
Es opcional. Indica si la herramienta usa el modo falso. |
Campo de unión tool_response. La respuesta es estática o la proporciona una función de Python. tool_response puede ser solo uno de los parámetros siguientes: |
|
codeBlock |
Es opcional. Es el bloque de código que se ejecutará en lugar de una llamada a la herramienta real. |
CodeBlock
| Representación JSON |
|---|
{ "pythonCode": string } |
| Campos | |
|---|---|
pythonCode |
Obligatorio. Código de Python que se invocará en el modo simulado de la herramienta. Firma de función de Python esperada: Para detectar todas las llamadas a herramientas: def fake_tool_call(tool: Tool, input: dict[str, Any], callback_context: CallbackContext) -> Optional[dict[str, Any]]: Para detectar una llamada a herramienta específica: def fake_{tool_id}(tool: Tool, input: dict[str, Any], callback_context: CallbackContext) -> Optional[dict[str, Any]]: Si la función devuelve None, se invocará la herramienta real. |
FieldMask
| Representación JSON |
|---|
{ "paths": [ string ] } |
| Campos | |
|---|---|
paths[] |
Es el conjunto de rutas de acceso de la máscara de campo. |
Tipo
Son los tipos de datos de OpenAPI.
| Enums | |
|---|---|
TYPE_UNSPECIFIED |
Indica un tipo no especificado. |
STRING |
Tipo de cadena. |
INTEGER |
Es de tipo entero. |
NUMBER |
Es el tipo de número. |
BOOLEAN |
Tipo booleano. |
OBJECT |
Tipo de objeto. |
ARRAY |
Es el tipo de array. |
NullValue
Representa un null de JSON.
NullValue es un centinela que usa un enum con solo un valor para representar el valor nulo de la unión de tipos Value.
Un campo de tipo NullValue con cualquier valor que no sea 0 se considera no válido. La mayoría de los serializadores de ProtoJSON emitirán un Value con un null_value establecido como un null de JSON, independientemente del valor entero, por lo que se realizará un viaje de ida y vuelta a un valor de 0.
| Enums | |
|---|---|
NULL_VALUE |
Valor nulo. |
RequestLocation
Ubicación de la clave de API en la solicitud.
| Enums | |
|---|---|
REQUEST_LOCATION_UNSPECIFIED |
Sin especificar. No se debe usar este valor. |
HEADER |
Representa la clave en el encabezado HTTP. |
QUERY_STRING |
Representa la clave en la cadena de consulta. |
OauthGrantType
Son los tipos de otorgamiento de OAuth. Solo se admite el otorgamiento de credenciales de cliente.
| Enums | |
|---|---|
OAUTH_GRANT_TYPE_UNSPECIFIED |
Sin especificar. El valor predeterminado es CLIENT_CREDENTIAL. |
CLIENT_CREDENTIAL |
Representa el flujo de credenciales de cliente. |
OperationType
Operación que se realizará en la entidad.
| Enums | |
|---|---|
OPERATION_TYPE_UNSPECIFIED |
No se especificó el tipo de operación. No es válido. Fallará la creación o actualización de ConnectorTool. |
LIST |
Operación de lista. |
GET |
Operación de obtención. |
CREATE |
Es la operación de creación. |
UPDATE |
Operación de actualización. |
DELETE |
Operación de eliminación. |
DataStoreType
Es el tipo de almacén de datos.
| Enums | |
|---|---|
DATA_STORE_TYPE_UNSPECIFIED |
No especificado. Este valor indica que no se especificó el tipo de almacén de datos, por lo que no se usará durante la búsqueda. |
PUBLIC_WEB |
Es un almacén de datos que contiene contenido web público. |
UNSTRUCTURED |
Es un almacén de datos que contiene datos privados no estructurados. |
FAQ |
Es un almacén de datos que contiene datos estructurados que se usan como preguntas frecuentes. |
CONNECTOR |
Es un almacén de datos que es un conector a un servicio de origen o de terceros. |
DocumentProcessingMode
Es el modo de procesamiento de documentos del almacén de datos.
| Enums | |
|---|---|
DOCUMENT_PROCESSING_MODE_UNSPECIFIED |
No especificado. |
DOCUMENTS |
Los documentos se procesan como documentos. |
CHUNKS |
Los documentos se convierten en fragmentos. |
AttributeType
Es el atributo(o la función) para el que se aplicará la clasificación personalizada.
| Enums | |
|---|---|
ATTRIBUTE_TYPE_UNSPECIFIED |
AttributeType no especificado. |
NUMERICAL |
El valor del campo numérico se usará para actualizar de forma dinámica el importe del aumento. En este caso, el atributo attribute_value (el valor de X) del punto de control será el valor real del campo numérico para el que se especifica boost_amount. |
FRESHNESS |
En el caso de uso de la actualización, el valor del atributo será la duración entre la hora actual y la fecha especificada en el campo de fecha y hora. El valor debe tener el formato de un valor dayTimeDuration de XSD (un subconjunto restringido de un valor de duración ISO 8601). El patrón para esto es: [nD][T[nH][nM][nS]]. p. ej., 5D, 3DT12H30M, T24H |
InterpolationType
Es el tipo de interpolación que se aplicará. El valor predeterminado será lineal (lineal por partes).
| Enums | |
|---|---|
INTERPOLATION_TYPE_UNSPECIFIED |
No se especificó el tipo de interpolación. En este caso, se establece de forma predeterminada en lineal. |
LINEAR |
Se aplicará la interpolación lineal por partes. |
ModalityType
Es el tipo de modalidad.
| Enums | |
|---|---|
MODALITY_TYPE_UNSPECIFIED |
Tipo de modalidad sin especificar. |
TEXT |
Modalidad de texto. |
AUDIO |
Modalidad de audio. |
FilterParameterBehavior
Comportamiento del parámetro de filtro.
| Enums | |
|---|---|
FILTER_PARAMETER_BEHAVIOR_UNSPECIFIED |
Es el comportamiento predeterminado del filtro. Se incluye el filtro de inclusión para los almacenes de datos del conector. Para el resto de los tipos de almacenes de datos, se omite el parámetro de entrada del filtro. |
ALWAYS_INCLUDE |
Siempre incluye el parámetro de filtro para todos los tipos de almacenes de datos. |
NEVER_INCLUDE |
El parámetro de filtro nunca se incluye en la lista de parámetros de la herramienta, independientemente del tipo de almacén de datos. |
Estado
Representa el estado de disponibilidad dinámico de la herramienta.
| Enums | |
|---|---|
STATE_UNSPECIFIED |
Es el estado predeterminado. |
ACTIVE |
La herramienta está disponible y el servidor la ofrece de forma activa. |
INACTIVE |
La herramienta está configurada o fijada, pero el servidor no la ofrece actualmente. |
STALE |
La herramienta existe en el servidor, pero no coincide con la versión del servidor. |
CorpusType
Es el tipo de corpus de RAG de Vertex.
| Enums | |
|---|---|
CORPUS_TYPE_UNSPECIFIED |
Es un tipo de corpus sin especificar. |
USER_OWNED |
El corpus es creado por el usuario y es de su propiedad. |
FULLY_MANAGED |
El agente crea el corpus. |
WidgetType
Son todos los tipos de widgets disponibles. Es posible que se agreguen valores nuevos a este enum en el futuro.
| Enums | |
|---|---|
WIDGET_TYPE_UNSPECIFIED |
Tipo de widget sin especificar. |
CUSTOM |
Es el tipo de widget personalizado. |
PRODUCT_CAROUSEL |
Es un widget de carrusel de productos. |
PRODUCT_DETAILS |
Es un widget de detalles del producto. |
QUICK_ACTIONS |
Widget de acciones rápidas. |
PRODUCT_COMPARISON |
Es un widget de comparación de productos. |
ADVANCED_PRODUCT_DETAILS |
Es un widget de detalles del producto avanzados. |
SHORT_FORM |
Es un widget de formato corto. |
OVERALL_SATISFACTION |
Widget de satisfacción general |
ORDER_SUMMARY |
Es un widget de resumen del pedido. |
APPOINTMENT_DETAILS |
Widget de detalles de la cita. |
APPOINTMENT_SCHEDULER |
Widget del programador de citas |
CONTACT_FORM |
Widget de formulario de contacto. |
Modo
Es la estrategia que se usa para asignar datos de la herramienta de origen al widget.
| Enums | |
|---|---|
MODE_UNSPECIFIED |
Modo sin especificar. |
FIELD_MAPPING |
Usa el mapa field_mappings para la transformación de datos. |
PYTHON_SCRIPT |
Usa python_script para la transformación de datos. |
Tipo
Define cómo se produce la respuesta de texto.
| Enums | |
|---|---|
TYPE_UNSPECIFIED |
Indica un tipo no especificado. |
NONE |
El LLM decide de forma dinámica si generará una respuesta de texto junto con el widget según el contexto de la conversación. |
LLM_GENERATED |
Se requiere explícitamente que el LLM genere una respuesta de texto. |
STATIC |
Siempre se usa una respuesta de texto estático predefinida. |
ExecutionType
Es el tipo de ejecución de la herramienta o el conjunto de herramientas.
| Enums | |
|---|---|
EXECUTION_TYPE_UNSPECIFIED |
No se especificó el tipo de ejecución. Si no se especifica, el número predeterminado es SYNCHRONOUS. |
SYNCHRONOUS |
La herramienta se ejecuta de forma síncrona. La sesión se bloquea hasta que la herramienta devuelve un resultado. |
ASYNCHRONOUS |
La herramienta se ejecuta de forma asíncrona. La sesión continuará mientras se ejecuta la herramienta. |
Esquema de salida
Una herramienta representa una acción que el agente de CES puede realizar para alcanzar ciertos objetivos.
Herramienta
| Representación JSON |
|---|
{ "name": string, "displayName": string, "executionType": enum ( |
| Campos | |
|---|---|
name |
Es el identificador. Es el nombre del recurso de la herramienta. Formato:
Estas herramientas son dinámicas y solo de salida; no se pueden hacer referencia directamente a ellas donde se espera una herramienta. |
displayName |
Solo salida. Es el nombre visible de la herramienta, que se deriva según el tipo de herramienta. Por ejemplo, el nombre visible de un [ClientFunction][Tool.ClientFunction] se deriva de su propiedad |
executionType |
Es opcional. Es el tipo de ejecución de la herramienta. |
timeout |
Es opcional. Es el tiempo de espera para la ejecución de la herramienta. Si no se establece, el tiempo de espera predeterminado es de 30 segundos para las herramientas de Una duración en segundos con hasta nueve dígitos decimales, que terminan en “ |
createTime |
Solo salida. Es la marca de tiempo de cuando se creó la herramienta. Usa el formato RFC 3339, en el que el resultado generado siempre usará la normalización Z y los dígitos fraccionarios 0, 3, 6 o 9. También se aceptan otras compensaciones que no sean “Z”. Ejemplos: |
updateTime |
Solo salida. Es la marca de tiempo de la última actualización de la herramienta. Usa el formato RFC 3339, en el que el resultado generado siempre usará la normalización Z y los dígitos fraccionarios 0, 3, 6 o 9. También se aceptan otras compensaciones que no sean “Z”. Ejemplos: |
etag |
Es el ETag que se usa para garantizar que el objeto no haya cambiado durante una operación de lectura, modificación y escritura. Si el ETag está vacío, la actualización reemplazará cualquier cambio simultáneo. |
generatedSummary |
Solo salida. Si el asistente de LLM genera la herramienta, este campo contiene un resumen descriptivo de la generación. |
toolFakeConfig |
Es opcional. Es la configuración del comportamiento de la herramienta en el modo simulado. |
Campo de unión tool_type. Es el tipo de herramienta. tool_type puede ser solo uno de los parámetros siguientes: |
|
clientFunction |
Es opcional. Es la función del cliente. |
openApiTool |
Es opcional. Es la herramienta de API abierta. |
googleSearchTool |
Es opcional. Es la herramienta de Búsqueda de Google. |
connectorTool |
Es opcional. La herramienta Integration Connector |
dataStoreTool |
Es opcional. Es la herramienta de almacén de datos. |
pythonFunction |
Es opcional. Es la herramienta de función de Python. |
mcpTool |
Es opcional. Es la herramienta de MCP. Una herramienta de MCP no se puede crear ni actualizar directamente, y la administra el conjunto de herramientas de MCP. |
fileSearchTool |
Es opcional. Es la herramienta de búsqueda de archivos. |
systemTool |
Es opcional. Es la herramienta del sistema. |
agentTool |
Es opcional. Es la herramienta del agente. |
widgetTool |
Es opcional. La herramienta de widget. |
remoteAgentTool |
Es opcional. Es la herramienta del agente remoto. |
ClientFunction
| Representación JSON |
|---|
{ "name": string, "description": string, "parameters": { object ( |
| Campos | |
|---|---|
name |
Obligatorio. Es el nombre de la función. |
description |
Es opcional. Es la descripción de la función. |
parameters |
Es opcional. Es el esquema de los parámetros de la función. |
response |
Es opcional. Es el esquema de la respuesta de la función. |
Esquema
| Representación JSON |
|---|
{ "type": enum ( |
| Campos | |
|---|---|
type |
Obligatorio. Es el tipo de datos. |
properties |
Es opcional. Son las propiedades de Type.OBJECT. Un objeto que contiene una lista de pares |
required[] |
Es opcional. Son las propiedades obligatorias de Type.OBJECT. |
description |
Es opcional. La descripción de los datos. |
items |
Es opcional. Esquema de los elementos de Type.ARRAY. |
nullable |
Es opcional. Indica si el valor puede ser nulo. |
uniqueItems |
Es opcional. Indica que los elementos del array deben ser únicos. Solo se aplica a TYPE.ARRAY. |
prefixItems[] |
Es opcional. Esquemas de los elementos iniciales de Type.ARRAY. |
additionalProperties |
Es opcional. Puede ser un valor booleano o un objeto, y controla la presencia de propiedades adicionales. |
anyOf[] |
Es opcional. El valor se debe validar en relación con cualquiera de los subesquemas (uno o más) de la lista. |
enum[] |
Es opcional. Valores posibles del elemento de tipo primitivo con formato de enumeración. Ejemplos: 1. Podemos definir la dirección de la siguiente manera : {type:STRING, format:enum, enum:["EAST", NORTH", "SOUTH", "WEST"]} 2. Podemos definir el número de departamento de la siguiente manera : {type:INTEGER, format:enum, enum:["101", "201", "301"]} |
default |
Es opcional. Es el valor predeterminado de los datos. |
ref |
Es opcional. Permite referencias indirectas entre los nodos del esquema. El valor debe ser una referencia válida a un elemento secundario del Por ejemplo, el siguiente esquema define una referencia a un nodo de esquema llamado "Pet": El valor de la propiedad "pet" es una referencia al nodo del esquema llamado "Pet". Consulta los detalles en https://json-schema.org/understanding-json-schema/structuring. |
defs |
Es opcional. Es un mapa de definiciones para que lo use Un objeto que contiene una lista de pares |
title |
Es opcional. Es el título del esquema. |
minItems |
Es opcional. Es la cantidad mínima de elementos para Type.ARRAY. |
maxItems |
Es opcional. Es la cantidad máxima de elementos para Type.ARRAY. |
Campo de unión
|
|
minimum |
Es opcional. Es el valor mínimo para Type.INTEGER y Type.NUMBER. |
Campo de unión
|
|
maximum |
Es opcional. Es el valor máximo para Type.INTEGER y Type.NUMBER. |
PropertiesEntry
| Representación JSON |
|---|
{
"key": string,
"value": {
object ( |
| Campos | |
|---|---|
key |
|
value |
|
Valor
| Representación JSON |
|---|
{ // Union field |
| Campos | |
|---|---|
Campo de unión kind. Es el tipo de valor. kind puede ser solo uno de los parámetros siguientes: |
|
nullValue |
Representa un |
numberValue |
Representa un número JSON. No debe ser |
stringValue |
Representa una cadena JSON. |
boolValue |
Representa un valor booleano de JSON (literal |
structValue |
Representa un objeto JSON. |
listValue |
Representa un array JSON. |
Struct
| Representación JSON |
|---|
{ "fields": { string: value, ... } } |
| Campos | |
|---|---|
fields |
Es un mapa no ordenado de valores escritos de forma dinámica. Un objeto que contiene una lista de pares |
FieldsEntry
| Representación JSON |
|---|
{ "key": string, "value": value } |
| Campos | |
|---|---|
key |
|
value |
|
ListValue
| Representación JSON |
|---|
{ "values": [ value ] } |
| Campos | |
|---|---|
values[] |
Es un campo repetido de valores escritos de forma dinámica. |
DefsEntry
| Representación JSON |
|---|
{
"key": string,
"value": {
object ( |
| Campos | |
|---|---|
key |
|
value |
|
OpenApiTool
| Representación JSON |
|---|
{ "openApiSchema": string, "name": string, "description": string, "apiAuthentication": { object ( |
| Campos | |
|---|---|
openApiSchema |
Obligatorio. Esquema de OpenAPI en formato JSON o YAML |
name |
Es opcional. Es el nombre de la herramienta. Si no se proporciona, el nombre de la herramienta se derivará del esquema de OpenAPI, desde |
description |
Es opcional. Es la descripción de la herramienta. Si no se proporciona, la descripción de la herramienta se derivará del esquema de OpenAPI, de |
apiAuthentication |
Es opcional. Es la información de autenticación que requiere la API. |
tlsConfig |
Es opcional. Es la configuración de TLS. Incluye los certificados de servidor personalizados en los que confiará el cliente. |
serviceDirectoryConfig |
Es opcional. Es la configuración del Directorio de servicios. |
ignoreUnknownFields |
Es opcional. Si es verdadero, el agente ignorará los campos desconocidos en la respuesta de la API. |
url |
Es opcional. Es la URL del servidor del esquema de la API abierta. Este campo solo se configura en las herramientas de las dependencias del entorno durante el proceso de exportación si el esquema contiene una URL del servidor. Durante el proceso de importación, si esta URL está presente en las dependencias del entorno y el esquema tiene el marcador de posición $env_var, se reemplazará el marcador de posición en el esquema. |
ApiAuthentication
| Representación JSON |
|---|
{ // Union field |
| Campos | |
|---|---|
Campo de unión auth_config. Es la configuración de autenticación. auth_config puede ser solo uno de los parámetros siguientes: |
|
apiKeyConfig |
Es opcional. Es la configuración para la autenticación con clave de API. |
oauthConfig |
Es opcional. Es la configuración de OAuth. |
serviceAgentIdTokenAuthConfig |
Es opcional. Es la configuración para la autenticación con token de ID que se genera a partir del agente de servicio de CES. |
serviceAccountAuthConfig |
Es opcional. Es la configuración para la autenticación de la cuenta de servicio. |
bearerTokenConfig |
Es opcional. Es la configuración para la autenticación de token de portador. |
ApiKeyConfig
| Representación JSON |
|---|
{
"keyName": string,
"apiKeySecretVersion": string,
"requestLocation": enum ( |
| Campos | |
|---|---|
keyName |
Obligatorio. Es el nombre del parámetro o del encabezado de la clave de API. P. ej., Si la solicitud a la API es "https://example.com/act?X-Api-Key= |
apiKeySecretVersion |
Obligatorio. Es el nombre del recurso de la versión secreta de Secret Manager que almacena la clave de API. Formato: Nota: Debes otorgar el rol |
requestLocation |
Obligatorio. Es la ubicación de la clave en la solicitud. |
OAuthConfig
| Representación JSON |
|---|
{
"oauthGrantType": enum ( |
| Campos | |
|---|---|
oauthGrantType |
Obligatorio. Son los tipos de otorgamiento de OAuth. |
clientId |
Obligatorio. Es el ID de cliente del proveedor de OAuth. |
clientSecretVersion |
Obligatorio. Nombre del recurso de la versión secreta de Secret Manager que almacena el secreto del cliente. Formato: Nota: Debes otorgar el rol |
tokenEndpoint |
Obligatorio. Es el extremo del token en el proveedor de OAuth que se intercambiará por un token de acceso. |
scopes[] |
Es opcional. Son los permisos de OAuth que se otorgarán. |
ServiceAccountAuthConfig
| Representación JSON |
|---|
{ "serviceAccount": string, "scopes": [ string ] } |
| Campos | |
|---|---|
serviceAccount |
Obligatorio. Es la dirección de correo electrónico de la cuenta de servicio que se usa para la autenticación. CES usa esta cuenta de servicio para intercambiar un token de acceso, que luego se envía en el encabezado La cuenta de servicio debe tener el rol |
scopes[] |
Es opcional. Son los permisos de OAuth que se otorgarán. Si no se especifica, se usa el alcance predeterminado |
BearerTokenConfig
| Representación JSON |
|---|
{ "token": string } |
| Campos | |
|---|---|
token |
Obligatorio. Es el token del portador. Debe tener el formato |
TlsConfig
| Representación JSON |
|---|
{
"caCerts": [
{
object ( |
| Campos | |
|---|---|
caCerts[] |
Obligatorio. Especifica una lista de certificados de CA personalizados permitidos para la verificación de HTTPS. |
CaCert
| Representación JSON |
|---|
{ "displayName": string, "cert": string } |
| Campos | |
|---|---|
displayName |
Obligatorio. Nombre de los certificados de CA personalizados permitidos. Se puede usar para desambiguar los certificados de CA personalizados. |
cert |
Obligatorio. Son los certificados de AC personalizados permitidos (en formato DER) para la verificación de HTTPS. Esto anula el almacén de confianza de SSL predeterminado. Si este campo está vacío o no se especifica, CES usará el almacén de confianza predeterminado de Google para verificar los certificados. Nota: Asegúrate de que los certificados del servidor HTTPS estén firmados con "subject alt name". Por ejemplo, un certificado se puede autofirmar con el siguiente comando: Es una cadena codificada en Base64. |
ServiceDirectoryConfig
| Representación JSON |
|---|
{ "service": string } |
| Campos | |
|---|---|
service |
Obligatorio. Nombre del servicio de Service Directory. Formato: |
GoogleSearchTool
| Representación JSON |
|---|
{
"name": string,
"description": string,
"contextUrls": [
string
],
"preferredDomains": [
string
],
"excludeDomains": [
string
],
"promptConfig": {
object ( |
| Campos | |
|---|---|
name |
Obligatorio. Es el nombre de la herramienta. |
description |
Es opcional. Descripción del propósito de la herramienta. |
contextUrls[] |
Es opcional. El contenido se recuperará directamente de estas URLs para el contexto y la fundamentación. Ejemplo: "https://example.com/path.html". Se permite un máximo de 20 URLs. |
preferredDomains[] |
Es opcional. Especifica los dominios a los que se restringirán los resultados de la búsqueda. Ejemplo: "example.com", "another.site". Se puede especificar un máximo de 20 dominios. |
excludeDomains[] |
Es opcional. Lista de dominios que se excluirán de los resultados de la búsqueda. Ejemplo: "example.com". Se puede excluir un máximo de 2,000 dominios. |
promptConfig |
Es opcional. Son las instrucciones de la instrucción que se pasan al planificador sobre cómo se deben procesar los resultados de la búsqueda para texto y voz. |
PromptConfig
| Representación JSON |
|---|
{ "textPrompt": string, "voicePrompt": string } |
| Campos | |
|---|---|
textPrompt |
Es opcional. Define la instrucción que se usa para las instrucciones del sistema cuando se interactúa con el agente en conversaciones de chat. Si no se establece, se usará la instrucción predeterminada. |
voicePrompt |
Es opcional. Define la instrucción que se usa para las instrucciones del sistema cuando se interactúa con el agente en conversaciones de voz. Si no se establece, se usará la instrucción predeterminada. |
ConnectorTool
| Representación JSON |
|---|
{ "connection": string, "action": { object ( |
| Campos | |
|---|---|
connection |
Obligatorio. Es el nombre completo del recurso de la conexión de Integration Connectors a la que se hace referencia. Formato: |
action |
Obligatorio. Es la acción que debe usar la herramienta. |
authConfig |
Es opcional. Configura cómo se controla la autenticación en Integration Connectors. De forma predeterminada, se pasa una autenticación de administrador en las solicitudes de la API de Integration Connectors. Puedes anularla con otra configuración de autenticación del usuario final. Nota: La conexión debe tener habilitada la anulación de autenticación para especificar una configuración de EUC aquí. De lo contrario, fallará la creación de ConnectorTool. Consulta https://cloud.google.com/application-integration/docs/configure-connectors-task#configure-authentication-override para obtener más detalles. |
name |
Es opcional. Es el nombre de la herramienta que puede usar el agente para decidir si llama a este ConnectorTool. |
description |
Es opcional. Es la descripción de la herramienta que puede usar el agente para decidir si debe llamar a este ConnectorTool. |
Acción
| Representación JSON |
|---|
{ "inputFields": [ string ], "outputFields": [ string ], // Union field |
| Campos | |
|---|---|
inputFields[] |
Es opcional. Son los campos de entidad que se usarán como entradas para la operación. Si no se especifican campos, se usarán todos los campos de la entidad. |
outputFields[] |
Es opcional. Son los campos de la entidad que se devolverán de la operación. Si no se especifican campos, se mostrarán todos los campos de la entidad. |
Campo de unión action_spec. Es la especificación de una acción que se configurará para que la use la herramienta. action_spec puede ser solo uno de los parámetros siguientes: |
|
connectionActionId |
Es el ID de una acción de conexión que usará la herramienta. |
entityOperation |
Es la configuración de la operación de la entidad que usará la herramienta. |
EntityOperation
| Representación JSON |
|---|
{
"entityId": string,
"operation": enum ( |
| Campos | |
|---|---|
entityId |
Obligatorio. Es el ID de la entidad. |
operation |
Obligatorio. Operación que se realizará en la entidad. |
EndUserAuthConfig
| Representación JSON |
|---|
{ // Union field |
| Campos | |
|---|---|
Campo de unión auth_config. Es la configuración de autenticación. auth_config puede ser solo uno de los parámetros siguientes: |
|
oauth2AuthCodeConfig |
Autenticación con código de autorización de OAuth 2.0. |
oauth2JwtBearerConfig |
Perfil de JWT de autenticación de otorgamiento de autorización de OAuth 2.0. |
Oauth2AuthCodeConfig
| Representación JSON |
|---|
{ "oauthToken": string } |
| Campos | |
|---|---|
oauthToken |
Obligatorio. Es el nombre del parámetro del token de OAuth que se pasará. Debe tener el formato |
Oauth2JwtBearerConfig
| Representación JSON |
|---|
{ "issuer": string, "subject": string, "clientKey": string } |
| Campos | |
|---|---|
issuer |
Obligatorio. Es el nombre del parámetro del emisor que se pasará. Debe tener el formato |
subject |
Obligatorio. Es el nombre del parámetro del asunto que se pasará. Debe tener el formato |
clientKey |
Obligatorio. Es el nombre del parámetro del cliente que se pasará. Debe tener el formato |
DataStoreTool
| Representación JSON |
|---|
{ "name": string, "description": string, "boostSpecs": [ { object ( |
| Campos | |
|---|---|
name |
Obligatorio. Es el nombre de la herramienta del almacén de datos. |
description |
Es opcional. Es la descripción de la herramienta. |
boostSpecs[] |
Es opcional. Es la especificación de refuerzo para reforzar ciertos documentos. |
modalityConfigs[] |
Es opcional. Es la configuración de modalidad del almacén de datos. |
filterParameterBehavior |
Es opcional. Es el comportamiento del parámetro de filtro. |
Campo de unión search_source. Define la fuente de búsqueda, ya sea un solo DataStore o un Engine. search_source puede ser solo uno de los parámetros siguientes: |
|
dataStoreSource |
Es opcional. Realiza búsquedas en un solo DataStore específico. |
engineSource |
Es opcional. Realiza búsquedas dentro de un motor (potencialmente en varios almacenes de datos). |
DataStoreSource
| Representación JSON |
|---|
{
"filter": string,
"dataStore": {
object ( |
| Campos | |
|---|---|
filter |
Es opcional. Es la especificación del filtro para el DataStore. Consulta: https://cloud.google.com/generative-ai-app-builder/docs/filter-search-metadata |
dataStore |
Es opcional. Es el almacén de datos. |
DataStore
| Representación JSON |
|---|
{ "name": string, "type": enum ( |
| Campos | |
|---|---|
name |
Obligatorio. Es el nombre completo del recurso de DataStore. Formato: |
type |
Solo salida. Es el tipo de almacén de datos. Este campo es de solo lectura y el servidor lo completa. |
documentProcessingMode |
Solo salida. Es el modo de procesamiento de documentos para la conexión del almacén de datos. Solo se configura para los almacenes de datos PUBLIC_WEB y UNSTRUCTURED. |
displayName |
Solo salida. Es el nombre visible del almacén de datos. |
createTime |
Solo salida. Es la marca de tiempo de cuando se creó el almacén de datos. Usa el formato RFC 3339, en el que el resultado generado siempre usará la normalización Z y los dígitos fraccionarios 0, 3, 6 o 9. También se aceptan otras compensaciones que no sean “Z”. Ejemplos: |
connectorConfig |
Solo salida. Es la configuración del conector para la conexión del almacén de datos. |
Marca de tiempo
| Representación JSON |
|---|
{ "seconds": string, "nanos": integer } |
| Campos | |
|---|---|
seconds |
Representa los segundos de la hora UTC desde la época de Unix 1970-01-01T00:00:00Z. Debe estar entre -62135596800 y 253402300799 inclusive (lo que corresponde a 0001-01-01T00:00:00Z a 9999-12-31T23:59:59Z). |
nanos |
Fracciones no negativas de un segundo a una resolución de nanosegundos. Este campo es la parte de nanosegundos de la duración, no una alternativa a los segundos. Los valores de segundos negativos con fracciones deben tener valores nanos no negativos que se cuentan hacia adelante en el tiempo. Debe ser un valor entre 0 y 999,999,999, inclusive. |
ConnectorConfig
| Representación JSON |
|---|
{ "collection": string, "collectionDisplayName": string, "dataSource": string } |
| Campos | |
|---|---|
collection |
Es el nombre del recurso de la colección a la que pertenece el almacén de datos. |
collectionDisplayName |
Es el nombre visible de la colección a la que pertenece el almacén de datos. |
dataSource |
Es el nombre de la fuente de datos. Ejemplo: |
EngineSource
| Representación JSON |
|---|
{
"engine": string,
"dataStoreSources": [
{
object ( |
| Campos | |
|---|---|
engine |
Obligatorio. Es el nombre completo del recurso del motor. Formato: |
dataStoreSources[] |
Es opcional. Se usa para segmentar DataStores específicos dentro del motor. Si está vacío, la búsqueda se aplica a todos los almacenes de datos asociados con el motor. |
filter |
Es opcional. Es un filtro que se aplica a la búsqueda en el motor. No es relevante y no se usa si se proporciona "data_store_sources". Consulta: https://cloud.google.com/generative-ai-app-builder/docs/filter-search-metadata |
BoostSpecs
| Representación JSON |
|---|
{
"dataStores": [
string
],
"spec": [
{
object ( |
| Campos | |
|---|---|
dataStores[] |
Obligatorio. Es el almacén de datos en el que se aplica la configuración de potenciación. Es el nombre completo del recurso de DataStore, como projects/{project}/locations/{location}/collections/{collection}/dataStores/{dataStore}. |
spec[] |
Obligatorio. Es una lista de especificaciones de potenciación. |
BoostSpec
| Representación JSON |
|---|
{
"conditionBoostSpecs": [
{
object ( |
| Campos | |
|---|---|
conditionBoostSpecs[] |
Obligatorio. Es una lista de especificaciones de potenciación. |
ConditionBoostSpec
| Representación JSON |
|---|
{
"condition": string,
"boost": number,
"boostControlSpec": {
object ( |
| Campos | |
|---|---|
condition |
Obligatorio. Es una expresión que especifica una condición de refuerzo. La sintaxis es la misma que la de la expresión de filtro. Actualmente, la única condición admitida es una lista de códigos de idioma BCP-47. Ejemplo: Para potenciar las sugerencias en los idiomas en o fr: (lang_code: ANY("en", "fr")) |
boost |
Es opcional. Es la intensidad del boosting, que debe estar en el intervalo [-1, 1]. El boosting negativo significa un descenso de nivel. El valor predeterminado es 0.0. Si se establece en 1.0, las sugerencias reciben una gran promoción. Sin embargo, esto no significa necesariamente que el primer resultado será una sugerencia mejorada. Si se establece en -1.0, las sugerencias recibirán un gran descenso. Sin embargo, es posible que se sigan mostrando otras sugerencias pertinentes. Si se establece en 0.0, no se aplica ningún refuerzo. Se ignora la condición de refuerzo. |
boostControlSpec |
Es opcional. Es una especificación compleja para la clasificación personalizada basada en el valor del atributo definido por el cliente. |
BoostControlSpec
| Representación JSON |
|---|
{ "fieldName": string, "attributeType": enum ( |
| Campos | |
|---|---|
fieldName |
Es opcional. Nombre del campo cuyo valor se usará para determinar el importe del aumento. |
attributeType |
Es opcional. Es el tipo de atributo que se usará para determinar el importe del aumento. El valor del atributo se puede derivar del valor del campo field_name especificado. En el caso de los valores numéricos, es sencillo, es decir, attribute_value = numerical_field_value. Sin embargo, en el caso de la actualización, attribute_value = (time.now() - datetime_field_value). |
interpolationType |
Es opcional. Es el tipo de interpolación que se aplicará para conectar los puntos de control que se indican a continuación. |
controlPoints[] |
Es opcional. Son los puntos de control que se usan para definir la curva. La función monotónica (definida a través de interpolation_type más arriba) pasa por los puntos de control que se indican aquí. |
ControlPoint
| Representación JSON |
|---|
{ "attributeValue": string, "boostAmount": number } |
| Campos | |
|---|---|
attributeValue |
Es opcional. Puede ser uno de los siguientes: 1. Es el valor del campo numérico. 2. Es la especificación de duración para la actualización. El valor debe tener el formato de un valor |
boostAmount |
Es opcional. Valor entre -1 y 1 según el cual se aumentará la puntuación si el atributo attribute_value se evalúa como el valor especificado anteriormente. |
ModalityConfig
| Representación JSON |
|---|
{ "modalityType": enum ( |
| Campos | |
|---|---|
modalityType |
Obligatorio. Es el tipo de modalidad. |
rewriterConfig |
Es opcional. Es la configuración del reescritor. |
summarizationConfig |
Es opcional. Es la configuración del resumen. |
groundingConfig |
Es opcional. Es la configuración de fundamentación. |
snippetsConfig |
Es opcional. Es la configuración de los fragmentos. |
RewriterConfig
| Representación JSON |
|---|
{
"modelSettings": {
object ( |
| Campos | |
|---|---|
modelSettings |
Obligatorio. Es la configuración del modelo de LLM. |
prompt |
Es opcional. Es la definición de la instrucción. Si no se establece, se usará la instrucción predeterminada. |
disabled |
Es opcional. Indica si el reescritor está inhabilitado. |
ModelSettings
| Representación JSON |
|---|
{ "model": string, // Union field |
| Campos | |
|---|---|
model |
Es opcional. Es el modelo LLM que debe usar el agente. Si no se configura, el agente heredará el modelo de su agente superior. |
Campo de unión
|
|
temperature |
Es opcional. Si se configura, se usará esta temperatura para el modelo de LLM. La temperatura controla la aleatoriedad de las respuestas del modelo. Las temperaturas más bajas producen respuestas más predecibles. Las temperaturas más altas producen respuestas más creativas. |
SummarizationConfig
| Representación JSON |
|---|
{
"modelSettings": {
object ( |
| Campos | |
|---|---|
modelSettings |
Es opcional. Es la configuración del modelo de LLM. |
prompt |
Es opcional. Es la definición de la instrucción. Si no se establece, se usará la instrucción predeterminada. |
disabled |
Es opcional. Indica si el resumen está inhabilitado. |
GroundingConfig
| Representación JSON |
|---|
{ "groundingLevel": number, "disabled": boolean } |
| Campos | |
|---|---|
groundingLevel |
Es opcional. Es el umbral de fundamentación de la respuesta según las fuentes recuperadas. El valor tiene un rango configurable de [1, 5]. El nivel se usa para establecer un umbral de fundamentación de la respuesta, lo que significa que todas las respuestas con una puntuación de fundamentación inferior al umbral recurrirán a mostrar solo fragmentos pertinentes. Por ejemplo, un nivel de 3 significa que la puntuación de fundamentación debe ser 3 o más para que se muestre la respuesta. |
disabled |
Es opcional. Indica si la fundamentación está inhabilitada. |
SnippetsConfig
| Representación JSON |
|---|
{ "enableSnippets": boolean } |
| Campos | |
|---|---|
enableSnippets |
Es opcional. Indica si los fragmentos están habilitados. |
PythonFunction
| Representación JSON |
|---|
{
"name": string,
"pythonCode": string,
"description": string,
"serviceDirectoryConfig": {
object ( |
| Campos | |
|---|---|
name |
Es opcional. Nombre de la función de Python que se ejecutará. Debe coincidir con un nombre de función de Python definido en el código de Python. Distingue mayúsculas de minúsculas. Si no se proporciona el nombre, se usará la primera función definida en el código de Python. |
pythonCode |
Es opcional. Es el código de Python que se ejecutará para la herramienta. |
description |
Solo salida. Es la descripción de la función de Python, analizada a partir de la cadena de documentación del código de Python. |
serviceDirectoryConfig |
Es opcional. Es la configuración del Directorio de servicios para la herramienta. |
McpTool
| Representación JSON |
|---|
{ "name": string, "nameOverride": string, "description": string, "inputSchema": { object ( |
| Campos | |
|---|---|
name |
Obligatorio. Es el nombre de la herramienta de MCP. |
nameOverride |
Es opcional. Es la anulación del nombre de la herramienta de MCP. Este campo se completa si un reemplazo de Toolset anuló el nombre. |
description |
Es opcional. Es la descripción de la herramienta de MCP. |
inputSchema |
Es opcional. Es el esquema de los argumentos de entrada de la herramienta de MCP. |
outputSchema |
Es opcional. Es el esquema de los argumentos de salida de la herramienta de MCP. |
serverAddress |
Obligatorio. Es la dirección del servidor de MCP, p.ej., "https://example.com/mcp/". Si el servidor se compila con el SDK de MCP, la URL debe tener el sufijo "/mcp/". Solo se admiten servidores basados en el transporte HTTP que se puede transmitir. Es igual a server_address en McpToolset. Consulta https://modelcontextprotocol.io/specification/2025-03-26/basic/transports#streamable-http para obtener más detalles. |
apiAuthentication |
Es opcional. Es la información de autenticación necesaria para ejecutar la herramienta en el servidor de MCP. En el caso de la autenticación con token de portador, el token solo se aplica a la ejecución de herramientas, no a las herramientas de creación de fichas. Esto requiere que las herramientas se puedan enumerar sin autenticación. |
tlsConfig |
Es opcional. Es la configuración de TLS. Incluye los certificados de servidor personalizados en los que el cliente debe confiar. |
serviceDirectoryConfig |
Es opcional. Es la configuración del Directorio de servicios para VPC-SC, que se usa para resolver nombres de servicios dentro de un perímetro. |
customHeaders |
Es opcional. Son los encabezados personalizados que se enviarán en la solicitud al servidor de MCP. Los valores deben tener el formato Un objeto que contiene una lista de pares |
state |
Solo salida. Es el estado de disponibilidad dinámico de la herramienta en el servidor externo. |
CustomHeadersEntry
| Representación JSON |
|---|
{ "key": string, "value": string } |
| Campos | |
|---|---|
key |
|
value |
|
FileSearchTool
| Representación JSON |
|---|
{
"corpusType": enum ( |
| Campos | |
|---|---|
corpusType |
Es opcional. Es el tipo de corpus. El valor predeterminado es FULLY_MANAGED. |
name |
Obligatorio. Es el nombre de la herramienta. |
description |
Es opcional. Es la descripción de la herramienta. |
fileCorpus |
Es opcional. Es el corpus en el que se almacenan los archivos. Formato: projects/{project}/locations/{location}/ragCorpora/{rag_corpus} |
SystemTool
| Representación JSON |
|---|
{ "name": string, "description": string } |
| Campos | |
|---|---|
name |
Obligatorio. Es el nombre de la herramienta del sistema. |
description |
Solo salida. Es la descripción de la herramienta del sistema. |
AgentTool
| Representación JSON |
|---|
{ "name": string, "description": string, "agent": string } |
| Campos | |
|---|---|
name |
Obligatorio. Es el nombre de la herramienta del agente. |
description |
Es opcional. Descripción del propósito de la herramienta. |
agent |
Es opcional. Es el nombre del recurso del agente que es el punto de entrada de la herramienta. Formato: |
WidgetTool
| Representación JSON |
|---|
{ "name": string, "description": string, "widgetType": enum ( |
| Campos | |
|---|---|
name |
Obligatorio. Es el nombre visible de la herramienta del widget. |
description |
Es opcional. Es la descripción de la herramienta del widget. |
widgetType |
Es opcional. Es el tipo de herramienta del widget. Si no se especifica, el tipo predeterminado será CUSTOMIZED. |
uiConfig |
Es opcional. Es la configuración para renderizar el widget. |
dataMapping |
Es opcional. Es la asignación que define cómo se asignan los datos de una herramienta de origen a los parámetros de entrada del widget. |
textResponseConfig |
Es opcional. Es la configuración para las respuestas de texto que siempre se incluyen. |
Campo de unión input. Es la entrada de la herramienta de widget. input puede ser solo uno de los parámetros siguientes: |
|
parameters |
Es opcional. Son los parámetros de entrada de la herramienta de widget. |
DataMapping
| Representación JSON |
|---|
{ "sourceToolName": string, "fieldMappings": { string: string, ... }, "pythonFunction": { object ( |
| Campos | |
|---|---|
sourceToolName |
Es opcional. Es el nombre del recurso de la herramienta que proporciona los datos para el widget (p.ej., una herramienta de búsqueda o una función personalizada). Formato: |
fieldMappings |
Es opcional. Es un mapa de los campos de parámetros de entrada del widget a los campos de salida correspondientes de la herramienta de origen. Un objeto que contiene una lista de pares |
pythonFunction |
Es opcional. Es la configuración de una función de Python que se usa para transformar el resultado de la herramienta fuente en el formato de entrada del widget. |
mode |
Es opcional. Es el modo de la asignación de datos. |
pythonScript |
Obsoleto: Usa |
FieldMappingsEntry
| Representación JSON |
|---|
{ "key": string, "value": string } |
| Campos | |
|---|---|
key |
|
value |
|
TextResponseConfig
| Representación JSON |
|---|
{
"type": enum ( |
| Campos | |
|---|---|
type |
Es opcional. Es la estrategia para proporcionar la respuesta de texto. |
staticText |
Es opcional. Es la respuesta de texto estático que se devolverá cuando el tipo sea STATIC. |
textResponseInstruction |
Es opcional. Instrucción para el LLM sobre cómo generar la respuesta de texto. Se usa como la descripción del parámetro de respuesta de texto si el tipo es LLM_GENERATED. |
RemoteAgentTool
| Representación JSON |
|---|
{
"name": string,
"description": string,
"agentCard": {
object ( |
| Campos | |
|---|---|
name |
Obligatorio. Es el nombre de la herramienta. |
description |
Obligatorio. Es la descripción de la herramienta. |
agentCard |
Obligatorio. Es la tarjeta del agente remoto que invoca esta herramienta. |
AgentCard
| Representación JSON |
|---|
{ "name": string, "description": string, "supportedInterfaces": [ { object ( |
| Campos | |
|---|---|
name |
Obligatorio. Nombre del agente legible por humanos. |
description |
Obligatorio. Es una descripción del dominio de acción o el espacio de soluciones del agente. |
supportedInterfaces[] |
Obligatorio. Lista ordenada de interfaces compatibles. Se prefiere la primera entrada. |
version |
Obligatorio. Es la versión del agente. |
skills[] |
Obligatorio. Las habilidades representan una unidad de capacidad que un agente puede realizar. Esto puede ser algo abstracto, pero representa un conjunto más enfocado de acciones en las que es muy probable que el agente tenga éxito. |
AgentInterface
| Representación JSON |
|---|
{ "url": string, "protocolBinding": string, "tenant": string, "protocolVersion": string } |
| Campos | |
|---|---|
url |
Obligatorio. Es la URL en la que está disponible esta interfaz. Debe ser una URL HTTPS absoluta válida en producción. Ejemplo: "https://api.example.com/a2a/v1", "https://grpc.example.com/a2a" |
protocolBinding |
Obligatorio. Es la vinculación del protocolo admitida en esta URL. Es una cadena de formulario abierto que se puede extender fácilmente para otras vinculaciones de protocolos. Los principales que se admiten oficialmente son |
tenant |
Es el ID de inquilino que se usará en la solicitud cuando se llame al agente. |
protocolVersion |
Obligatorio. Es la versión del protocolo A2A que expone esta interfaz. Usa la versión secundaria compatible más reciente por versión principal. Ejemplos: “0.3”, “1.0” |
AgentSkill
| Representación JSON |
|---|
{ "id": string, "name": string, "description": string, "tags": [ string ], "examples": [ string ], "inputModes": [ string ], "outputModes": [ string ] } |
| Campos | |
|---|---|
id |
Obligatorio. Es un identificador único para la habilidad del agente. |
name |
Obligatorio. Es el nombre de la habilidad legible por humanos. |
description |
Obligatorio. Es una descripción detallada de la habilidad. |
tags[] |
Obligatorio. Es un conjunto de palabras clave que describen las capacidades de la skill. |
examples[] |
Son ejemplos de instrucciones o situaciones que esta habilidad puede controlar. |
inputModes[] |
Es el conjunto de tipos de medios de entrada admitidos para esta habilidad, que anula los valores predeterminados del agente. |
outputModes[] |
Es el conjunto de tipos de medios de salida admitidos para esta habilidad, que anula los valores predeterminados del agente. |
Duración
| Representación JSON |
|---|
{ "seconds": string, "nanos": integer } |
| Campos | |
|---|---|
seconds |
Son los segundos firmados del período. Debe estar comprendido entre -315,576,000,000 y +315,576,000,000, inclusive. Nota: Estos límites se calculan de la siguiente manera: 60 s/min * 60 min/h * 24 h/día * 365.25 días/año * 10,000 años. |
nanos |
Fracciones firmadas de un segundo con una resolución de nanosegundos del período. Las duraciones inferiores a un segundo se representan con un campo |
ToolFakeConfig
| Representación JSON |
|---|
{ "enableFakeMode": boolean, // Union field |
| Campos | |
|---|---|
enableFakeMode |
Es opcional. Indica si la herramienta usa el modo falso. |
Campo de unión tool_response. La respuesta es estática o la proporciona una función de Python. tool_response puede ser solo uno de los parámetros siguientes: |
|
codeBlock |
Es opcional. Es el bloque de código que se ejecutará en lugar de una llamada a la herramienta real. |
CodeBlock
| Representación JSON |
|---|
{ "pythonCode": string } |
| Campos | |
|---|---|
pythonCode |
Obligatorio. Código de Python que se invocará en el modo simulado de la herramienta. Firma de función de Python esperada: Para detectar todas las llamadas a herramientas: def fake_tool_call(tool: Tool, input: dict[str, Any], callback_context: CallbackContext) -> Optional[dict[str, Any]]: Para detectar una llamada a herramienta específica: def fake_{tool_id}(tool: Tool, input: dict[str, Any], callback_context: CallbackContext) -> Optional[dict[str, Any]]: Si la función devuelve None, se invocará la herramienta real. |
Tipo
Son los tipos de datos de OpenAPI.
| Enums | |
|---|---|
TYPE_UNSPECIFIED |
Indica un tipo no especificado. |
STRING |
Tipo de cadena. |
INTEGER |
Es de tipo entero. |
NUMBER |
Es el tipo de número. |
BOOLEAN |
Tipo booleano. |
OBJECT |
Tipo de objeto. |
ARRAY |
Es el tipo de array. |
NullValue
Representa un null de JSON.
NullValue es un centinela que usa un enum con solo un valor para representar el valor nulo de la unión de tipos Value.
Un campo de tipo NullValue con cualquier valor que no sea 0 se considera no válido. La mayoría de los serializadores de ProtoJSON emitirán un Value con un null_value establecido como un null de JSON, independientemente del valor entero, por lo que se realizará un viaje de ida y vuelta a un valor de 0.
| Enums | |
|---|---|
NULL_VALUE |
Valor nulo. |
RequestLocation
Ubicación de la clave de API en la solicitud.
| Enums | |
|---|---|
REQUEST_LOCATION_UNSPECIFIED |
Sin especificar. No se debe usar este valor. |
HEADER |
Representa la clave en el encabezado HTTP. |
QUERY_STRING |
Representa la clave en la cadena de consulta. |
OauthGrantType
Son los tipos de otorgamiento de OAuth. Solo se admite el otorgamiento de credenciales de cliente.
| Enums | |
|---|---|
OAUTH_GRANT_TYPE_UNSPECIFIED |
Sin especificar. El valor predeterminado es CLIENT_CREDENTIAL. |
CLIENT_CREDENTIAL |
Representa el flujo de credenciales de cliente. |
OperationType
Operación que se realizará en la entidad.
| Enums | |
|---|---|
OPERATION_TYPE_UNSPECIFIED |
No se especificó el tipo de operación. No es válido. Fallará la creación o actualización de ConnectorTool. |
LIST |
Operación de lista. |
GET |
Operación de obtención. |
CREATE |
Es la operación de creación. |
UPDATE |
Operación de actualización. |
DELETE |
Operación de eliminación. |
DataStoreType
Es el tipo de almacén de datos.
| Enums | |
|---|---|
DATA_STORE_TYPE_UNSPECIFIED |
No especificado. Este valor indica que no se especificó el tipo de almacén de datos, por lo que no se usará durante la búsqueda. |
PUBLIC_WEB |
Es un almacén de datos que contiene contenido web público. |
UNSTRUCTURED |
Es un almacén de datos que contiene datos privados no estructurados. |
FAQ |
Es un almacén de datos que contiene datos estructurados que se usan como preguntas frecuentes. |
CONNECTOR |
Es un almacén de datos que es un conector a un servicio de origen o de terceros. |
DocumentProcessingMode
Es el modo de procesamiento de documentos del almacén de datos.
| Enums | |
|---|---|
DOCUMENT_PROCESSING_MODE_UNSPECIFIED |
No especificado. |
DOCUMENTS |
Los documentos se procesan como documentos. |
CHUNKS |
Los documentos se convierten en fragmentos. |
AttributeType
Es el atributo(o la función) para el que se aplicará la clasificación personalizada.
| Enums | |
|---|---|
ATTRIBUTE_TYPE_UNSPECIFIED |
AttributeType no especificado. |
NUMERICAL |
El valor del campo numérico se usará para actualizar de forma dinámica el importe del aumento. En este caso, el atributo attribute_value (el valor de X) del punto de control será el valor real del campo numérico para el que se especifica boost_amount. |
FRESHNESS |
En el caso de uso de la actualización, el valor del atributo será la duración entre la hora actual y la fecha especificada en el campo de fecha y hora. El valor debe tener el formato de un valor dayTimeDuration de XSD (un subconjunto restringido de un valor de duración ISO 8601). El patrón para esto es: [nD][T[nH][nM][nS]]. p. ej., 5D, 3DT12H30M, T24H |
InterpolationType
Es el tipo de interpolación que se aplicará. El valor predeterminado será lineal (lineal por partes).
| Enums | |
|---|---|
INTERPOLATION_TYPE_UNSPECIFIED |
No se especificó el tipo de interpolación. En este caso, se establece de forma predeterminada en lineal. |
LINEAR |
Se aplicará la interpolación lineal por partes. |
ModalityType
Es el tipo de modalidad.
| Enums | |
|---|---|
MODALITY_TYPE_UNSPECIFIED |
Tipo de modalidad sin especificar. |
TEXT |
Modalidad de texto. |
AUDIO |
Modalidad de audio. |
FilterParameterBehavior
Comportamiento del parámetro de filtro.
| Enums | |
|---|---|
FILTER_PARAMETER_BEHAVIOR_UNSPECIFIED |
Es el comportamiento predeterminado del filtro. Se incluye el filtro de inclusión para los almacenes de datos del conector. Para el resto de los tipos de almacenes de datos, se omite el parámetro de entrada del filtro. |
ALWAYS_INCLUDE |
Siempre incluye el parámetro de filtro para todos los tipos de almacenes de datos. |
NEVER_INCLUDE |
El parámetro de filtro nunca se incluye en la lista de parámetros de la herramienta, independientemente del tipo de almacén de datos. |
Estado
Representa el estado de disponibilidad dinámico de la herramienta.
| Enums | |
|---|---|
STATE_UNSPECIFIED |
Es el estado predeterminado. |
ACTIVE |
La herramienta está disponible y el servidor la ofrece de forma activa. |
INACTIVE |
La herramienta está configurada o fijada, pero el servidor no la ofrece actualmente. |
STALE |
La herramienta existe en el servidor, pero no coincide con la versión del servidor. |
CorpusType
Es el tipo de corpus de RAG de Vertex.
| Enums | |
|---|---|
CORPUS_TYPE_UNSPECIFIED |
Es un tipo de corpus sin especificar. |
USER_OWNED |
El corpus es creado por el usuario y es de su propiedad. |
FULLY_MANAGED |
El agente crea el corpus. |
WidgetType
Son todos los tipos de widgets disponibles. Es posible que se agreguen valores nuevos a este enum en el futuro.
| Enums | |
|---|---|
WIDGET_TYPE_UNSPECIFIED |
Tipo de widget sin especificar. |
CUSTOM |
Es el tipo de widget personalizado. |
PRODUCT_CAROUSEL |
Es un widget de carrusel de productos. |
PRODUCT_DETAILS |
Es un widget de detalles del producto. |
QUICK_ACTIONS |
Widget de acciones rápidas. |
PRODUCT_COMPARISON |
Es un widget de comparación de productos. |
ADVANCED_PRODUCT_DETAILS |
Es un widget de detalles del producto avanzados. |
SHORT_FORM |
Es un widget de formato corto. |
OVERALL_SATISFACTION |
Widget de satisfacción general |
ORDER_SUMMARY |
Es un widget de resumen del pedido. |
APPOINTMENT_DETAILS |
Widget de detalles de la cita. |
APPOINTMENT_SCHEDULER |
Widget del programador de citas |
CONTACT_FORM |
Widget de formulario de contacto. |
Modo
Es la estrategia que se usa para asignar datos de la herramienta de origen al widget.
| Enums | |
|---|---|
MODE_UNSPECIFIED |
Modo sin especificar. |
FIELD_MAPPING |
Usa el mapa field_mappings para la transformación de datos. |
PYTHON_SCRIPT |
Usa python_script para la transformación de datos. |
Tipo
Define cómo se produce la respuesta de texto.
| Enums | |
|---|---|
TYPE_UNSPECIFIED |
Indica un tipo no especificado. |
NONE |
El LLM decide de forma dinámica si generará una respuesta de texto junto con el widget según el contexto de la conversación. |
LLM_GENERATED |
Se requiere explícitamente que el LLM genere una respuesta de texto. |
STATIC |
Siempre se usa una respuesta de texto estático predefinida. |
ExecutionType
Es el tipo de ejecución de la herramienta o el conjunto de herramientas.
| Enums | |
|---|---|
EXECUTION_TYPE_UNSPECIFIED |
No se especificó el tipo de ejecución. Si no se especifica, el número predeterminado es SYNCHRONOUS. |
SYNCHRONOUS |
La herramienta se ejecuta de forma síncrona. La sesión se bloquea hasta que la herramienta devuelve un resultado. |
ASYNCHRONOUS |
La herramienta se ejecuta de forma asíncrona. La sesión continuará mientras se ejecuta la herramienta. |
Anotaciones de herramientas
Sugerencia destructiva: ✅ | Sugerencia idempotente: ❌ | Sugerencia de solo lectura: ❌ | Sugerencia de mundo abierto: ❌