REST Resource: projects.locations.apps.tools

Recurso: Tool

Una herramienta representa una acción que el agente de CES puede realizar para alcanzar ciertos objetivos.

Representación 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.
}
Campos
name

string

Es el identificador. Es el nombre del recurso de la herramienta. Formato:

  • projects/{project}/locations/{location}/apps/{app}/tools/{tool} para herramientas independientes
  • projects/{project}/locations/{location}/apps/{app}/toolsets/{toolset}/tools/{tool} para las herramientas recuperadas de un conjunto de herramientas

Estas herramientas son dinámicas y solo de salida; no se pueden hacer referencia directamente a ellas donde se espera una herramienta.

displayName

string

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

executionType

enum (ExecutionType)

Es opcional. Es el tipo de ejecución de la herramienta.

timeout

string (Duration format)

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 SYNCHRONOUS y de 60 segundos para las herramientas de ASYNCHRONOUS.

Una duración en segundos con hasta nueve dígitos decimales, que terminan en “s”. Ejemplo: "3.5s".

createTime

string (Timestamp format)

Solo salida. Es la marca de tiempo de la creació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: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" o "2014-10-02T15:01:23+05:30".

updateTime

string (Timestamp format)

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

etag

string

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

string

Solo salida. Si la herramienta la genera el asistente de LLM, este campo contiene un resumen descriptivo de la generación.

toolFakeConfig

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

object (ClientFunction)

Es opcional. Es la función del cliente.

openApiTool

object (OpenApiTool)

Es opcional. Es la herramienta de API abierta.

googleSearchTool

object (GoogleSearchTool)

Es opcional. Es la herramienta de Búsqueda de Google.

connectorTool

object (ConnectorTool)

Es opcional. La herramienta Integration Connector

dataStoreTool

object (DataStoreTool)

Es opcional. Es la herramienta de almacén de datos.

pythonFunction

object (PythonFunction)

Es opcional. Es la herramienta de función de Python.

mcpTool

object (McpTool)

Es opcional. Es la herramienta del MCP. Una herramienta de MCP no se puede crear ni actualizar directamente, y se administra con el conjunto de herramientas de MCP.

fileSearchTool

object (FileSearchTool)

Es opcional. Es la herramienta de búsqueda de archivos.

systemTool

object (SystemTool)

Es opcional. Es la herramienta del sistema.

agentTool

object (AgentTool)

Es opcional. Es la herramienta del agente.

widgetTool

object (WidgetTool)

Es opcional. La herramienta de widget.

remoteAgentTool

object (RemoteAgentTool)

Es opcional. Herramienta de agente remoto.

ClientFunction

Representa una función del cliente que el agente puede invocar. Cuando el agente elige la herramienta, el control se transfiere al cliente. El cliente es responsable de ejecutar la función y devolver el resultado como un ToolResponse para continuar la interacción con el agente.

Representación JSON
{
  "name": string,
  "description": string,
  "parameters": {
    object (Schema)
  },
  "response": {
    object (Schema)
  }
}
Campos
name

string

Obligatorio. Es el nombre de la función.

description

string

Es opcional. Es la descripción de la función.

parameters

object (Schema)

Es opcional. Es el esquema de los parámetros de la función.

response

object (Schema)

Es opcional. Es el esquema de la respuesta de la función.

OpenApiTool

Es una herramienta de API remota definida por un esquema de OpenAPI.

Representación JSON
{
  "openApiSchema": string,
  "name": string,
  "description": string,
  "apiAuthentication": {
    object (ApiAuthentication)
  },
  "tlsConfig": {
    object (TlsConfig)
  },
  "serviceDirectoryConfig": {
    object (ServiceDirectoryConfig)
  },
  "ignoreUnknownFields": boolean,
  "url": string
}
Campos
openApiSchema

string

Obligatorio. Esquema de OpenAPI en formato JSON o YAML

name

string

Es opcional. Es el nombre de la herramienta. Si no se proporciona, el nombre de la herramienta se derivará del esquema de OpenAPI, desde operation.operationId.

description

string

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 operation.description o operation.summary.

apiAuthentication

object (ApiAuthentication)

Es opcional. Es la información de autenticación que requiere la API.

tlsConfig

object (TlsConfig)

Es opcional. Es la configuración de TLS. Incluye los certificados de servidor personalizados en los que confiará el cliente.

serviceDirectoryConfig

object (ServiceDirectoryConfig)

Es opcional. Es la configuración del Directorio de servicios.

ignoreUnknownFields

boolean

Es opcional. Si es verdadero, el agente ignorará los campos desconocidos en la respuesta de la API.

url

string

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.

GoogleSearchTool

Representa una herramienta para realizar búsquedas web en Google y fundamentar las respuestas. Consulta https://cloud.google.com/customer-engagement-ai/conversational-agents/ps/tool#google-search.

Representación JSON
{
  "name": string,
  "description": string,
  "contextUrls": [
    string
  ],
  "preferredDomains": [
    string
  ],
  "excludeDomains": [
    string
  ],
  "promptConfig": {
    object (GoogleSearchTool.PromptConfig)
  }
}
Campos
name

string

Obligatorio. Es el nombre de la herramienta.

description

string

Es opcional. Es la descripción del propósito de la herramienta.

contextUrls[]

string

Es opcional. El contenido se recuperará directamente de estas URLs para proporcionar contexto y fundamentación. Ejemplo: "https://example.com/path.html". Se permite un máximo de 20 URLs.

preferredDomains[]

string

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

string

Es opcional. Es la 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

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

GoogleSearchTool.PromptConfig

Es la configuración de instrucciones que usa el modelo cuando procesa o resume los resultados de la Búsqueda de Google.

Representación JSON
{
  "textPrompt": string,
  "voicePrompt": string
}
Campos
textPrompt

string

Es opcional. Define la instrucción utilizada 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

string

Es opcional. Define la instrucción utilizada 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

Un ConnectorTool permite conexiones a diferentes integraciones. Consulta: https://cloud.google.com/integration-connectors/docs/overview.

Representación JSON
{
  "connection": string,
  "action": {
    object (Action)
  },
  "authConfig": {
    object (EndUserAuthConfig)
  },
  "name": string,
  "description": string
}
Campos
connection

string

Obligatorio. Es el nombre completo del recurso de la conexión de Integration Connectors a la que se hace referencia. Formato: projects/{project}/locations/{location}/connections/{connection}

action

object (Action)

Obligatorio. Es la acción que debe realizar la herramienta.

authConfig

object (EndUserAuthConfig)

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 a 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

string

Es opcional. Es el nombre de la herramienta que puede usar el agente para decidir si llama a este ConnectorTool.

description

string

Es opcional. Es la descripción de la herramienta que puede usar el agente para decidir si debe llamar a este ConnectorTool.

DataStoreTool

Es una herramienta para recuperar datos del almacén de datos o del motor de Vertex AI Search para la fundamentación. Acepta un almacén de datos o un motor, pero no ambos. Consulta Vertex AI Search: https://cloud.google.com/generative-ai-app-builder/docs/enterprise-search-introduction.

Representación 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.
}
Campos
name

string

Obligatorio. Es el nombre de la herramienta del almacén de datos.

description

string

Es opcional. Es la descripción de la herramienta.

boostSpecs[]

object (DataStoreTool.BoostSpecs)

Es opcional. Es la especificación de refuerzo para reforzar ciertos documentos.

modalityConfigs[]

object (DataStoreTool.ModalityConfig)

Es opcional. Es la configuración de modalidad del almacén de datos.

filterParameterBehavior

enum (DataStoreTool.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

object (DataStoreTool.DataStoreSource)

Es opcional. Realiza búsquedas en un solo DataStore específico.

engineSource

object (DataStoreTool.EngineSource)

Es opcional. Realiza búsquedas dentro de un motor (potencialmente en varios almacenes de datos).

DataStoreTool.DataStoreSource

Es la configuración para buscar dentro de un DataStore específico.

Representación JSON
{
  "filter": string,
  "dataStore": {
    object (DataStore)
  }
}
Campos
filter

string

Es opcional. Es la especificación del filtro para el DataStore. Consulta el siguiente vínculo: https://cloud.google.com/generative-ai-app-builder/docs/filter-search-metadata

dataStore

object (DataStore)

Es opcional. Es el almacén de datos.

DataStore

Es un recurso de DataStore en Vertex AI Search.

Representación JSON
{
  "name": string,
  "type": enum (DataStore.DataStoreType),
  "documentProcessingMode": enum (DataStore.DocumentProcessingMode),
  "displayName": string,
  "createTime": string,
  "connectorConfig": {
    object (DataStore.ConnectorConfig)
  }
}
Campos
name

string

Obligatorio. Es el nombre completo del recurso de DataStore. Formato: projects/{project}/locations/{location}/collections/{collection}/dataStores/{dataStore}

type

enum (DataStore.DataStoreType)

Solo salida. Es el tipo de almacén de datos. Este campo es de solo lectura y el servidor lo completa.

documentProcessingMode

enum (DataStore.DocumentProcessingMode)

Solo salida. 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

string

Solo salida. Es el nombre visible del almacén de datos.

createTime

string (Timestamp format)

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

connectorConfig

object (DataStore.ConnectorConfig)

Solo salida. Es la configuración del conector para la conexión del almacén de datos.

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

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

DataStore.ConnectorConfig

Es la configuración del conector para la conexión del almacén de datos.

Representación JSON
{
  "collection": string,
  "collectionDisplayName": string,
  "dataSource": string
}
Campos
collection

string

Es el nombre del recurso de la colección a la que pertenece el almacén de datos.

collectionDisplayName

string

Es el nombre visible de la colección a la que pertenece el almacén de datos.

dataSource

string

Es el nombre de la fuente de datos. Ejemplo: salesforce, jira, confluence, bigquery.

DataStoreTool.EngineSource

Es la configuración para buscar dentro de un motor, que puede segmentarse para DataStores específicos.

Representación JSON
{
  "engine": string,
  "dataStoreSources": [
    {
      object (DataStoreTool.DataStoreSource)
    }
  ],
  "filter": string
}
Campos
engine

string

Obligatorio. Es el nombre completo del recurso del motor. Formato: projects/{project}/locations/{location}/collections/{collection}/engines/{engine}

dataStoreSources[]

object (DataStoreTool.DataStoreSource)

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

string

Es opcional. Es un filtro que se aplica a la búsqueda en todo el motor. No es relevante y no se usa si se proporciona "dataStoreSources". Consulta el siguiente vínculo: https://cloud.google.com/generative-ai-app-builder/docs/filter-search-metadata

DataStoreTool.BoostSpecs

Mejora las especificaciones para destacar ciertos documentos. Para obtener más información, consulta https://cloud.google.com/generative-ai-app-builder/docs/boosting.

Representación JSON
{
  "dataStores": [
    string
  ],
  "spec": [
    {
      object (DataStoreTool.BoostSpec)
    }
  ]
}
Campos
dataStores[]

string

Obligatorio. Es el almacén de datos en el que se aplica la configuración de refuerzo. Es el nombre completo del recurso de DataStore, como projects/{project}/locations/{location}/collections/{collection}/dataStores/{dataStore}.

spec[]

object (DataStoreTool.BoostSpec)

Obligatorio. Es una lista de especificaciones de potenciadores.

DataStoreTool.BoostSpec

Es la especificación de refuerzo para reforzar ciertos documentos.

Representación JSON
{
  "conditionBoostSpecs": [
    {
      object (DataStoreTool.BoostSpec.ConditionBoostSpec)
    }
  ]
}
Campos
conditionBoostSpecs[]

object (DataStoreTool.BoostSpec.ConditionBoostSpec)

Obligatorio. Es una lista de especificaciones de potenciadores.

DataStoreTool.BoostSpec.ConditionBoostSpec

Es la especificación de refuerzo para una condición.

Representación JSON
{
  "condition": string,
  "boost": number,
  "boostControlSpec": {
    object (DataStoreTool.BoostSpec.ConditionBoostSpec.BoostControlSpec)
  }
}
Campos
condition

string

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

number

Es opcional. Es la intensidad del refuerzo, 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 recibirán una gran promoción. Sin embargo, esto no significa necesariamente que el primer resultado será una sugerencia con boosting.

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 aumento. Se ignora la condición de refuerzo.

boostControlSpec

object (DataStoreTool.BoostSpec.ConditionBoostSpec.BoostControlSpec)

Es opcional. Es una especificación compleja para la clasificación personalizada basada en el valor del atributo definido por el cliente.

DataStoreTool.BoostSpec.ConditionBoostSpec.BoostControlSpec

Es la especificación de la clasificación personalizada basada en el valor del atributo especificado por el cliente. Proporciona más controles para la clasificación personalizada que la combinación simple (condición, refuerzo) anterior.

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

string

Es opcional. Nombre del campo cuyo valor se usará para determinar el importe del aumento.

attributeType

enum (DataStoreTool.BoostSpec.ConditionBoostSpec.BoostControlSpec.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 del campo fieldName especificado. En el caso de los valores numéricos, es sencillo, es decir, attributeValue = numerical_field_value. Sin embargo, en el caso de la actualización, attributeValue = (time.now() - datetime_field_value).

interpolationType

enum (DataStoreTool.BoostSpec.ConditionBoostSpec.BoostControlSpec.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[]

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

Es opcional. Son los puntos de control que se usan para definir la curva. La función monotónica (definida a través de interpolationType más arriba) pasa por los puntos de control que se indican aquí.

DataStoreTool.BoostSpec.ConditionBoostSpec.BoostControlSpec.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 attributeValue (el valor de X) del punto de control será el valor real del campo numérico para el que se especifica boostAmount.
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

DataStoreTool.BoostSpec.ConditionBoostSpec.BoostControlSpec.InterpolationType

Es el tipo de interpolación que se aplicará. El valor predeterminado será lineal (lineal por tramos).

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.

DataStoreTool.BoostSpec.ConditionBoostSpec.BoostControlSpec.ControlPoint

Son los puntos de control que se usan para definir la curva. La curva definida a través de estos puntos de control solo puede aumentar o disminuir de forma monotónica(se aceptan valores constantes).

Representación JSON
{
  "attributeValue": string,
  "boostAmount": number
}
Campos
attributeValue

string

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

boostAmount

number

Es opcional. Valor entre -1 y 1 según el cual se aumentará la puntuación si attributeValue se evalúa como el valor especificado anteriormente.

DataStoreTool.ModalityConfig

Si se especifica, se aplicará la configuración determinada para la modalidad especificada.

Representación JSON
{
  "modalityType": enum (DataStoreTool.ModalityConfig.ModalityType),
  "rewriterConfig": {
    object (DataStoreTool.RewriterConfig)
  },
  "summarizationConfig": {
    object (DataStoreTool.SummarizationConfig)
  },
  "groundingConfig": {
    object (DataStoreTool.GroundingConfig)
  }
}
Campos
modalityType

enum (DataStoreTool.ModalityConfig.ModalityType)

Obligatorio. Es el tipo de modalidad.

rewriterConfig

object (DataStoreTool.RewriterConfig)

Es opcional. Es la configuración del reescritor.

summarizationConfig

object (DataStoreTool.SummarizationConfig)

Es opcional. Es la configuración del resumen.

groundingConfig

object (DataStoreTool.GroundingConfig)

Es opcional. Es la configuración de fundamentación.

DataStoreTool.ModalityConfig.ModalityType

Es el tipo de modalidad.

Enums
MODALITY_TYPE_UNSPECIFIED Tipo de modalidad sin especificar.
TEXT Modalidad de texto.
AUDIO Modalidad de audio.

DataStoreTool.RewriterConfig

Es la configuración del reescritor.

Representación JSON
{
  "modelSettings": {
    object (ModelSettings)
  },
  "prompt": string,
  "disabled": boolean
}
Campos
modelSettings

object (ModelSettings)

Obligatorio. Es la configuración del modelo LLM.

prompt

string

Es opcional. Es la definición de la instrucción. Si no se establece, se usará la instrucción predeterminada.

disabled

boolean

Es opcional. Indica si el reescritor está inhabilitado.

DataStoreTool.SummarizationConfig

Es la configuración del resumen.

Representación JSON
{
  "modelSettings": {
    object (ModelSettings)
  },
  "prompt": string,
  "disabled": boolean
}
Campos
modelSettings

object (ModelSettings)

Es opcional. Es la configuración del modelo LLM.

prompt

string

Es opcional. Es la definición de la instrucción. Si no se establece, se usará la instrucción predeterminada.

disabled

boolean

Es opcional. Indica si el resumen está inhabilitado.

DataStoreTool.GroundingConfig

Es la configuración de fundamentación.

Representación JSON
{
  "groundingLevel": number,
  "disabled": boolean
}
Campos
groundingLevel

number

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

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

boolean

Es opcional. Indica si la fundamentación está inhabilitada.

DataStoreTool.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 almacén 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.

PythonFunction

Es una herramienta de función de Python.

Representación JSON
{
  "name": string,
  "pythonCode": string,
  "description": string,
  "serviceDirectoryConfig": {
    object (ServiceDirectoryConfig)
  }
}
Campos
name

string

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

string

Es opcional. Es el código de Python que se ejecutará para la herramienta.

description

string

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

object (ServiceDirectoryConfig)

Es opcional. Es la configuración del Directorio de servicios para la herramienta.

McpTool

Es una herramienta de MCP. Consulta https://modelcontextprotocol.io/specification/2025-06-18/server/tools para obtener más detalles.

Representación 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)
}
Campos
name

string

Obligatorio. Es el nombre de la herramienta de MCP.

nameOverride

string

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

string

Es opcional. Es la descripción de la herramienta de MCP.

inputSchema

object (Schema)

Es opcional. Es el esquema de los argumentos de entrada de la herramienta de MCP.

outputSchema

object (Schema)

Es opcional. Esquema de los argumentos de salida de la herramienta de MCP.

serverAddress

string

Obligatorio. Es la dirección del servidor de MCP, p.ej., "https://example.com/mcp/". Si el servidor se compila con el SDK del MCP, la URL debe tener el sufijo "/mcp/". Solo se admiten servidores basados en el transporte HTTP que se puede transmitir. Es igual a serverAddress en McpToolset. Consulta https://modelcontextprotocol.io/specification/2025-03-26/basic/transports#streamable-http para obtener más detalles.

apiAuthentication

object (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 la herramienta, no a las herramientas de creación de fichas. Esto requiere que las herramientas se puedan enumerar sin autenticación.

tlsConfig

object (TlsConfig)

Es opcional. Es la configuración de TLS. Incluye los certificados de servidor personalizados en los que el cliente debe confiar.

serviceDirectoryConfig

object (ServiceDirectoryConfig)

Es opcional. Configuración de Directorio de servicios para VPC-SC, que se usa para resolver nombres de servicios dentro de un perímetro.

customHeaders

map (key: string, value: string)

Es opcional. Son los encabezados personalizados que se enviarán en la solicitud al servidor de MCP. Los valores deben tener el formato $context.variables.<name_of_variable> y se pueden establecer en las variables de sesión. Consulta https://docs.cloud.google.com/customer-engagement-ai/conversational-agents/ps/tool/open-api#openapi-injection para obtener más detalles.

Un objeto que contiene una lista de pares "key": value. Ejemplo: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

state

enum (McpTool.State)

Solo salida. Es el estado de disponibilidad dinámico de la herramienta en el servidor externo.

McpTool.State

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.

FileSearchTool

La herramienta de búsqueda de archivos permite que el agente busque en los archivos que subió el desarrollador de la app o el agente. Tiene parámetros de configuración predeterminados para ofrecer una búsqueda de calidad relativamente buena en los archivos subidos y un resumen de los resultados recuperados.

Representación JSON
{
  "corpusType": enum (FileSearchTool.CorpusType),
  "name": string,
  "description": string,
  "fileCorpus": string
}
Campos
corpusType

enum (FileSearchTool.CorpusType)

Es opcional. Es el tipo de corpus. El valor predeterminado es FULLY_MANAGED.

name

string

Obligatorio. Es el nombre de la herramienta.

description

string

Es opcional. Es la descripción de la herramienta.

fileCorpus

string

Es opcional. Es el corpus en el que se almacenan los archivos. Formato: projects/{project}/locations/{location}/ragCorpora/{rag_corpus}

FileSearchTool.CorpusType

Es el tipo de corpus de RAG de Vertex.

Enums
CORPUS_TYPE_UNSPECIFIED Tipo de corpus sin especificar.
USER_OWNED El corpus es creado y propiedad del usuario.
FULLY_MANAGED El agente crea el corpus.

SystemTool

Es una herramienta del sistema predefinida.

Representación JSON
{
  "name": string,
  "description": string
}
Campos
name

string

Obligatorio. Es el nombre de la herramienta del sistema.

description

string

Solo salida. Es la descripción de la herramienta del sistema.

AgentTool

Representa una herramienta que permite que el agente llame a otro agente.

Representación JSON
{
  "name": string,
  "description": string,
  "rootAgent": string,
  "agent": string
}
Campos
name

string

Obligatorio. Es el nombre de la herramienta del agente.

description

string

Es opcional. Es la descripción del propósito de la herramienta.

rootAgent
(deprecated)

string

Es opcional. Obsoleto: Usa agent en su lugar. Es el nombre del recurso del agente raíz que es el punto de entrada de la herramienta. Formato: projects/{project}/locations/{location}/agents/{agent}

agent

string

Es opcional. Es el nombre del recurso del agente que es el punto de entrada de la herramienta. Formato: projects/{project}/locations/{location}/agents/{agent}

WidgetTool

Representa una herramienta de widget que el agente puede invocar. Cuando el agente elige la herramienta, devuelve el widget al cliente. El cliente es responsable de procesar el widget y generar la siguiente consulta del usuario para continuar la interacción con el agente.

Representación 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.
}
Campos
name

string

Obligatorio. Es el nombre visible de la herramienta del widget.

description

string

Es opcional. Es la descripción de la herramienta del widget.

widgetType

enum (WidgetTool.WidgetType)

Es opcional. Es el tipo de herramienta del widget. Si no se especifica, el tipo predeterminado será CUSTOMIZED.

uiConfig

object (Struct format)

Es opcional. Es la configuración para renderizar el widget.

dataMapping

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

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

object (Schema)

Es opcional. Son los parámetros de entrada de la herramienta de widget.

WidgetTool.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 Es un tipo de widget sin especificar.
CUSTOM Es el tipo de widget personalizado.
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 Widget de Shorts.
OVERALL_SATISFACTION Es un widget de satisfacción general.
ORDER_SUMMARY Widget de resumen del pedido.
APPOINTMENT_DETAILS Widget de detalles de la cita.
APPOINTMENT_SCHEDULER Widget de agenda de citas.
CONTACT_FORM Es un widget de formulario de contacto.

WidgetTool.DataMapping

Es la configuración para asignar datos de una herramienta de origen a los parámetros de entrada del widget.

Representación JSON
{
  "sourceToolName": string,
  "fieldMappings": {
    string: string,
    ...
  },
  "pythonFunction": {
    object (PythonFunction)
  },
  "mode": enum (WidgetTool.DataMapping.Mode),
  "pythonScript": string
}
Campos
sourceToolName

string

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

fieldMappings

map (key: string, value: string)

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

pythonFunction

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

enum (WidgetTool.DataMapping.Mode)

Es opcional. Es el modo de la asignación de datos.

pythonScript
(deprecated)

string

Obsoleto: Usa pythonFunction en su lugar.

WidgetTool.DataMapping.Mode

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 fieldMappings para la transformación de datos.
PYTHON_SCRIPT Usa pythonScript para la transformación de datos.

WidgetTool.TextResponseConfig

Es la configuración de la respuesta de texto que se muestra con el widget.

Representación JSON
{
  "type": enum (WidgetTool.TextResponseConfig.Type),
  "staticText": string,
  "textResponseInstruction": string
}
Campos
type

enum (WidgetTool.TextResponseConfig.Type)

Es opcional. Es la estrategia para proporcionar la respuesta de texto.

staticText

string

Es opcional. Es la respuesta de texto estático que se devolverá cuando el tipo sea STATIC.

textResponseInstruction

string

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.

WidgetTool.TextResponseConfig.Type

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.

RemoteAgentTool

Representa una herramienta que permite al agente llamar a otro agente remoto.

Representación JSON
{
  "name": string,
  "description": string,
  "agentCard": {
    object (AgentCard)
  }
}
Campos
name

string

Obligatorio. Es el nombre de la herramienta.

description

string

Obligatorio. Es la descripción de la herramienta.

agentCard

object (AgentCard)

Obligatorio. Es la tarjeta del agente remoto que invoca esta herramienta.

AgentCard

AgentCard transmite información clave sobre un agente remoto. Es una versión reducida de la AgentCard definida en el protocolo A2A https://a2a-protocol.org/dev/specification/#441-agentcard.

Representación JSON
{
  "name": string,
  "description": string,
  "supportedInterfaces": [
    {
      object (AgentInterface)
    }
  ],
  "version": string,
  "skills": [
    {
      object (AgentSkill)
    }
  ]
}
Campos
name

string

Obligatorio. Nombre del agente legible por humanos.

description

string

Obligatorio. Es una descripción del dominio de acción o el espacio de solución del agente.

supportedInterfaces[]

object (AgentInterface)

Obligatorio. Lista ordenada de interfaces compatibles. Se prefiere la primera entrada.

version

string

Obligatorio. Es la versión del agente.

skills[]

object (AgentSkill)

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

Declara una combinación de una URL de destino, un transporte y una versión de protocolo para interactuar con el agente. Esto permite que los agentes expongan la misma funcionalidad a través de varios mecanismos de vinculación de protocolos.

Representación JSON
{
  "url": string,
  "protocolBinding": string,
  "tenant": string,
  "protocolVersion": string
}
Campos
url

string

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

string

Obligatorio. Es la vinculación del protocolo que se admite 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 JSONRPC, GRPC y HTTP+JSON.

tenant

string

Es el ID del arrendatario que se usará en la solicitud cuando se llame al agente.

protocolVersion

string

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

Representa una capacidad o función distinta que puede realizar un agente.

Representación JSON
{
  "id": string,
  "name": string,
  "description": string,
  "tags": [
    string
  ],
  "examples": [
    string
  ],
  "inputModes": [
    string
  ],
  "outputModes": [
    string
  ]
}
Campos
id

string

Obligatorio. Es un identificador único para la habilidad del agente.

name

string

Obligatorio. Es el nombre legible de la habilidad.

description

string

Obligatorio. Es una descripción detallada de la habilidad.

tags[]

string

Obligatorio. Es un conjunto de palabras clave que describen las capacidades de la skill.

examples[]

string

Ejemplos de instrucciones o situaciones que esta habilidad puede controlar.

inputModes[]

string

Es el conjunto de tipos de medios de entrada admitidos para esta habilidad, que anula los valores predeterminados del agente.

outputModes[]

string

Es el conjunto de tipos de medios de salida admitidos para esta habilidad, que anula los valores predeterminados del agente.

Métodos

create

Crea una herramienta nueva en la app especificada.

delete

Borra la herramienta especificada.

get

Obtiene detalles de la herramienta especificada.

list

Enumera las herramientas de la app especificada.

patch

Actualiza la herramienta especificada.