Herramienta: create_tool
Crea una herramienta nueva en la app especificada.
En el siguiente ejemplo, se muestra cómo usar curl para invocar la herramienta de MCP create_tool.
| Solicitud de Curl |
|---|
curl --location 'https://ces.[REGION].rep.googleapis.com/mcp' \ --header 'content-type: application/json' \ --header 'accept: application/json, text/event-stream' \ --data '{ "method": "tools/call", "params": { "name": "create_tool", "arguments": { // provide these details according to the tool's MCP specification } }, "jsonrpc": "2.0", "id": 1 }' |
Esquema de entrada
Mensaje de solicitud para AgentService.CreateTool.
CreateToolRequest
| Representación JSON |
|---|
{
"parent": string,
"toolId": string,
"tool": {
object ( |
| Campos | |
|---|---|
parent |
Obligatorio. Es el nombre del recurso de la app en la que se creará una herramienta. |
toolId |
Es opcional. Es el ID que se usará para la herramienta, que se convertirá en el componente final del nombre del recurso de la herramienta. Si no se proporciona, se asignará automáticamente un ID único para la herramienta. |
tool |
Obligatorio. Es la herramienta que se creará. |
Herramienta
| Representación JSON |
|---|
{ "name": string, "displayName": string, "executionType": enum ( |
| Campos | |
|---|---|
name |
Es el identificador. Es el identificador único de la herramienta. Formato: -
|
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. |
createTime |
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: |
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 la herramienta la genera el asistente de LLM, 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, sino que se administra a través del conjunto de herramientas de MCP. |
fileSearchTool |
Es opcional. Es la herramienta de búsqueda de archivos. |
systemTool |
Es opcional. Es la herramienta del sistema. |
widgetTool |
Es opcional. La herramienta de widget. |
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 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 apartamento 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 valor nulo. |
numberValue |
Representa un valor doble. |
stringValue |
Representa un valor de cadena. |
boolValue |
Representa un valor booleano. |
structValue |
Representa un valor estructurado. |
listValue |
Representa un |
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. 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: openssl x509 -req -days 200 -in example.com.csr \ -signkey example.com.key \ -out example.com.crt \ -extfile <(printf "\nsubjectAltName='DNS:www.example.com'") Es una cadena codificada en Base64. |
ServiceDirectoryConfig
| Representación JSON |
|---|
{ "service": string } |
| Campos | |
|---|---|
service |
Obligatorio. Es el 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. 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 |
Es opcional. Son las instrucciones 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 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 |
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 la 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. Buscar 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 el siguiente vínculo: 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 y 9999-12-31T23:59:59Z). |
nanos |
Fracciones no negativas de un segundo a una resolución de nanosegundos. Este campo es la parte de la duración en nanosegundos, 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 todo el motor. No es relevante y no se usa si se proporciona "data_store_sources". Consulta el siguiente vínculo: 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 rango [-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 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. |
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 de LLM que debe usar el agente. Si no se configura, el agente heredará el modelo de su agente principal. |
Campo de unión
|
|
temperature |
Es opcional. Si se configura, se usará esta temperatura para el modelo 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 la generación de resúmenes está inhabilitada. |
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 devolver 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 devuelva la respuesta. |
disabled |
Es opcional. Indica si la fundamentación está inhabilitada. |
PythonFunction
| Representación JSON |
|---|
{ "name": string, "pythonCode": string, "description": string } |
| 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. |
McpTool
| Representación JSON |
|---|
{ "name": string, "description": string, "inputSchema": { object ( |
| Campos | |
|---|---|
name |
Obligatorio. Es el nombre de la herramienta de MCP. |
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. 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 la herramienta, 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 de Directorio de servicios para VPC-SC, que se usa para resolver nombres de servicios dentro de un perímetro. |
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. |
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. |
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. |
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 falso 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. |
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 identificador único de la herramienta. Formato: -
|
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. |
createTime |
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: |
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 la herramienta la genera el asistente de LLM, 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, sino que se administra a través del conjunto de herramientas de MCP. |
fileSearchTool |
Es opcional. Es la herramienta de búsqueda de archivos. |
systemTool |
Es opcional. Es la herramienta del sistema. |
widgetTool |
Es opcional. La herramienta de widget. |
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 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 apartamento 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 valor nulo. |
numberValue |
Representa un valor doble. |
stringValue |
Representa un valor de cadena. |
boolValue |
Representa un valor booleano. |
structValue |
Representa un valor estructurado. |
listValue |
Representa un |
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. 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: openssl x509 -req -days 200 -in example.com.csr \ -signkey example.com.key \ -out example.com.crt \ -extfile <(printf "\nsubjectAltName='DNS:www.example.com'") Es una cadena codificada en Base64. |
ServiceDirectoryConfig
| Representación JSON |
|---|
{ "service": string } |
| Campos | |
|---|---|
service |
Obligatorio. Es el 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. 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 |
Es opcional. Son las instrucciones 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 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 |
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 la 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. Buscar 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 el siguiente vínculo: 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 y 9999-12-31T23:59:59Z). |
nanos |
Fracciones no negativas de un segundo a una resolución de nanosegundos. Este campo es la parte de la duración en nanosegundos, 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 todo el motor. No es relevante y no se usa si se proporciona "data_store_sources". Consulta el siguiente vínculo: 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 rango [-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 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. |
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 de LLM que debe usar el agente. Si no se configura, el agente heredará el modelo de su agente principal. |
Campo de unión
|
|
temperature |
Es opcional. Si se configura, se usará esta temperatura para el modelo 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 la generación de resúmenes está inhabilitada. |
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 devolver 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 devuelva la respuesta. |
disabled |
Es opcional. Indica si la fundamentación está inhabilitada. |
PythonFunction
| Representación JSON |
|---|
{ "name": string, "pythonCode": string, "description": string } |
| 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. |
McpTool
| Representación JSON |
|---|
{ "name": string, "description": string, "inputSchema": { object ( |
| Campos | |
|---|---|
name |
Obligatorio. Es el nombre de la herramienta de MCP. |
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. 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 la herramienta, 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 de Directorio de servicios para VPC-SC, que se usa para resolver nombres de servicios dentro de un perímetro. |
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. |
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. |
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. |
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 falso 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. |
Anotaciones de herramientas
Sugerencia destructiva: ✅ | Sugerencia idempotente: ❌ | Sugerencia de solo lectura: ❌ | Sugerencia de mundo abierto: ❌