Devolva o controle ao agente desenvolvedor enviando informações extraídas em uma resposta InvokeAgent - Amazon Bedrock

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Devolva o controle ao agente desenvolvedor enviando informações extraídas em uma resposta InvokeAgent

Em vez de enviar as informações que seu agente obteve do usuário para uma função do Lambda para preenchimento, você pode optar por devolver o controle ao desenvolvedor do agente enviando as informações na resposta. InvokeAgent Você pode configurar o retorno do controle para o desenvolvedor do agente ao criar ou atualizar um grupo de ação. Por meio da API, você especifica RETURN_CONTROL como o customControl valor no actionGroupExecutor objeto em uma UpdateAgentActionGroupsolicitação CreateAgentActionGroupor. Para ter mais informações, consulte Adicione um grupo de ação ao seu agente no Amazon Bedrock.

Se você configurar o retorno de controle para um grupo de ação e se o agente determinar que deve chamar uma ação nesse grupo de ação, os detalhes da API ou da função extraídos do usuário serão retornados no invocationInputs campo da InvokeAgentresposta, junto com um exclusivo. invocationId Você pode, então, fazer o seguinte:

  • Configure seu aplicativo para invocar a API ou função que você definiu, desde que as informações sejam retornadas noinvocationInputs.

  • Envie os resultados da invocação do seu aplicativo em outra InvokeAgentsolicitação, no sessionState campo, para fornecer contexto ao agente. Você deve usar os mesmos invocationId e actionGroup que foram retornados na InvokeAgentresposta. Essas informações podem ser usadas como contexto para orquestração adicional, enviadas ao pós-processamento para que o agente formate uma resposta ou usadas diretamente na resposta do agente ao usuário.

    nota

    Se você incluir returnControlInvocationResults no sessionState campo, o inputText campo será ignorado.

Para saber como configurar o retorno do controle para o desenvolvedor do agente ao criar o grupo de ação, consulteAdicione um grupo de ação ao seu agente no Amazon Bedrock.

Exemplo de devolução do controle ao agente desenvolvedor

Por exemplo, você pode ter os seguintes grupos de ação:

  • Um grupo de PlanTrip ação com uma suggestActivities ação que ajuda seus usuários a encontrar atividades para fazer durante uma viagem. O description para esta ação dizThis action suggests activities based on retrieved weather information.

  • Um grupo de WeatherAPIs ação com uma getWeather ação que ajuda o usuário a saber o clima de um local específico. Os parâmetros obrigatórios da ação são location date e. O grupo de ação está configurado para devolver o controle ao desenvolvedor do agente.

A seguir está uma sequência hipotética que pode ocorrer:

  1. O usuário solicita ao seu agente a seguinte consulta: What should I do today? Essa consulta é enviada no inputText campo de uma InvokeAgentsolicitação.

  2. Seu agente reconhece que a suggestActivities ação deve ser invocada, mas, dada a descrição, prevê que ele deve primeiro invocar a getWeather ação como contexto para ajudar a realizar a ação. suggestActivities

  3. O agente sabe que a corrente date é2024-09-15, mas precisa location do usuário como parâmetro necessário para obter o clima. Ele reavisa o usuário com a pergunta “Onde você está localizado?”

  4. O usuário responde. Seattle

  5. O agente retorna os parâmetros da InvokeAgentresposta a seguir (selecione uma guia para ver exemplos de um grupo de ações definido com esse método): getWeather

    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. Seu aplicativo está configurado para usar esses parâmetros para obter a previsão do tempo seattle para a data2024-09-15. O clima está determinado como chuvoso.

  7. Você envia esses resultados no sessionState campo de outra InvokeAgentsolicitação, usando o function mesmo invocationId e da resposta anterior. actionGroup Selecione uma guia para ver exemplos de um grupo de ações definido com esse 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. O agente prevê que ele deve chamar a suggestActivities ação. Ele usa o contexto de que está chuvoso naquele dia e sugere atividades internas, em vez de externas, para o usuário na resposta.