Method: projects.locations.apps.executeTool

Executa a ferramenta especificada com os argumentos fornecidos.

Solicitação HTTP

POST https://ces.googleapis.com/v1/{parent=projects/*/locations/*/apps/*}:executeTool

O URL usa a sintaxe de transcodificação gRPC.

Parâmetros de caminho

Parâmetros
parent

string

Obrigatório. O nome do recurso do app a que a ferramenta/conjunto de ferramentas pertence. Formato: projects/{project}/locations/{location}/apps/{app}

Corpo da solicitação

O corpo da solicitação contém dados com a seguinte estrutura:

Representação JSON
{
  "args": {
    object
  },
  "mockConfig": {
    object (MockConfig)
  },

  // The following is a list of mutually exclusive fields. At most one of the
  // fields will be set in a response:
  "tool": string,
  "toolsetTool": {
    object (ToolsetTool)
  }
  // End of mutually exclusive fields.

  // The following is a list of mutually exclusive fields. At most one of the
  // fields will be set in a response:
  "variables": {
    object
  },
  "context": {
    object
  }
  // End of mutually exclusive fields.
}
Campos
args

object (Struct format)

Opcional. Os parâmetros e valores de entrada da ferramenta no formato de objeto JSON.

mockConfig

object (MockConfig)

Opcional. Configuração de simulação para a execução da ferramenta. Se esse campo estiver definido, as ferramentas que chamam outras ferramentas serão simuladas com base nos padrões e respostas fornecidos.

O identificador da ferramenta a ser executada. Ela pode ser uma ferramenta persistente ou de um conjunto de ferramentas. Confira a seguir uma lista de campos mutuamente exclusivos. No máximo um dos campos será definido em uma resposta:
tool

string

Opcional. O nome da ferramenta a ser executada. Formato: projects/{project}/locations/{location}/apps/{app}/tools/{tool}

toolsetTool

object (ToolsetTool)

Opcional. A ferramenta do conjunto de ferramentas a ser executada. Apenas uma ferramenta precisa corresponder ao predicado do conjunto de ferramentas. Caso contrário, um erro será retornado.

Fim dos campos mutuamente exclusivos.
Contexto adicional a ser fornecido para a execução da ferramenta. Confira a seguir uma lista de campos mutuamente exclusivos. No máximo um dos campos será definido em uma resposta:
variables

object (Struct format)

Opcional. As variáveis disponíveis para a execução da ferramenta.

context

object (Struct format)

Opcional. O [ToolCallContext](https://docs.cloud.google.com/customer-engagement-ai/conversational-agents/ps/tool/python#environment para detalhes) a ser transmitido à ferramenta Python.

Fim dos campos mutuamente exclusivos.

Corpo da resposta

Mensagem de resposta para ToolService.ExecuteTool.

Se bem-sucedido, o corpo da resposta incluirá dados com a estrutura a seguir:

Representação JSON
{
  "response": {
    object
  },
  "variables": {
    object
  },
  "citations": {
    object (Citations)
  },
  "googleSearchSuggestions": {
    object (GoogleSearchSuggestions)
  },

  // The following is a list of mutually exclusive fields. At most one of the
  // fields will be set in a response:
  "tool": string,
  "toolsetTool": {
    object (ToolsetTool)
  }
  // End of mutually exclusive fields.
}
Campos
response

object (Struct format)

O resultado da execução da ferramenta no formato de objeto JSON. Use a chave "output" para especificar a resposta da ferramenta e a chave "error" para especificar os detalhes do erro (se houver). Se as chaves "output" e "error" não forem especificadas, toda a "response" será tratada como resultado da execução da ferramenta.

variables

object (Struct format)

Os valores das variáveis ao final da execução da ferramenta.

citations

object (Citations)

Citações que fornecem as informações de origem para a execução da ferramenta.

googleSearchSuggestions

object (GoogleSearchSuggestions)

As sugestões retornadas da Pesquisa Google como resultado da invocação da ferramenta durante a execução.

O identificador da ferramenta que foi executada. Confira a seguir uma lista de campos mutuamente exclusivos. No máximo um dos campos será definido em uma resposta:
tool

string

O nome da ferramenta que foi executada. Formato: projects/{project}/locations/{location}/apps/{app}/tools/{tool}

toolsetTool

object (ToolsetTool)

A ferramenta do conjunto de ferramentas que foi executada.

Fim dos campos mutuamente exclusivos.

Escopos de autorização

Requer um dos seguintes escopos do OAuth:

  • https://www.googleapis.com/auth/cloud-platform
  • https://www.googleapis.com/auth/ces

Para mais informações, consulte Authentication Overview.

Permissões do IAM

Requer a seguinte permissão do IAM no recurso parent:

  • ces.tools.execute

Para mais informações, consulte a documentação do IAM.

MockConfig

Configuração de chamadas de ferramentas simuladas para a sessão.

Representação JSON
{
  "mockedToolCalls": [
    {
      object (MockedToolCall)
    }
  ],
  "unmatchedToolCallBehavior": enum (MockConfig.UnmatchedToolCallBehavior)
}
Campos
mockedToolCalls[]

object (MockedToolCall)

Opcional. Todas as chamadas de ferramenta para simular durante a sessão.

unmatchedToolCallBehavior

enum (MockConfig.UnmatchedToolCallBehavior)

Obrigatório. Comportamento para chamadas de ferramentas que não correspondem a nenhum padrão de argumentos em mockedToolCalls.

MockedToolCall

Uma chamada de ferramenta simulada.

Expressa a ferramenta de destino e um padrão para corresponder aos argumentos / entradas dessa ferramenta. Se o padrão corresponder, a resposta simulada será retornada.

Representação JSON
{
  "tool": string,
  "expectedArgsPattern": {
    object
  },
  "mockResponse": {
    object
  },

  // The following is a list of mutually exclusive fields. At most one of the
  // fields will be set in a response:
  "toolId": string,
  "toolset": {
    object (ToolsetTool)
  }
  // End of mutually exclusive fields.
}
Campos
tool
(deprecated)

string

Opcional. Obsoleto. Use tool_identifier.

expectedArgsPattern

object (Struct format)

Obrigatório. Um padrão para corresponder aos argumentos / entradas de todas as chamadas de ferramenta enviadas. Se as entradas de chamada de ferramenta corresponderem a esse padrão, a saída simulada será retornada.

mockResponse

object (Struct format)

Opcional. A resposta / saída simulada a ser retornada se os argumentos / entradas da chamada de ferramenta corresponderem ao padrão.

O identificador da ferramenta a ser simulada. Confira a seguir uma lista de campos mutuamente exclusivos. No máximo um dos campos será definido em uma resposta:
toolId

string

Opcional. O nome da ferramenta a ser simulada. Formato: projects/{project}/locations/{location}/apps/{app}/tools/{tool}

toolset

object (ToolsetTool)

Opcional. O conjunto de ferramentas para simular.

Fim dos campos mutuamente exclusivos.

MockConfig.UnmatchedToolCallBehavior

O que fazer quando uma chamada de ferramenta não corresponde a nenhuma chamada de ferramenta simulada.

Tipos enumerados
UNMATCHED_TOOL_CALL_BEHAVIOR_UNSPECIFIED Valor padrão. Esse valor não é usado.
FAIL Gera um erro para todas as chamadas de função que não corresponderem a um padrão de entrada esperado simulado.
PASS_THROUGH Para chamadas de ferramentas não correspondentes, transmita a chamada de ferramenta para a ferramenta real.