Redonnez le contrôle au développeur de l'agent en envoyant les informations obtenues dans une réponse InvokeAgent - Amazon Bedrock

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Redonnez le contrôle au développeur de l'agent en envoyant les informations obtenues dans une réponse InvokeAgent

Plutôt que d'envoyer les informations que votre agent a obtenues de l'utilisateur à une fonction Lambda pour exécution, vous pouvez choisir de redonner le contrôle au développeur de l'agent en envoyant les informations dans le InvokeAgentréponse. Vous pouvez configurer le retour de contrôle au développeur de l'agent lors de la création ou de la mise à jour d'un groupe d'actions. Grâce à l'API, vous spécifiez RETURN_CONTROL comme customControl valeur de l'actionGroupExecutorobjet dans un CreateAgentActionGroup ou UpdateAgentActionGroup de la demande. Pour de plus amples informations, veuillez consulter Ajoutez un groupe d'action à votre agent dans Amazon Bedrock.

Si vous configurez le retour de contrôle pour un groupe d'actions, et si l'agent détermine qu'il doit appeler une action dans ce groupe d'actions, les détails de l'API ou de la fonction obtenus auprès de l'utilisateur seront renvoyés dans le invocationInputs champ du InvokeAgentréponse, associée à une réponse uniqueinvocationId. Vous pouvez alors effectuer ce qui suit :

  • Configurez votre application pour appeler l'API ou la fonction que vous avez définie, à condition que les informations soient renvoyées dans leinvocationInputs.

  • Envoyez les résultats de l'invocation de votre candidature dans un autre InvokeAgentdemande, sessionState sur le terrain, de fournir un contexte à l'agent. Vous devez utiliser les mêmes invocationId et ceux actionGroup qui ont été renvoyés dans InvokeAgentréponse. Ces informations peuvent être utilisées comme contexte pour une orchestration ultérieure, envoyées au post-traitement pour que l'agent mette en forme une réponse, ou utilisées directement dans la réponse de l'agent à l'utilisateur.

    Note

    Si vous l'incluez returnControlInvocationResults dans le sessionState champ, le inputText champ sera ignoré.

Pour savoir comment configurer le retour de contrôle au développeur de l'agent lors de la création du groupe d'actions, voirAjoutez un groupe d'action à votre agent dans Amazon Bedrock.

Exemple de retour du contrôle au développeur de l'agent

Par exemple, vous pouvez avoir les groupes d'actions suivants :

  • Un groupe PlanTrip d'action avec une suggestActivities action qui aide vos utilisateurs à trouver des activités à effectuer pendant un voyage. Le description nom de cette action indiqueThis action suggests activities based on retrieved weather information.

  • Un groupe WeatherAPIs d'action avec une getWeather action qui aide votre utilisateur à obtenir la météo d'un lieu spécifique. Les paramètres requis pour l'action sont location etdate. Le groupe d'actions est configuré pour redonner le contrôle au développeur de l'agent.

Voici une séquence hypothétique qui pourrait se produire :

  1. L'utilisateur demande à votre agent la requête suivante : What should I do today? Cette requête est envoyée dans le inputText champ d'un InvokeAgent de la demande.

  2. Votre agent reconnaît que l'suggestActivitiesaction doit être invoquée, mais compte tenu de la description, il prévoit qu'il doit d'abord invoquer l'getWeatheraction comme contexte pour aider à exécuter l'suggestActivitiesaction.

  3. L'agent sait que date c'est le courant2024-09-15, mais il a besoin location du paramètre de l'utilisateur pour obtenir la météo. Il invite à nouveau l'utilisateur à poser la question « Où vous situez-vous ? »

  4. L'utilisateur répondSeattle.

  5. L'agent renvoie getWeather les paramètres suivants InvokeAgentréponse (sélectionnez un onglet pour voir des exemples de groupe d'action défini avec cette méthode) :

    Function details
    HTTP/1.1 200 x-amzn-bedrock-agent-content-type: application/json x-amz-bedrock-agent-session-id: session0 Content-type: application/json { "returnControl": { "invocationInputs": [{ "functionInvocationInput": { "actionGroup": "WeatherAPIs", "function": "getWeather", "parameters": [ { "name": "location", "type": "string", "value": "seattle" }, { "name": "date", "type": "string", "value": "2024-09-15" } ] } }], "invocationId": "79e0feaa-c6f7-49bf-814d-b7c498505172" } }
    OpenAPI schema
    HTTP/1.1 200 x-amzn-bedrock-agent-content-type: application/json x-amz-bedrock-agent-session-id: session0 Content-type: application/json { "invocationInputs": [{ "apiInvocationInput": { "actionGroup": "WeatherAPIs", "apiPath": "/get-weather", "httpMethod": "get", "parameters": [ { "name": "location", "type": "string", "value": "seattle" }, { "name": "date", "type": "string", "value": "2024-09-15" } ] } }], "invocationId": "337cb2f6-ec74-4b49-8141-00b8091498ad" }
  6. Votre application est configurée pour utiliser ces paramètres afin d'obtenir la météo seattle pour cette date2024-09-15. Le temps est déterminé à être pluvieux.

  7. Vous envoyez ces résultats dans le sessionState champ d'un autre InvokeAgentdemande, en utilisant la même invocationIdactionGroup, et function comme réponse précédente. Sélectionnez un onglet pour voir des exemples de groupes d'actions définis avec cette méthode :

    Function details
    POST https://bedrock-agent-runtime.us-east-1.amazonaws.com/agents/AGENT12345/agentAliases/TSTALIASID/sessions/abb/text { "enableTrace": true, "sessionState": { "invocationId": "79e0feaa-c6f7-49bf-814d-b7c498505172", "returnControlInvocationResults": [{ "functionResult": { "actionGroup": "WeatherAPIs", "function": "getWeather", "responseBody": { "TEXT": { "body": "It's rainy in Seattle today." } } } }] } }
    OpenAPI schema
    POST https: //bedrock-agent-runtime.us-east-1.amazonaws.com/agents/AGENT12345/agentAliases/TSTALIASID/sessions/abb/text { "enableTrace": true, "sessionState": { "invocationId": "337cb2f6-ec74-4b49-8141-00b8091498ad", "returnControlInvocationResults": [{ "apiResult": { "actionGroup": "WeatherAPIs", "httpMethod": "get", "apiPath": "/get-weather", "responseBody": { "application/json": { "body": "It's rainy in Seattle today." } } } }] } }
  8. L'agent prédit qu'il doit lancer l'suggestActivitiesaction. Il utilise le contexte selon lequel il pleut ce jour-là et suggère à l'utilisateur des activités intérieures plutôt qu'extérieures dans la réponse.