Method: projects.locations.apps.executeTool

Ejecuta la herramienta determinada con los argumentos determinados.

Solicitud HTTP

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

La URL usa la sintaxis de la transcodificación gRPC.

Parámetros de ruta

Parámetros
parent

string

Obligatorio. Es el nombre del recurso de la app a la que pertenece la herramienta o el conjunto de herramientas. Formato: projects/{project}/locations/{location}/apps/{app}

Cuerpo de la solicitud

El cuerpo de la solicitud contiene datos con la siguiente estructura:

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

Es opcional. Son los parámetros y valores de entrada de la herramienta en formato de objeto JSON.

mockConfig

object (MockConfig)

Es opcional. Es la configuración simulada para la ejecución de la herramienta. Si se configura este campo, las herramientas que llaman a otras herramientas se simularán según los patrones y las respuestas proporcionados.

Es el identificador de la herramienta que se ejecutará. Puede ser una herramienta persistente o una herramienta de un conjunto de herramientas. La siguiente es una lista de campos mutuamente excluyentes. Como máximo, se establecerá uno de los campos en una respuesta:
tool

string

Es opcional. Es el nombre de la herramienta que se ejecutará. Formato: projects/{project}/locations/{location}/apps/{app}/tools/{tool}

toolsetTool

object (ToolsetTool)

Es opcional. Es la herramienta del conjunto de herramientas que se ejecutará. Solo una herramienta debe coincidir con el predicado del conjunto de herramientas. De lo contrario, se mostrará un error.

Fin de los campos mutuamente excluyentes.
Es el contexto adicional que se debe proporcionar para la ejecución de la herramienta. La siguiente es una lista de campos mutuamente excluyentes. Como máximo, se establecerá uno de los campos en una respuesta:
variables

object (Struct format)

Es opcional. Son las variables disponibles para la ejecución de la herramienta.

context

object (Struct format)

Es opcional. Es el [ToolCallContext](https://docs.cloud.google.com/customer-engagement-ai/conversational-agents/ps/tool/python#environment para obtener detalles) que se pasará a la herramienta de Python.

Fin de los campos mutuamente excluyentes.

Cuerpo de la respuesta

Mensaje de respuesta para ToolService.ExecuteTool.

Si se ejecuta correctamente, el cuerpo de la respuesta contiene datos con la siguiente estructura:

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

Es el resultado de la ejecución de la herramienta en formato de objeto JSON. Usa la clave "output" para especificar la respuesta de la herramienta y la clave "error" para especificar los detalles del error (si corresponde). Si no se especifican las claves "output" y "error", toda la "response" se trata como resultado de la ejecución de la herramienta.

variables

object (Struct format)

Son los valores de las variables al final de la ejecución de la herramienta.

citations

object (Citations)

Son las citas que proporcionan la información de la fuente para la ejecución de la herramienta.

googleSearchSuggestions

object (GoogleSearchSuggestions)

Son las sugerencias que devuelve la Búsqueda de Google como resultado de invocar la herramienta de Búsqueda de Google durante la ejecución de la herramienta.

Es el identificador de la herramienta que se ejecutó. La siguiente es una lista de campos mutuamente excluyentes. Como máximo, se establecerá uno de los campos en una respuesta:
tool

string

Es el nombre de la herramienta que se ejecutó. Formato: projects/{project}/locations/{location}/apps/{app}/tools/{tool}

toolsetTool

object (ToolsetTool)

Es la herramienta del conjunto de herramientas que se ejecutó.

Fin de los campos mutuamente excluyentes.

Permisos de autorización

Se necesita uno de los siguientes permisos de OAuth:

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

Para obtener más información, consulta Authentication Overview.

Permisos de IAM

Se requiere el siguiente permiso de IAM en el recurso parent:

  • ces.tools.execute

Para obtener más información, consulta la documentación de IAM.

MockConfig

Es la configuración de las llamadas a herramientas simuladas para la sesión.

Representación JSON
{
  "mockedToolCalls": [
    {
      object (MockedToolCall)
    }
  ],
  "unmatchedToolCallBehavior": enum (MockConfig.UnmatchedToolCallBehavior)
}
Campos
mockedToolCalls[]

object (MockedToolCall)

Es opcional. Todas las llamadas a herramientas que se simularán durante la sesión.

unmatchedToolCallBehavior

enum (MockConfig.UnmatchedToolCallBehavior)

Obligatorio. Comportamiento para las llamadas a herramientas que no coinciden con ningún patrón de argumentos en mockedToolCalls.

MockedToolCall

Es una llamada a la herramienta simulada.

Expresa la herramienta de destino y un patrón para que coincida con los argumentos o las entradas de esa herramienta. Si el patrón coincide, se devolverá la respuesta simulada.

Representación 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

Es opcional. Obsoleto. En su lugar, usa tool_identifier.

expectedArgsPattern

object (Struct format)

Obligatorio. Es un patrón que se compara con los argumentos o las entradas de todas las llamadas a herramientas enviadas. Si las entradas de la llamada a la herramienta coinciden con este patrón, se devolverá una salida simulada.

mockResponse

object (Struct format)

Es opcional. Es la respuesta o el resultado simulado que se devolverá si los argumentos o las entradas de la llamada a la herramienta coinciden con el patrón.

Es el identificador de la herramienta que se simulará. La siguiente es una lista de campos mutuamente excluyentes. Como máximo, se establecerá uno de los campos en una respuesta:
toolId

string

Es opcional. Nombre de la herramienta que se simulará. Formato: projects/{project}/locations/{location}/apps/{app}/tools/{tool}

toolset

object (ToolsetTool)

Es opcional. Es el conjunto de herramientas que se simulará.

Fin de los campos mutuamente excluyentes.

MockConfig.UnmatchedToolCallBehavior

Qué hacer cuando una llamada a la herramienta no coincide con ninguna llamada a la herramienta simulada.

Enums
UNMATCHED_TOOL_CALL_BEHAVIOR_UNSPECIFIED Valor predeterminado. Este valor no se usa.
FAIL Genera un error para cualquier llamada a la herramienta que no coincida con un patrón de entrada esperado simulado.
PASS_THROUGH En el caso de las llamadas a herramientas que no coinciden, pasa la llamada a la herramienta real.