REST Resource: projects.locations.apps.agents

Ressource : Agent

Un agent sert de composant de base fondamental qui fournit des instructions au grand modèle de langage (LLM) pour exécuter des tâches spécifiques.

Représentation JSON
{
  "name": string,
  "displayName": string,
  "description": string,
  "modelSettings": {
    object (ModelSettings)
  },
  "instruction": string,
  "tools": [
    string
  ],
  "childAgents": [
    string
  ],
  "beforeAgentCallbacks": [
    {
      object (Callback)
    }
  ],
  "afterAgentCallbacks": [
    {
      object (Callback)
    }
  ],
  "beforeModelCallbacks": [
    {
      object (Callback)
    }
  ],
  "afterModelCallbacks": [
    {
      object (Callback)
    }
  ],
  "beforeToolCallbacks": [
    {
      object (Callback)
    }
  ],
  "afterToolCallbacks": [
    {
      object (Callback)
    }
  ],
  "createTime": string,
  "updateTime": string,
  "guardrails": [
    string
  ],
  "etag": string,
  "toolsets": [
    {
      object (Agent.AgentToolset)
    }
  ],
  "generatedSummary": string,
  "transferRules": [
    {
      object (TransferRule)
    }
  ],
  "validationErrors": [
    string
  ],

  // The following is a list of mutually exclusive fields. At most one of the
  // fields will be set in a response:
  "llmAgent": {
    object (Agent.LlmAgent)
  },
  "remoteDialogflowAgent": {
    object (Agent.RemoteDialogflowAgent)
  },
  "remoteA2aAgent": {
    object (Agent.RemoteA2aAgent)
  }
  // End of mutually exclusive fields.
}
Champs
name

string

Identifiant. Identifiant unique de l'agent. Format : projects/{project}/locations/{location}/apps/{app}/agents/{agent}

displayName

string

Obligatoire. Nom à afficher de l'agent.

description

string

Facultatif. Description de l'agent lisible par l'humain.

modelSettings

object (ModelSettings)

Facultatif. Configurations du modèle LLM.

instruction

string

Facultatif. Instructions pour le modèle LLM afin de guider le comportement de l'agent.

tools[]

string

Facultatif. Liste des outils disponibles pour l'agent. Format : projects/{project}/locations/{location}/apps/{app}/tools/{tool}

childAgents[]

string

Facultatif. Liste des agents enfants dans l'arborescence des agents. Format : projects/{project}/locations/{location}/apps/{app}/agents/{agent}

beforeAgentCallbacks[]

object (Callback)

Facultatif. Rappels à exécuter avant l'appel de l'agent. Les rappels fournis sont exécutés de manière séquentielle dans l'ordre exact dans lequel ils sont fournis dans la liste. Si un rappel renvoie une réponse remplacée, l'exécution s'arrête et les rappels restants sont ignorés.

afterAgentCallbacks[]

object (Callback)

Facultatif. Rappels à exécuter après l'appel de l'agent. Les rappels fournis sont exécutés de manière séquentielle dans l'ordre exact dans lequel ils sont fournis dans la liste. Si un rappel renvoie une réponse remplacée, l'exécution s'arrête et les rappels restants sont ignorés.

beforeModelCallbacks[]

object (Callback)

Facultatif. Rappels à exécuter avant l'appel du modèle. S'il existe plusieurs appels au modèle, le rappel sera exécuté plusieurs fois. Les rappels fournis sont exécutés de manière séquentielle dans l'ordre exact dans lequel ils sont fournis dans la liste. Si un rappel renvoie une réponse remplacée, l'exécution s'arrête et les rappels restants sont ignorés.

afterModelCallbacks[]

object (Callback)

Facultatif. Rappels à exécuter après l'appel du modèle. S'il existe plusieurs appels au modèle, le rappel sera exécuté plusieurs fois. Les rappels fournis sont exécutés de manière séquentielle dans l'ordre exact dans lequel ils sont fournis dans la liste. Si un rappel renvoie une réponse remplacée, l'exécution s'arrête et les rappels restants sont ignorés.

beforeToolCallbacks[]

object (Callback)

Facultatif. Rappels à exécuter avant l'appel de l'outil. Si plusieurs outils sont appelés, le rappel sera exécuté plusieurs fois. Les rappels fournis sont exécutés de manière séquentielle dans l'ordre exact dans lequel ils sont fournis dans la liste. Si un rappel renvoie une réponse remplacée, l'exécution s'arrête et les rappels restants sont ignorés.

afterToolCallbacks[]

object (Callback)

Facultatif. Rappels à exécuter après l'appel de l'outil. Si plusieurs outils sont appelés, le rappel sera exécuté plusieurs fois. Les rappels fournis sont exécutés de manière séquentielle dans l'ordre exact dans lequel ils sont fournis dans la liste. Si un rappel renvoie une réponse remplacée, l'exécution s'arrête et les rappels restants sont ignorés.

createTime

string (Timestamp format)

Uniquement en sortie. Code temporel de création de l'agent.

Utilise la norme RFC 3339, où la sortie générée utilise toujours le format UTC (indiqué par "Z" pour le temps universel coordonné) avec des secondes fractionnaires de 0, 3, 6 ou 9 chiffres décimaux. Des décalages horaires autres que "Z" (UTC) sont également acceptés. Exemples : "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" ou "2014-10-02T15:01:23+05:30".

updateTime

string (Timestamp format)

Uniquement en sortie. Code temporel de la dernière mise à jour de l'agent.

Utilise la norme RFC 3339, où la sortie générée utilise toujours le format UTC (indiqué par "Z" pour le temps universel coordonné) avec des secondes fractionnaires de 0, 3, 6 ou 9 chiffres décimaux. Des décalages horaires autres que "Z" (UTC) sont également acceptés. Exemples : "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" ou "2014-10-02T15:01:23+05:30".

guardrails[]

string

Facultatif. Liste des garde-fous pour l'agent. Format : projects/{project}/locations/{location}/apps/{app}/guardrails/{guardrail}

etag

string

Etag utilisé pour s'assurer que l'objet n'a pas été modifié lors d'une opération de lecture-modification-écriture. Si l'etag est vide, la mise à jour écrasera toutes les modifications simultanées.

toolsets[]

object (Agent.AgentToolset)

Facultatif. Liste des ensembles d'outils pour l'agent.

generatedSummary

string

Uniquement en sortie. Si l'agent est généré par l'assistant LLM, ce champ contient un résumé descriptif de la génération.

transferRules[]

object (TransferRule)

Facultatif. Règles de transfert d'agent. Si plusieurs règles correspondent, la première de la liste sera utilisée.

validationErrors[]

string

Uniquement en sortie. Erreurs ou configurations incorrectes dans l'agent pouvant affecter sa qualité.

Type d'agent. Vous trouverez ci-dessous la liste des champs mutuellement exclusifs. Au maximum, un seul des champs sera défini dans une réponse :
llmAgent

object (Agent.LlmAgent)

Facultatif. Type d'agent par défaut.

remoteDialogflowAgent

object (Agent.RemoteDialogflowAgent)

Facultatif. Agent Dialogflow distant à utiliser pour l'exécution de l'agent. Si ce champ est défini, toutes les autres propriétés au niveau de l'agent seront ignorées.

Remarque : Si l'agent Dialogflow se trouve dans un projet différent de celui de l'application, vous devez accorder le rôle roles/dialogflow.client à l'agent de service CES service-<PROJECT-NUMBER>@gcp-sa-ces.iam.gserviceaccount.com.

remoteA2aAgent

object (Agent.RemoteA2aAgent)

Facultatif. Agent A2A distant à utiliser pour l'exécution de l'agent.

Fin des champs qui s'excluent mutuellement.

Agent.LlmAgent

Ce type ne comporte aucun champ.

Type d'agent par défaut. L'agent utilise les instructions et les rappels spécifiés dans l'agent pour effectuer la tâche à l'aide d'un grand modèle de langage.

Agent.RemoteDialogflowAgent

Agent qui transférera l'exécution à un agent Dialogflow CX distant. L'agent Dialogflow traitera les requêtes utilisateur suivantes jusqu'à la fin de la session ou du flux, et le contrôle sera transféré à l'agent CES parent.

Représentation JSON
{
  "agent": string,
  "flowId": string,
  "environmentId": string,
  "inputVariableMapping": {
    string: string,
    ...
  },
  "outputVariableMapping": {
    string: string,
    ...
  },
  "respectResponseInterruptionSettings": boolean,
  "languageCodeVariable": string
}
Champs
agent

string

Obligatoire. Nom de ressource de l'agent Dialogflow. Format : projects/{project}/locations/{location}/agents/{agent}

flowId

string

Facultatif. ID du flux dans l'agent Dialogflow.

environmentId

string

Facultatif. ID de l'environnement de l'agent Dialogflow à utiliser pour l'exécution de l'agent. Si aucun environnement n'est spécifié, l'environnement brouillon sera utilisé.

inputVariableMapping

map (key: string, value: string)

Facultatif. Mappage des noms des variables d'application avec les noms des paramètres de session Dialogflow à envoyer à l'agent Dialogflow en tant qu'entrée.

Objet contenant une liste de paires "key": value. Exemple : { "name": "wrench", "mass": "1.3kg", "count": "3" }.

outputVariableMapping

map (key: string, value: string)

Facultatif. Mappage des noms de paramètres de session Dialogflow aux noms de variables d'application à renvoyer à l'agent CES une fois l'exécution de l'agent Dialogflow terminée.

Objet contenant une liste de paires "key": value. Exemple : { "name": "wrench", "mass": "1.3kg", "count": "3" }.

respectResponseInterruptionSettings

boolean

Facultatif. Indique s'il faut respecter les paramètres d'interruption au niveau du message configurés dans l'agent Dialogflow.

  • Si la valeur est "false", tous les messages de réponse de l'agent Dialogflow suivent les paramètres d'interruption au niveau de l'application.
  • Si la valeur est "true", seuls les messages de réponse dont le champ allow_playback_interruption est défini sur "true" pourront être interrompus. Tous les autres messages suivront les paramètres d'interruption au niveau de l'application.
languageCodeVariable

string

Facultatif. Nom de la variable contenant le code de langue à utiliser pour la session Dialogflow. Si aucune valeur n'est spécifiée, le code de langue par défaut de l'agent Dialogflow sera utilisé.

Agent.RemoteA2aAgent

Agent qui transférera l'exécution à un agent A2A distant.

Représentation JSON
{
  "a2aConfig": {
    object (RemoteA2aConfig)
  }
}
Champs
a2aConfig

object (RemoteA2aConfig)

Obligatoire. Configuration de la connexion A2A.

RemoteA2aConfig

Configuration partagée pour la connexion à un agent A2A distant.

Représentation JSON
{
  "apiAuthentication": {
    object (ApiAuthentication)
  },
  "inputVariableMapping": {
    string: string,
    ...
  },
  "outputVariableMapping": {
    string: string,
    ...
  },
  "streamingEnabled": boolean,
  "contextId": string,

  // The following is a list of mutually exclusive fields. At most one of the
  // fields will be set in a response:
  "agentCard": {
    object (AgentCard)
  },
  "agentRegistry": string
  // End of mutually exclusive fields.
}
Champs
apiAuthentication

object (ApiAuthentication)

Facultatif. Configuration de l'authentification pour appeler l'agent distant. Facultatif si la référence de registre gère déjà l'authentification.

inputVariableMapping

map (key: string, value: string)

Facultatif. Mappage des noms de variables d'entrée de l'agent distant aux noms de variables GECX.

Objet contenant une liste de paires "key": value. Exemple : { "name": "wrench", "mass": "1.3kg", "count": "3" }.

outputVariableMapping

map (key: string, value: string)

Facultatif. Mappage des noms de variables de sortie de l'agent distant avec les noms de variables GECX.

Objet contenant une liste de paires "key": value. Exemple : { "name": "wrench", "mass": "1.3kg", "count": "3" }.

streamingEnabled

boolean

Facultatif. Indique si le streaming est activé pour l'agent à distance.

contextId

string

Facultatif. Si ce champ n'est pas vide, les interactions avec l'agent A2A distant utiliseront cet ID de contexte. Ce champ contextId peut faire référence à une variable de session telle que $context.variables.order_agent_session_id.

Spécification de l'agent distant. Vous trouverez ci-dessous la liste des champs mutuellement exclusifs. Au maximum, un seul des champs sera défini dans une réponse :
agentCard

object (AgentCard)

Facultatif. Carte complète de l'agent définie de manière intégrée.

agentRegistry

string

Facultatif. Référence à l'agent dans Agent Registry. Format : projects/{project}/locations/{location}/agents/{agent}

Fin des champs qui s'excluent mutuellement.

Agent.AgentToolset

Ensemble d'outils avec une sélection de ses outils.

Représentation JSON
{
  "toolset": string,
  "toolIds": [
    string
  ]
}
Champs
toolset

string

Obligatoire. Nom de ressource de l'ensemble d'outils. Format : projects/{project}/locations/{location}/apps/{app}/toolsets/{toolset}

toolIds[]

string

Facultatif. ID des outils permettant de filtrer l'ensemble d'outils.

TransferRule

Règle pour transférer la conversation à un agent spécifique.

Représentation JSON
{
  "childAgent": string,
  "direction": enum (TransferRule.Direction),

  // The following is a list of mutually exclusive fields. At most one of the
  // fields will be set in a response:
  "deterministicTransfer": {
    object (TransferRule.DeterministicTransfer)
  },
  "disablePlannerTransfer": {
    object (TransferRule.DisablePlannerTransfer)
  }
  // End of mutually exclusive fields.
}
Champs
childAgent

string

Obligatoire. Nom de ressource de l'agent enfant auquel s'applique la règle. Format : projects/{project}/locations/{location}/apps/{app}/agents/{agent}

direction

enum (TransferRule.Direction)

Obligatoire. Sens du transfert.

Type de règle. Vous trouverez ci-dessous la liste des champs mutuellement exclusifs. Au maximum, un seul des champs sera défini dans une réponse :
deterministicTransfer

object (TransferRule.DeterministicTransfer)

Facultatif. Règle qui transfère immédiatement la conversation à l'agent cible lorsque la condition est remplie.

disablePlannerTransfer

object (TransferRule.DisablePlannerTransfer)

Facultatif. Règle qui empêche le planificateur d'être transféré à l'agent cible.

Fin des champs qui s'excluent mutuellement.

TransferRule.DeterministicTransfer

Règle de transfert déterministe. Lorsque la condition renvoie la valeur "true", le transfert a lieu.

Représentation JSON
{

  // The following is a list of mutually exclusive fields. At most one of the
  // fields will be set in a response:
  "expressionCondition": {
    object (ExpressionCondition)
  },
  "pythonCodeCondition": {
    object (PythonCodeCondition)
  }
  // End of mutually exclusive fields.
}
Champs
Condition à évaluer. Vous trouverez ci-dessous la liste des champs mutuellement exclusifs. Au maximum, un seul des champs sera défini dans une réponse :
expressionCondition

object (ExpressionCondition)

Facultatif. Règle qui évalue une condition d'état de session. Si la condition renvoie la valeur "true", le transfert a lieu.

pythonCodeCondition

object (PythonCodeCondition)

Facultatif. Règle qui utilise un bloc de code Python pour évaluer les conditions. Si la condition renvoie la valeur "true", le transfert a lieu.

Fin des champs qui s'excluent mutuellement.

ExpressionCondition

Condition d'expression basée sur l'état de la session.

Représentation JSON
{
  "expression": string
}
Champs
expression

string

Obligatoire. Représentation sous forme de chaîne de la condition cloud.api.Expression.

PythonCodeCondition

Bloc de code Python permettant d'évaluer la condition.

Représentation JSON
{
  "pythonCode": string
}
Champs
pythonCode

string

Obligatoire. Code Python à exécuter.

TransferRule.DisablePlannerTransfer

Règle qui empêche le planificateur d'être transféré à l'agent cible.

Représentation JSON
{
  "expressionCondition": {
    object (ExpressionCondition)
  }
}
Champs
expressionCondition

object (ExpressionCondition)

Obligatoire. Si la condition renvoie la valeur "true", le planificateur ne sera pas autorisé à transférer la demande à l'agent cible.

TransferRule.Direction

Sens du transfert.

Enums
DIRECTION_UNSPECIFIED Direction non spécifiée.
PARENT_TO_CHILD Transférez l'agent parent vers l'agent enfant.
CHILD_TO_PARENT Transférez de l'agent enfant vers l'agent parent.

Méthodes

create

Crée un agent dans l'application spécifiée.

delete

Supprime l'agent spécifié.

get

Récupère les détails de l'agent spécifié.

list

Liste les agents dans l'application spécifiée.

patch

Met à jour l'agent spécifié.