Devolución del control al desarrollador del agente al enviar la información obtenida en una respuesta de InvokeAgent - Amazon Bedrock

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Devolución del control al desarrollador del agente al enviar la información obtenida en una respuesta de InvokeAgent

En lugar de enviar la información que el agente ha obtenido del usuario a una función de Lambda para su procesamiento, puede optar por devolver el control al desarrollador del agente mediante el envío de la información en la respuesta de InvokeAgent. Puede configurar la devolución del control al desarrollador del agente al crear o actualizar un grupo de acciones. A través de la API, especifica RETURN_CONTROL como valor customControl en el objeto actionGroupExecutor de una solicitud CreateAgentActionGroup o UpdateAgentActionGroup. Para obtener más información, consulte Agregación de un grupo de acciones al agente en Amazon Bedrock.

Si configura la devolución del control para un grupo de acciones y el agente determina que debe llamar a una acción en ese grupo de acciones, los detalles de la API o de la función obtenidos del usuario se devolverán en el campo invocationInputs de la respuesta de InvokeAgent, junto con un invocationId único. A continuación puede hacer lo siguiente:

  • Configurar la aplicación para que invoque la API o la función que ha definido, siempre que la información se devuelva en las invocationInputs.

  • Enviar los resultados de la invocación de la aplicación en otra solicitud InvokeAgent, en el campo sessionState, para proporcionar contexto al agente. Debe usar los mismos invocationId y actionGroup devueltos en la respuesta de InvokeAgent. Esta información puede usarse como contexto para una mayor orquestación, enviarse al posprocesamiento para que el agente formatee una respuesta o usarse directamente en la respuesta del agente al usuario.

    nota

    Si incluye returnControlInvocationResults en el campo sessionState, el campo inputText se ignorará.

Para obtener más información sobre cómo configurar la devolución del control al desarrollador del agente al crear el grupo de acciones, consulte Agregación de un grupo de acciones al agente en Amazon Bedrock.

Ejemplo de devolución del control al desarrollador del agente

Por ejemplo, es posible que tenga los siguientes grupos de acciones:

  • Un grupo de acciones PlanTrip con una acción suggestActivities que ayuda a los usuarios a encontrar actividades a realizar durante un viaje. La description de esta acción dice This action suggests activities based on retrieved weather information.

  • Un grupo de acciones WeatherAPIs con una acción getWeather que ayuda al usuario a conocer la previsión meteorológica de una ubicación específica. Los parámetros obligatorios de la acción son location y date. El grupo de acciones está configurado para devolver el control al desarrollador del agente.

A continuación se muestra una secuencia hipotética que podría producirse:

  1. El usuario hace la siguiente consulta a su agente: What should I do today?. Esta consulta se envía en el campo inputText de una solicitud InvokeAgent.

  2. Su agente reconoce que la acción suggestActivities debe invocarse, pero según la descripción, predice que primero debe invocar la acción getWeather como contexto para ayudar a llevar a cabo la acción suggestActivities.

  3. El agente sabe que la date actual es 2024-09-15, pero necesita la location del usuario como parámetro obligatorio para obtener la previsión meteorológica. Así que le vuelve a preguntar al usuario dónde se encuentra.

  4. El usuario responde Seattle.

  5. El agente devuelve los parámetros de getWeather en la siguiente respuesta de InvokeAgent (seleccione una pestaña para ver ejemplos de un grupo de acciones definido con ese método):

    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. La aplicación está configurada para usar estos parámetros a fin de obtener la previsión meteorológica de seattle en la fecha 2024-09-15. El resultado de la previsión meteorológica es que será un día lluvioso.

  7. Los resultados se envían en el campo sessionState de otra solicitud InvokeAgent con los mismos invocationId, actionGroup y function de la respuesta anterior. Seleccione una pestaña para ver ejemplos de un grupo de acciones definido con este método:

    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. El agente predice que debe llamar a la acción suggestActivities. Como respuesta, utiliza el contexto de que es un día lluvioso y le sugiere al usuario actividades de interior, en lugar de exterior.