REST Resource: projects.locations.apps.tools

Recurso: ferramenta

Uma ferramenta representa uma ação que o agente do CES pode realizar para alcançar determinadas metas.

Representação 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

Identificador. O nome do recurso da ferramenta. Formato:

  • projects/{project}/locations/{location}/apps/{app}/tools/{tool} para ferramentas independentes.
  • projects/{project}/locations/{location}/apps/{app}/toolsets/{toolset}/tools/{tool} para ferramentas recuperadas de um conjunto de ferramentas.

Essas ferramentas são dinâmicas e somente de saída. Elas não podem ser referenciadas diretamente onde uma ferramenta é esperada.

displayName

string

Apenas saída. O nome de exibição da ferramenta, derivado com base no tipo dela. Por exemplo, o nome de exibição de uma [ClientFunction][Tool.ClientFunction] é derivado da propriedade name.

executionType

enum (ExecutionType)

Opcional. O tipo de execução da ferramenta.

timeout

string (Duration format)

Opcional. O tempo limite para a execução da ferramenta. Se não for definido, o tempo limite padrão será de 30 segundos para ferramentas SYNCHRONOUS e 60 segundos para ferramentas ASYNCHRONOUS.

Duração em segundos com até nove dígitos fracionários, terminando em "s". Exemplo: "3.5s".

createTime

string (Timestamp format)

Apenas saída. Carimbo de data/hora em que a ferramenta foi criada.

Usa o padrão RFC 3339, em que a saída gerada é sempre convertida em Z e tem 0, 3, 6 ou 9 dígitos fracionários. Além de Z, outros ajustes também são aceitos. Exemplos: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" ou "2014-10-02T15:01:23+05:30".

updateTime

string (Timestamp format)

Apenas saída. Carimbo de data/hora da última atualização da ferramenta.

Usa o padrão RFC 3339, em que a saída gerada é sempre convertida em Z e tem 0, 3, 6 ou 9 dígitos fracionários. Além de Z, outros ajustes também são aceitos. Exemplos: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" ou "2014-10-02T15:01:23+05:30".

etag

string

Etag usada para garantir que o objeto não foi alterado durante uma operação de leitura-modificação-gravação. Se a ETag estiver vazia, a atualização vai substituir todas as mudanças simultâneas.

generatedSummary

string

Apenas saída. Se a ferramenta for gerada pelo assistente de LLM, esse campo vai conter um resumo descritivo da geração.

toolFakeConfig

object (ToolFakeConfig)

Opcional. Configuração para o comportamento da ferramenta no modo simulado.

Campo de união tool_type. O tipo da ferramenta. tool_type pode ser apenas de um dos tipos a seguir:
clientFunction

object (ClientFunction)

Opcional. A função do cliente.

openApiTool

object (OpenApiTool)

Opcional. A ferramenta de API aberta.

googleSearchTool

object (GoogleSearchTool)

Opcional. A ferramenta de pesquisa do Google.

connectorTool

object (ConnectorTool)

Opcional. A ferramenta Integration Connectors.

dataStoreTool

object (DataStoreTool)

Opcional. A ferramenta de repositório de dados.

pythonFunction

object (PythonFunction)

Opcional. A ferramenta de função Python.

mcpTool

object (McpTool)

Opcional. A ferramenta MCP. Uma ferramenta do MCP não pode ser criada ou atualizada diretamente e é gerenciada pelo conjunto de ferramentas do MCP.

fileSearchTool

object (FileSearchTool)

Opcional. A ferramenta de pesquisa de arquivos.

systemTool

object (SystemTool)

Opcional. A ferramenta do sistema.

agentTool

object (AgentTool)

Opcional. A ferramenta do agente.

widgetTool

object (WidgetTool)

Opcional. A ferramenta de widget.

remoteAgentTool

object (RemoteAgentTool)

Opcional. A ferramenta de agente remoto.

ClientFunction

Representa uma função do lado do cliente que o agente pode invocar. Quando a ferramenta é escolhida pelo agente, o controle é transferido para o cliente. O cliente é responsável por executar a função e retornar o resultado como um ToolResponse para continuar a interação com o agente.

Representação JSON
{
  "name": string,
  "description": string,
  "parameters": {
    object (Schema)
  },
  "response": {
    object (Schema)
  }
}
Campos
name

string

Obrigatório. O nome da função.

description

string

Opcional. A descrição da função.

parameters

object (Schema)

Opcional. O esquema dos parâmetros da função.

response

object (Schema)

Opcional. O esquema da resposta da função.

OpenApiTool

Uma ferramenta de API remota definida por um esquema OpenAPI.

Representação JSON
{
  "openApiSchema": string,
  "name": string,
  "description": string,
  "apiAuthentication": {
    object (ApiAuthentication)
  },
  "tlsConfig": {
    object (TlsConfig)
  },
  "serviceDirectoryConfig": {
    object (ServiceDirectoryConfig)
  },
  "ignoreUnknownFields": boolean,
  "url": string
}
Campos
openApiSchema

string

Obrigatório. O esquema OpenAPI no formato JSON ou YAML.

name

string

Opcional. O nome da ferramenta. Se não for fornecido, o nome da ferramenta será derivado do esquema OpenAPI, de operation.operationId.

description

string

Opcional. A descrição da ferramenta. Se não for fornecida, a descrição da ferramenta será derivada do esquema OpenAPI, do operation.description ou do operation.summary.

apiAuthentication

object (ApiAuthentication)

Opcional. Informações de autenticação exigidas pela API.

tlsConfig

object (TlsConfig)

Opcional. A configuração de TLS. Inclui os certificados de servidor personalizados em que o cliente vai confiar.

serviceDirectoryConfig

object (ServiceDirectoryConfig)

Opcional. Configuração do Diretório de serviços.

ignoreUnknownFields

boolean

Opcional. Se for verdadeiro, o agente vai ignorar campos desconhecidos na resposta da API.

url

string

Opcional. O URL do servidor do esquema da API aberta. Esse campo só é definido em ferramentas nas dependências do ambiente durante o processo de exportação se o esquema contiver um URL de servidor. Durante o processo de importação, se esse URL estiver presente nas dependências do ambiente e o esquema tiver o marcador de posição $env_var, ele vai substituir o marcador no esquema.

GoogleSearchTool

Representa uma ferramenta para realizar pesquisas Google na Web para embasamento. Consulte https://cloud.google.com/customer-engagement-ai/conversational-agents/ps/tool#google-search.

Representação JSON
{
  "name": string,
  "description": string,
  "contextUrls": [
    string
  ],
  "preferredDomains": [
    string
  ],
  "excludeDomains": [
    string
  ],
  "promptConfig": {
    object (GoogleSearchTool.PromptConfig)
  }
}
Campos
name

string

Obrigatório. O nome da ferramenta.

description

string

Opcional. Descrição da finalidade da ferramenta.

contextUrls[]

string

Opcional. O conteúdo será extraído diretamente desses URLs para contexto e embasamento. Exemplo: "https://example.com/path.html". São permitidos no máximo 20 URLs.

preferredDomains[]

string

Opcional. Especifica os domínios para restringir os resultados da pesquisa. Exemplo: "example.com", "another.site". É possível especificar no máximo 20 domínios.

excludeDomains[]

string

Opcional. Lista de domínios a serem excluídos dos resultados da pesquisa. Exemplo: "example.com". É possível excluir no máximo 2.000 domínios.

promptConfig

object (GoogleSearchTool.PromptConfig)

Opcional. Instruções de comando transmitidas ao planejador sobre como os resultados da pesquisa devem ser processados para texto e voz.

GoogleSearchTool.PromptConfig

Configurações de comando usadas pelo modelo ao processar ou resumir os resultados da Pesquisa Google.

Representação JSON
{
  "textPrompt": string,
  "voicePrompt": string
}
Campos
textPrompt

string

Opcional. Define o comando usado para as instruções do sistema ao interagir com o agente em conversas por chat. Se não for definido, o comando padrão será usado.

voicePrompt

string

Opcional. Define o comando usado para as instruções do sistema ao interagir com o agente em conversas por voz. Se não for definido, o comando padrão será usado.

ConnectorTool

Uma ConnectorTool permite conexões com diferentes integrações. Consulte: https://cloud.google.com/integration-connectors/docs/overview.

Representação JSON
{
  "connection": string,
  "action": {
    object (Action)
  },
  "authConfig": {
    object (EndUserAuthConfig)
  },
  "name": string,
  "description": string
}
Campos
connection

string

Obrigatório. O nome completo do recurso da conexão referenciada do Integration Connectors. Formato: projects/{project}/locations/{location}/connections/{connection}

action

object (Action)

Obrigatório. Ação que a ferramenta vai usar.

authConfig

object (EndUserAuthConfig)

Opcional. Configura como a autenticação é processada nos Integration Connectors. Por padrão, uma autenticação de administrador é transmitida nas solicitações da API Integration Connectors. É possível substituir essa configuração com outra de autenticação do usuário final. Observação: a conexão precisa ter a substituição de autenticação ativada para especificar uma configuração de EUC aqui. Caso contrário, a criação do ConnectorTool vai falhar. Consulte https://cloud.google.com/application-integration/docs/configure-connectors-task#configure-authentication-override para mais detalhes.

name

string

Opcional. O nome da ferramenta que pode ser usada pelo agente para decidir se vai chamar esse ConnectorTool.

description

string

Opcional. A descrição da ferramenta que pode ser usada pelo agente para decidir se deve chamar esse ConnectorTool.

DataStoreTool

Ferramenta para extrair do repositório de dados ou do mecanismo da Vertex AI para Pesquisa para embasamento. Aceita um datastore ou um mecanismo, mas não ambos. Consulte a Vertex AI para Pesquisa: https://cloud.google.com/generative-ai-app-builder/docs/enterprise-search-introduction.

Representação 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

Obrigatório. O nome da ferramenta do repositório de dados.

description

string

Opcional. A descrição da ferramenta.

boostSpecs[]

object (DataStoreTool.BoostSpecs)

Opcional. Otimizar a especificação para otimizar determinados documentos.

modalityConfigs[]

object (DataStoreTool.ModalityConfig)

Opcional. As configurações de modalidade do repositório de dados.

filterParameterBehavior

enum (DataStoreTool.FilterParameterBehavior)

Opcional. O comportamento do parâmetro de filtro.

Campo de união search_source. Define a origem da pesquisa, que pode ser um único DataStore ou um mecanismo. search_source pode ser apenas de um dos tipos a seguir:
dataStoreSource

object (DataStoreTool.DataStoreSource)

Opcional. Pesquise em um único DataStore específico.

engineSource

object (DataStoreTool.EngineSource)

Opcional. Pesquisar em um mecanismo (potencialmente em vários DataStores).

DataStoreTool.DataStoreSource

Configuração para pesquisar em um DataStore específico.

Representação JSON
{
  "filter": string,
  "dataStore": {
    object (DataStore)
  }
}
Campos
filter

string

Opcional. Especificação de filtro para o DataStore. Consulte: https://cloud.google.com/generative-ai-app-builder/docs/filter-search-metadata

dataStore

object (DataStore)

Opcional. O repositório de dados.

DataStore

Um recurso DataStore na Vertex AI para Pesquisa.

Representação JSON
{
  "name": string,
  "type": enum (DataStore.DataStoreType),
  "documentProcessingMode": enum (DataStore.DocumentProcessingMode),
  "displayName": string,
  "createTime": string,
  "connectorConfig": {
    object (DataStore.ConnectorConfig)
  }
}
Campos
name

string

Obrigatório. Nome completo do recurso do DataStore. Formato: projects/{project}/locations/{location}/collections/{collection}/dataStores/{dataStore}

type

enum (DataStore.DataStoreType)

Apenas saída. O tipo do repositório de dados. Este campo é somente leitura e preenchido pelo servidor.

documentProcessingMode

enum (DataStore.DocumentProcessingMode)

Apenas saída. O modo de processamento de documentos para a conexão do repositório de dados. Definido apenas para repositórios de dados PUBLIC_WEB e UNSTRUCTURED.

displayName

string

Apenas saída. O nome de exibição do repositório de dados.

createTime

string (Timestamp format)

Apenas saída. Carimbo de data/hora em que o repositório de dados foi criado.

Usa o padrão RFC 3339, em que a saída gerada é sempre convertida em Z e tem 0, 3, 6 ou 9 dígitos fracionários. Além de Z, outros ajustes também são aceitos. Exemplos: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" ou "2014-10-02T15:01:23+05:30".

connectorConfig

object (DataStore.ConnectorConfig)

Apenas saída. A configuração do conector para a conexão do repositório de dados.

DataStore.DataStoreType

O tipo do repositório de dados.

Tipos enumerados
DATA_STORE_TYPE_UNSPECIFIED Não especificado. Esse valor indica que o tipo de repositório de dados não foi especificado e, portanto, não será usado durante a pesquisa.
PUBLIC_WEB Um repositório de dados que contém conteúdo da Web público.
UNSTRUCTURED Um repositório de dados que contém dados particulares não estruturados.
FAQ Um repositório de dados que contém dados estruturados usados como perguntas frequentes.
CONNECTOR Um repositório de dados que é um conector para um serviço próprio ou de terceiros.

DataStore.DocumentProcessingMode

O modo de processamento de documentos do repositório de dados.

Tipos enumerados
DOCUMENT_PROCESSING_MODE_UNSPECIFIED Não especificado.
DOCUMENTS Os documentos são processados como documentos.
CHUNKS Os documentos são convertidos em partes.

DataStore.ConnectorConfig

A configuração do conector para a conexão do repositório de dados.

Representação JSON
{
  "collection": string,
  "collectionDisplayName": string,
  "dataSource": string
}
Campos
collection

string

Nome do recurso da coleção a que o repositório de dados pertence.

collectionDisplayName

string

Nome de exibição da coleção a que o repositório de dados pertence.

dataSource

string

O nome da fonte de dados. Exemplo: salesforce, jira, confluence, bigquery.

DataStoreTool.EngineSource

Configuração para pesquisar em um mecanismo, possivelmente segmentando DataStores específicos.

Representação JSON
{
  "engine": string,
  "dataStoreSources": [
    {
      object (DataStoreTool.DataStoreSource)
    }
  ],
  "filter": string
}
Campos
engine

string

Obrigatório. Nome completo do recurso do mecanismo. Formato: projects/{project}/locations/{location}/collections/{collection}/engines/{engine}

dataStoreSources[]

object (DataStoreTool.DataStoreSource)

Opcional. Usado para segmentar DataStores específicos no mecanismo. Se estiver vazio, a pesquisa será aplicada a todos os DataStores associados ao mecanismo.

filter

string

Opcional. Um filtro aplicado à pesquisa no mecanismo. Não é relevante nem usado se "dataStoreSources" for fornecido. Consulte: https://cloud.google.com/generative-ai-app-builder/docs/filter-search-metadata

DataStoreTool.BoostSpecs

Otimize as especificações para impulsionar determinados documentos. Para mais informações, consulte https://cloud.google.com/generative-ai-app-builder/docs/boosting.

Representação JSON
{
  "dataStores": [
    string
  ],
  "spec": [
    {
      object (DataStoreTool.BoostSpec)
    }
  ]
}
Campos
dataStores[]

string

Obrigatório. O repositório de dados em que a configuração de reforço é aplicada. Nome completo do recurso do DataStore, como projects/{project}/locations/{location}/collections/{collection}/dataStores/{dataStore}.

spec[]

object (DataStoreTool.BoostSpec)

Obrigatório. Uma lista de especificações de reforço.

DataStoreTool.BoostSpec

Otimizar a especificação para otimizar determinados documentos.

Representação JSON
{
  "conditionBoostSpecs": [
    {
      object (DataStoreTool.BoostSpec.ConditionBoostSpec)
    }
  ]
}
Campos
conditionBoostSpecs[]

object (DataStoreTool.BoostSpec.ConditionBoostSpec)

Obrigatório. Uma lista de especificações de reforço.

DataStoreTool.BoostSpec.ConditionBoostSpec

Especificação de otimização para uma condição.

Representação JSON
{
  "condition": string,
  "boost": number,
  "boostControlSpec": {
    object (DataStoreTool.BoostSpec.ConditionBoostSpec.BoostControlSpec)
  }
}
Campos
condition

string

Obrigatório. Uma expressão que especifica uma condição de reforço. A sintaxe é a mesma da expressão de filtro. No momento, a única condição aceita é uma lista de códigos de idioma BCP-47. Exemplo: para aumentar as sugestões nos idiomas inglês ou francês: (lang_code: ANY("en", "fr"))

boost

number

Opcional. Intensidade da otimização, que precisa estar em [-1, 1]. Reforço negativo significa rebaixamento. O padrão é 0,0.

Definir como 1.0 dá uma grande promoção às sugestões. No entanto, isso não significa necessariamente que o resultado principal será uma sugestão otimizada.

Definir como -1,0 dá às sugestões um grande rebaixamento. No entanto, outras sugestões relevantes ainda podem aparecer.

Definir como 0,0 significa que não há otimização aplicada. A condição de reforço é ignorada.

boostControlSpec

object (DataStoreTool.BoostSpec.ConditionBoostSpec.BoostControlSpec)

Opcional. Especificação complexa para classificação personalizada com base no valor do atributo definido pelo cliente.

DataStoreTool.BoostSpec.ConditionBoostSpec.BoostControlSpec

Especificação para classificação personalizada com base no valor do atributo especificado pelo cliente. Ela oferece mais controles para classificação personalizada do que a combinação simples (condição, reforço) acima.

Representação 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

Opcional. O nome do campo cujo valor será usado para determinar o valor do reforço.

attributeType

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

Opcional. O tipo de atributo a ser usado para determinar o valor do reforço. O valor do atributo pode ser derivado do valor do campo do fieldName especificado. No caso de valores numéricos, é simples: attributeValue = numerical_field_value. No caso da atualização, attributeValue = (time.now() - datetime_field_value).

interpolationType

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

Opcional. O tipo de interpolação a ser aplicado para conectar os pontos de controle listados abaixo.

controlPoints[]

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

Opcional. Os pontos de controle usados para definir a curva. A função monotônica (definida pelo interpolationType acima) passa pelos pontos de controle listados aqui.

DataStoreTool.BoostSpec.ConditionBoostSpec.BoostControlSpec.AttributeType

O atributo(ou função) a que a classificação personalizada será aplicada.

Tipos enumerados
ATTRIBUTE_TYPE_UNSPECIFIED AttributeType não especificado.
NUMERICAL O valor do campo numérico será usado para atualizar dinamicamente o valor do reforço. Nesse caso, o attributeValue (o valor x) do ponto de controle será o valor real do campo numérico para o qual o boostAmount é especificado.
FRESHNESS Para o caso de uso de atualização, o valor do atributo será a duração entre a hora atual e a data no campo de data e hora especificado. O valor precisa ser formatado como um valor dayTimeDuration XSD (um subconjunto restrito de um valor de duração ISO 8601). O padrão é: [nD][T[nH][nM][nS]]. Por exemplo: 5D, 3DT12H30M, T24H.

DataStoreTool.BoostSpec.ConditionBoostSpec.BoostControlSpec.InterpolationType

O tipo de interpolação a ser aplicado. O padrão é linear (linear por partes).

Tipos enumerados
INTERPOLATION_TYPE_UNSPECIFIED O tipo de interpolação não foi especificado. Nesse caso, o padrão é "Linear".
LINEAR A interpolação linear por partes será aplicada.

DataStoreTool.BoostSpec.ConditionBoostSpec.BoostControlSpec.ControlPoint

Os pontos de controle usados para definir a curva. A curva definida por esses pontos de controle só pode ser monotonicamente crescente ou decrescente(valores constantes são aceitáveis).

Representação JSON
{
  "attributeValue": string,
  "boostAmount": number
}
Campos
attributeValue

string

Opcional. Pode ser um dos seguintes: 1. O valor do campo numérico. 2. A especificação de duração para atualização. O valor precisa ser formatado como um valor XSD dayTimeDuration (um subconjunto restrito de um valor de duração ISO 8601). O padrão é: [nD][T[nH][nM][nS]].

boostAmount

number

Opcional. O valor entre -1 e 1 pelo qual aumentar a pontuação se o atributo "attributeValue" for avaliado como o valor especificado acima.

DataStoreTool.ModalityConfig

Se especificado, vai aplicar a configuração à modalidade especificada.

Representação JSON
{
  "modalityType": enum (DataStoreTool.ModalityConfig.ModalityType),
  "rewriterConfig": {
    object (DataStoreTool.RewriterConfig)
  },
  "summarizationConfig": {
    object (DataStoreTool.SummarizationConfig)
  },
  "groundingConfig": {
    object (DataStoreTool.GroundingConfig)
  }
}
Campos
modalityType

enum (DataStoreTool.ModalityConfig.ModalityType)

Obrigatório. O tipo de modalidade.

rewriterConfig

object (DataStoreTool.RewriterConfig)

Opcional. A configuração do rewriter.

summarizationConfig

object (DataStoreTool.SummarizationConfig)

Opcional. A configuração de resumo.

groundingConfig

object (DataStoreTool.GroundingConfig)

Opcional. A configuração de embasamento.

DataStoreTool.ModalityConfig.ModalityType

O tipo de modalidade.

Tipos enumerados
MODALITY_TYPE_UNSPECIFIED Tipo de modalidade não especificado.
TEXT Modalidade de texto.
AUDIO Modalidade de áudio.

DataStoreTool.RewriterConfig

Configuração do rewriter.

Representação JSON
{
  "modelSettings": {
    object (ModelSettings)
  },
  "prompt": string,
  "disabled": boolean
}
Campos
modelSettings

object (ModelSettings)

Obrigatório. Configurações do modelo de LLM.

prompt

string

Opcional. A definição do comando. Se não for definido, o comando padrão será usado.

disabled

boolean

Opcional. Se o rewriter está desativado.

DataStoreTool.SummarizationConfig

Configuração de resumo.

Representação JSON
{
  "modelSettings": {
    object (ModelSettings)
  },
  "prompt": string,
  "disabled": boolean
}
Campos
modelSettings

object (ModelSettings)

Opcional. Configurações do modelo de LLM.

prompt

string

Opcional. A definição do comando. Se não for definido, o comando padrão será usado.

disabled

boolean

Opcional. Se o resumo está desativado.

DataStoreTool.GroundingConfig

Configuração de embasamento.

Representação JSON
{
  "groundingLevel": number,
  "disabled": boolean
}
Campos
groundingLevel

number

Opcional. O limite de embasamento da resposta com base nas fontes recuperadas. O valor tem um intervalo configurável de [1, 5]. O nível é usado para definir o limite da fundamentação da resposta. Isso significa que todas as respostas com uma pontuação de fundamentação abaixo do limite vão retornar apenas snippets relevantes.

Por exemplo, um nível 3 significa que a pontuação de embasamento precisa ser 3 ou mais para que a resposta seja retornada.

disabled

boolean

Opcional. Se o embasamento está desativado.

DataStoreTool.FilterParameterBehavior

Comportamento do parâmetro de filtro.

Tipos enumerados
FILTER_PARAMETER_BEHAVIOR_UNSPECIFIED Comportamento padrão do filtro. Inclua o parâmetro de filtro de inclusão para repositórios de dados de conectores. Para o restante dos tipos de armazenamento de dados, o parâmetro de entrada do filtro é omitido.
ALWAYS_INCLUDE Sempre inclua o parâmetro de filtro para todos os tipos de armazenamento de dados.
NEVER_INCLUDE O parâmetro de filtro nunca é incluído na lista de parâmetros da ferramenta, seja qual for o tipo de armazenamento de dados.

PythonFunction

Uma ferramenta de função Python.

Representação JSON
{
  "name": string,
  "pythonCode": string,
  "description": string
}
Campos
name

string

Opcional. O nome da função Python a ser executada. Precisa corresponder a um nome de função Python definido no código Python. Diferencia maiúsculas de minúsculas. Se o nome não for fornecido, a primeira função definida no código Python será usada.

pythonCode

string

Opcional. O código Python a ser executado para a ferramenta.

description

string

Apenas saída. A descrição da função Python, analisada da docstring do código Python.

McpTool

Uma ferramenta do MCP. Consulte https://modelcontextprotocol.io/specification/2025-06-18/server/tools para mais detalhes.

Representação JSON
{
  "name": string,
  "description": string,
  "inputSchema": {
    object (Schema)
  },
  "outputSchema": {
    object (Schema)
  },
  "serverAddress": string,
  "apiAuthentication": {
    object (ApiAuthentication)
  },
  "tlsConfig": {
    object (TlsConfig)
  },
  "serviceDirectoryConfig": {
    object (ServiceDirectoryConfig)
  },
  "customHeaders": {
    string: string,
    ...
  }
}
Campos
name

string

Obrigatório. O nome da ferramenta do MCP.

description

string

Opcional. A descrição da ferramenta MCP.

inputSchema

object (Schema)

Opcional. O esquema dos argumentos de entrada da ferramenta MCP.

outputSchema

object (Schema)

Opcional. O esquema dos argumentos de saída da ferramenta MCP.

serverAddress

string

Obrigatório. O endereço do servidor MCP, por exemplo, "https://example.com/mcp/". Se o servidor for criado com o SDK do MCP, o URL vai ter o sufixo "/mcp/". Somente servidores baseados em transporte HTTP de streaming são compatíveis. É o mesmo que o serverAddress no McpToolset. Consulte https://modelcontextprotocol.io/specification/2025-03-26/basic/transports#streamable-http para mais detalhes.

apiAuthentication

object (ApiAuthentication)

Opcional. Informações de autenticação necessárias para executar a ferramenta no servidor MCP. Para a autenticação de token do portador, o token se aplica apenas à execução da ferramenta, não à listagem de ferramentas. Isso exige que as ferramentas possam ser listadas sem autenticação.

tlsConfig

object (TlsConfig)

Opcional. A configuração de TLS. Inclui os certificados de servidor personalizados em que o cliente deve confiar.

serviceDirectoryConfig

object (ServiceDirectoryConfig)

Opcional. Configuração do Diretório de serviços para VPC-SC, usada para resolver nomes de serviços em um perímetro.

customHeaders

map (key: string, value: string)

Opcional. Os cabeçalhos personalizados a serem enviados na solicitação ao servidor do MCP. Os valores precisam estar no formato $context.variables.<name_of_variable> e podem ser definidos nas variáveis de sessão. Consulte https://docs.cloud.google.com/customer-engagement-ai/conversational-agents/ps/tool/open-api#openapi-injection para mais detalhes.

Um objeto com uma lista de pares "key": value. Exemplo: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

FileSearchTool

A ferramenta de pesquisa de arquivos permite que o agente pesquise nos arquivos enviados pelo desenvolvedor do app/agente. Ele tem predefinições para oferecer uma pesquisa de qualidade relativamente boa nos arquivos enviados e um resumo dos resultados recuperados.

Representação JSON
{
  "corpusType": enum (FileSearchTool.CorpusType),
  "name": string,
  "description": string,
  "fileCorpus": string
}
Campos
corpusType

enum (FileSearchTool.CorpusType)

Opcional. O tipo de corpus. O padrão é FULLY_MANAGED.

name

string

Obrigatório. O nome da ferramenta.

description

string

Opcional. A descrição da ferramenta.

fileCorpus

string

Opcional. O corpus em que os arquivos são armazenados. Formato: projects/{project}/locations/{location}/ragCorpora/{rag_corpus}

FileSearchTool.CorpusType

O tipo do corpus de RAG da Vertex.

Tipos enumerados
CORPUS_TYPE_UNSPECIFIED Tipo de corpus não especificado.
USER_OWNED O corpus é criado e pertence ao usuário.
FULLY_MANAGED O corpus é criado pelo agente.

SystemTool

Ferramenta de sistema predefinida.

Representação JSON
{
  "name": string,
  "description": string
}
Campos
name

string

Obrigatório. O nome da ferramenta do sistema.

description

string

Apenas saída. A descrição da ferramenta do sistema.

AgentTool

Representa uma ferramenta que permite ao agente chamar outro agente.

Representação JSON
{
  "name": string,
  "description": string,
  "rootAgent": string,
  "agent": string
}
Campos
name

string

Obrigatório. O nome da ferramenta do agente.

description

string

Opcional. Descrição da finalidade da ferramenta.

rootAgent
(deprecated)

string

Opcional. Descontinuado: use agent. O nome do recurso do agente raiz, que é o ponto de entrada da ferramenta. Formato: projects/{project}/locations/{location}/agents/{agent}

agent

string

Opcional. O nome do recurso do agente que é o ponto de entrada da ferramenta. Formato: projects/{project}/locations/{location}/agents/{agent}

WidgetTool

Representa uma ferramenta de widget que o agente pode invocar. Quando a ferramenta é escolhida pelo agente, ele retorna o widget ao cliente. O cliente é responsável por processar o widget e gerar a próxima consulta do usuário para continuar a interação com o agente.

Representação 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

Obrigatório. O nome de exibição da ferramenta de widget.

description

string

Opcional. A descrição da ferramenta de widget.

widgetType

enum (WidgetTool.WidgetType)

Opcional. O tipo da ferramenta de widget. Se não for especificado, o tipo padrão será "CUSTOMIZED".

uiConfig

object (Struct format)

Opcional. Configuração para renderizar o widget.

dataMapping

object (WidgetTool.DataMapping)

Opcional. O mapeamento que define como os dados de uma ferramenta de origem são mapeados para os parâmetros de entrada do widget.

textResponseConfig

object (WidgetTool.TextResponseConfig)

Opcional. Configuração para respostas de texto sempre incluídas.

Campo de união input. A entrada da ferramenta de widget. input pode ser apenas de um dos tipos a seguir:
parameters

object (Schema)

Opcional. Os parâmetros de entrada da ferramenta de widget.

WidgetTool.WidgetType

Todos os tipos de widgets disponíveis. Novos valores podem ser adicionados a essa enumeração no futuro.

Tipos enumerados
WIDGET_TYPE_UNSPECIFIED Tipo de widget não especificado.
CUSTOM Tipo de widget personalizado.
PRODUCT_DETAILS Widget de detalhes do produto.
QUICK_ACTIONS Widget Ações rápidas.
PRODUCT_COMPARISON Widget de comparação de produtos.
ADVANCED_PRODUCT_DETAILS Widget de detalhes do produto avançados.
SHORT_FORM Widget de Shorts.
OVERALL_SATISFACTION Widget de satisfação geral.
ORDER_SUMMARY Widget de resumo do pedido.
APPOINTMENT_DETAILS Widget de detalhes do horário.
APPOINTMENT_SCHEDULER Widget de agendamento de horários.
CONTACT_FORM Widget de formulário de contato.

WidgetTool.DataMapping

Configuração para mapear dados de uma ferramenta de origem para os parâmetros de entrada do widget.

Representação JSON
{
  "sourceToolName": string,
  "fieldMappings": {
    string: string,
    ...
  },
  "pythonFunction": {
    object (PythonFunction)
  },
  "mode": enum (WidgetTool.DataMapping.Mode),
  "pythonScript": string
}
Campos
sourceToolName

string

Opcional. O nome do recurso da ferramenta que fornece os dados para o widget (por exemplo, uma ferramenta de pesquisa ou uma função personalizada). Formato: projects/{project}/locations/{location}/agents/{agent}/tools/{tool}

fieldMappings

map (key: string, value: string)

Opcional. Um mapa de campos de parâmetros de entrada de widget para os campos de saída correspondentes da ferramenta de origem.

Um objeto com uma lista de pares "key": value. Exemplo: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

pythonFunction

object (PythonFunction)

Opcional. Configuração de uma função Python usada para transformar a saída da ferramenta de origem no formato de entrada do widget.

mode

enum (WidgetTool.DataMapping.Mode)

Opcional. O modo do mapeamento de dados.

pythonScript
(deprecated)

string

Descontinuado: use pythonFunction.

WidgetTool.DataMapping.Mode

A estratégia usada para mapear dados da ferramenta de origem para o widget.

Tipos enumerados
MODE_UNSPECIFIED Modo não especificado.
FIELD_MAPPING Use o mapa fieldMappings para transformação de dados.
PYTHON_SCRIPT Use o pythonScript para transformação de dados.

WidgetTool.TextResponseConfig

Configuração da resposta de texto retornada com o widget.

Representação JSON
{
  "type": enum (WidgetTool.TextResponseConfig.Type),
  "staticText": string,
  "textResponseInstruction": string
}
Campos
type

enum (WidgetTool.TextResponseConfig.Type)

Opcional. A estratégia para fornecer a resposta de texto.

staticText

string

Opcional. A resposta de texto estática a ser retornada quando o tipo é "STATIC".

textResponseInstruction

string

Opcional. Instrução para o LLM sobre como gerar a resposta de texto. Usado como a descrição do parâmetro de resposta de texto se o tipo for LLM_GENERATED.

WidgetTool.TextResponseConfig.Type

Define como a resposta de texto é produzida.

Tipos enumerados
TYPE_UNSPECIFIED Tipo não especificado.
NONE O LLM decide dinamicamente se vai gerar uma resposta de texto junto com o widget com base no contexto da conversa.
LLM_GENERATED O LLM precisa gerar uma resposta de texto.
STATIC Uma resposta de texto estático predefinida é sempre usada.

RemoteAgentTool

Representa uma ferramenta que permite ao agente chamar outro agente remoto.

Representação JSON
{
  "name": string,
  "description": string,
  "agentCard": {
    object (AgentCard)
  }
}
Campos
name

string

Obrigatório. O nome da ferramenta.

description

string

Obrigatório. A descrição da ferramenta.

agentCard

object (AgentCard)

Obrigatório. O card do agente remoto que essa ferramenta invoca.

AgentCard

O AgentCard transmite informações importantes sobre um agente remoto. É uma versão reduzida do AgentCard definido no protocolo A2A https://a2a-protocol.org/dev/specification/#441-agentcard

Representação JSON
{
  "name": string,
  "description": string,
  "supportedInterfaces": [
    {
      object (AgentInterface)
    }
  ],
  "version": string,
  "skills": [
    {
      object (AgentSkill)
    }
  ]
}
Campos
name

string

Obrigatório. Um nome do agente legível por humanos.

description

string

Obrigatório. Uma descrição do domínio de ação/espaço de solução do agente.

supportedInterfaces[]

object (AgentInterface)

Obrigatório. Lista ordenada de interfaces compatíveis. A primeira entrada é preferencial.

version

string

Obrigatório. A versão do agente.

skills[]

object (AgentSkill)

Obrigatório. As habilidades representam uma unidade de capacidade que um agente pode realizar. Isso pode ser um pouco abstrato, mas representa um conjunto mais focado de ações que o agente tem grande probabilidade de realizar.

AgentInterface

Declara uma combinação de um URL de destino, transporte e versão do protocolo para interagir com o agente. Isso permite que os agentes exponham a mesma funcionalidade em vários mecanismos de vinculação de protocolo.

Representação JSON
{
  "url": string,
  "protocolBinding": string,
  "tenant": string,
  "protocolVersion": string
}
Campos
url

string

Obrigatório. O URL em que essa interface está disponível. Precisa ser um URL HTTPS absoluto válido em produção. Exemplo: "https://api.example.com/a2a/v1", "https://grpc.example.com/a2a"

protocolBinding

string

Obrigatório. A vinculação de protocolo compatível com este URL. Essa é uma string de formulário aberto, que pode ser facilmente estendida para outras vinculações de protocolo. Os principais com suporte oficial são JSONRPC, GRPC e HTTP+JSON.

tenant

string

ID do locatário a ser usado na solicitação ao chamar o agente.

protocolVersion

string

Obrigatório. A versão do protocolo A2A que essa interface expõe. Use a versão secundária mais recente compatível por versão principal. Exemplos: "0.3", "1.0"

AgentSkill

Representa uma capacidade ou função distinta que um agente pode realizar.

Representação JSON
{
  "id": string,
  "name": string,
  "description": string,
  "tags": [
    string
  ],
  "examples": [
    string
  ],
  "inputModes": [
    string
  ],
  "outputModes": [
    string
  ]
}
Campos
id

string

Obrigatório. Um identificador exclusivo da habilidade do agente.

name

string

Obrigatório. Um nome legível para a habilidade.

description

string

Obrigatório. Uma descrição detalhada da habilidade.

tags[]

string

Obrigatório. Um conjunto de palavras-chave que descrevem os recursos da skill.

examples[]

string

Exemplos de comandos ou cenários que essa habilidade pode processar.

inputModes[]

string

O conjunto de tipos de mídia de entrada compatíveis com essa habilidade, substituindo os padrões do agente.

outputModes[]

string

O conjunto de tipos de mídia de saída compatíveis com essa habilidade, substituindo os padrões do agente.

Métodos

create

Cria uma nova ferramenta no app especificado.

delete

Exclui a ferramenta especificada.

get

Recebe detalhes da ferramenta especificada.

list

Lista as ferramentas no app especificado.

patch

Atualiza a ferramenta especificada.