Devuelva el control al desarrollador del agente enviando la información obtenida en una respuesta 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.

Devuelva el control al desarrollador del agente enviando la información obtenida en una respuesta InvokeAgent

En lugar de enviar la información que su agente ha obtenido del usuario a una función de Lambda para su procesamiento, puede optar por devolver el control al desarrollador del agente enviando la información en el InvokeAgentrespuesta. 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, RETURN_CONTROL se especifica como customControl valor del actionGroupExecutor objeto en un CreateAgentActionGroup o UpdateAgentActionGroup request. Para obtener más información, consulte Agregación de un grupo de acciones al agente en Amazon Bedrock.

Si configuras la devolución del control para un grupo de acciones y si el agente determina que debe realizar una acción en ese grupo de acciones, los detalles de la API o de la función obtenidos por el usuario se devolverán en el invocationInputs campo de InvokeAgentrespuesta, junto con una únicainvocationId. 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.

  • Envía los resultados de la invocación de tu aplicación en otra InvokeAgentsolicite, en el sessionState campo, proporcionar contexto al agente. Debe utilizar los mismos invocationId y actionGroup que se devolvieron en el InvokeAgentrespuesta. 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 solicita a su agente la siguiente consulta: What should I do today? Esta consulta se envía en el inputText campo de un InvokeAgent request.

  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 la getWeather siguiente manera InvokeAgentrespuesta (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. Envía estos resultados en el sessionState campo de otro InvokeAgentsolicitud, utilizando la misma invocationIdactionGroup, y function como 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.