Method: projects.locations.apps.executeTool

Exécute l'outil donné avec les arguments donnés.

Requête HTTP

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

L'URL utilise la syntaxe de transcodage gRPC.

Paramètres de chemin d'accès

Paramètres
parent

string

Obligatoire. Nom de ressource de l'application à laquelle appartient l'outil ou l'ensemble d'outils. Format : projects/{project}/locations/{location}/apps/{app}

Corps de la requête

Le corps de la requête contient des données présentant la structure suivante :

Représentation 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.
}
Champs
args

object (Struct format)

Facultatif. Paramètres et valeurs d'entrée de l'outil au format d'objet JSON.

mockConfig

object (MockConfig)

Facultatif. Configuration fictive pour l'exécution de l'outil. Si ce champ est défini, les outils qui appellent d'autres outils seront simulés en fonction des modèles et des réponses fournis.

Identifiant de l'outil à exécuter. Il peut s'agir d'un outil persistant ou d'un outil d'un ensemble d'outils. Vous trouverez ci-dessous la liste des champs mutuellement exclusifs. Au maximum, un seul des champs sera défini dans une réponse :
tool

string

Facultatif. Nom de l'outil à exécuter. Format : projects/{project}/locations/{location}/apps/{app}/tools/{tool}

toolsetTool

object (ToolsetTool)

Facultatif. Outil du toolset à exécuter. Un seul outil doit correspondre au prédicat de l'ensemble d'outils. Sinon, une erreur sera renvoyée.

Fin des champs qui s'excluent mutuellement.
Contexte supplémentaire à fournir pour l'exécution de l'outil. Voici une liste de champs mutuellement exclusifs. Au maximum, un seul des champs sera défini dans une réponse :
variables

object (Struct format)

Facultatif. Variables disponibles pour l'exécution de l'outil.

context

object (Struct format)

Facultatif. Le [ToolCallContext](https://docs.cloud.google.com/customer-engagement-ai/conversational-agents/ps/tool/python#environment pour en savoir plus) à transmettre à l'outil Python.

Fin des champs qui s'excluent mutuellement.

Corps de la réponse

Message de réponse pour ToolService.ExecuteTool.

Si la requête aboutit, le corps de la réponse contient des données qui ont la structure suivante :

Représentation 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.
}
Champs
response

object (Struct format)

Résultat de l'exécution de l'outil au format d'objet JSON. Utilisez la clé "output" pour spécifier la réponse de l'outil et la clé "error" pour spécifier les détails de l'erreur (le cas échéant). Si les clés "output" et "error" ne sont pas spécifiées, l'ensemble de la "response" est traité comme le résultat de l'exécution de l'outil.

variables

object (Struct format)

Valeurs des variables à la fin de l'exécution de l'outil.

citations

object (Citations)

Citations qui fournissent des informations sur la source de l'exécution de l'outil.

googleSearchSuggestions

object (GoogleSearchSuggestions)

Suggestions renvoyées par la recherche Google suite à l'appel de l'outil de recherche Google lors de l'exécution de l'outil.

Identifiant de l'outil exécuté. Vous trouverez ci-dessous la liste des champs mutuellement exclusifs. Au maximum, un seul des champs sera défini dans une réponse :
tool

string

Nom de l'outil exécuté. Format : projects/{project}/locations/{location}/apps/{app}/tools/{tool}

toolsetTool

object (ToolsetTool)

Outil de l'ensemble d'outils qui a été exécuté.

Fin des champs qui s'excluent mutuellement.

Niveaux d'accès des autorisations

Nécessite l'un des niveaux d'accès OAuth suivants :

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

Pour plus d'informations, consultez la page Authentication Overview.

Autorisations IAM

Nécessite l'autorisation IAM suivante sur la ressource parent :

  • ces.tools.execute

Pour en savoir plus, consultez la documentation IAM.

MockConfig

Configuration des appels d'outils fictifs pour la session.

Représentation JSON
{
  "mockedToolCalls": [
    {
      object (MockedToolCall)
    }
  ],
  "unmatchedToolCallBehavior": enum (MockConfig.UnmatchedToolCallBehavior)
}
Champs
mockedToolCalls[]

object (MockedToolCall)

Facultatif. Tous les appels d'outil à simuler pendant la durée de la session.

unmatchedToolCallBehavior

enum (MockConfig.UnmatchedToolCallBehavior)

Obligatoire. Comportement pour les appels d'outils qui ne correspondent à aucun modèle d'arguments dans mockedToolCalls.

MockedToolCall

Appel d'outil simulé.

Exprime l'outil cible et un modèle à comparer aux arguments / entrées de cet outil. Si le modèle correspond, la réponse fictive est renvoyée.

Représentation 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.
}
Champs
tool
(deprecated)

string

Facultatif. Obsolète. Utilisez plutôt tool_identifier.

expectedArgsPattern

object (Struct format)

Obligatoire. Modèle à comparer aux arguments / entrées de tous les appels d'outils distribués. Si les entrées d'appel d'outil correspondent à ce modèle, une sortie fictive sera renvoyée.

mockResponse

object (Struct format)

Facultatif. Réponse / sortie fictive à renvoyer si les arguments / entrées de l'appel d'outil correspondent au modèle.

Identifiant de l'outil à simuler. Vous trouverez ci-dessous la liste des champs mutuellement exclusifs. Au maximum, un seul des champs sera défini dans une réponse :
toolId

string

Facultatif. Nom de l'outil à simuler. Format : projects/{project}/locations/{location}/apps/{app}/tools/{tool}

toolset

object (ToolsetTool)

Facultatif. Ensemble d'outils pour simuler.

Fin des champs qui s'excluent mutuellement.

MockConfig.UnmatchedToolCallBehavior

Que faire lorsqu'un appel d'outil ne correspond à aucun appel d'outil simulé ?

Enums
UNMATCHED_TOOL_CALL_BEHAVIOR_UNSPECIFIED Valeur par défaut. Cette valeur n'est pas utilisée.
FAIL Génère une erreur pour tous les appels d'outils qui ne correspondent pas à un modèle d'entrée attendu fictif.
PASS_THROUGH Pour les appels d'outils non correspondants, transmettez l'appel d'outil à l'outil réel.