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á.
Usar a recuperação com agente para consultar uma base de conhecimentos
A recuperação agente usa um modelo básico para decompor de forma inteligente consultas complexas em subconsultas, recuperar iterativamente informações relevantes de suas bases de conhecimento e avaliar se os resultados recuperados são suficientes para responder à consulta original. Essa abordagem melhora a precisão da recuperação de questões complexas de várias etapas que um único passe de recuperação pode não resolver totalmente.
Por exemplo, dada a pergunta “Qual revista foi criada primeiro, Arthur's Magazine ou First for Women?” , a recuperação agente divide isso em subconsultas separadas, como “Quando foi fundada a Arthur's Magazine?” e “Quando foi fundada a First for Women?” , recupera os resultados de cada um e avalia se os resultados combinados são suficientes.
Como funciona a recuperação de agentes
Quando você envia uma solicitação para a AgenticRetrieveStream API, ocorre o seguinte processo:
-
Planejamento — O modelo básico analisa sua consulta e cria um plano para decompô-la em uma ou mais subconsultas. Cada subconsulta tem como alvo um recuperador específico que você configurou. Depois que os resultados da recuperação são coletados, o modelo básico avalia se eles são suficientes para responder à consulta original. Caso contrário, ele planeja e executa iterações de recuperação adicionais, até o máximo configurado.
-
Recuperação — As subconsultas são executadas nos recuperadores configurados da base de conhecimento. Os resultados são coletados de cada recuperação.
-
Expansão total do documento — Quando o modelo básico determina que o conteúdo completo de um documento é necessário (por exemplo, para resumir, verificar a integridade ou acessar seções específicas), ele chama a GetDocumentContent API para recuperar o conteúdo completo do documento.
-
Geração de resposta — Quando
generateResponsedefinido comotrue(o padrão), o modelo básico sintetiza uma resposta em linguagem natural a partir dos resultados recuperados. A resposta é transmitida de volta para você por meio deresponseEventeventos. -
Evento de resultado — Os resultados da recuperação desduplicada de todas as iterações, a resposta completa em linguagem natural sintetizada e as citações são devolvidas a você. Os eventos de rastreamento são transmitidos ao longo do processo para fins de observação.
Pré-requisitos
Antes de usar a recuperação agente, você deve ter o seguinte:
-
Uma base de conhecimento totalmente gerenciada da Amazon Bedrock. Atualmente, a recuperação agente oferece suporte somente a bases de conhecimento gerenciadas.
-
Acesso a um modelo básico no Amazon Bedrock para uso no planejamento e avaliação de consultas.
-
As permissões de IAM necessárias. Para obter mais informações, consulte Permissões necessárias para recuperação de agentes.
Consulte uma base de conhecimento com recuperação de agentes
Para usar a recuperação agente, envie uma solicitação. AgenticRetrieveStream A resposta é um fluxo que inclui resultados de recuperação e eventos de rastreamento.
A tabela a seguir descreve os principais campos de solicitação:
| Campo | Description |
|---|---|
| mensagens | A consulta de entrada e o histórico da conversa. Cada mensagem contém um content campo com um text valor e um role campo (userouassistant). |
| recuperadores | A base de conhecimento é recuperada para buscar dados. Você pode especificar até 5 recuperadores, cada um apontando para uma base de conhecimento gerenciada por meio de seu ID. Opcionalmente, cada recuperador pode incluir filtros de metadados e um número máximo de resultados. |
| agente RetrieveConfiguration | A configuração de recuperação do agente, incluindo o modelo básico a ser usado para planejamento e avaliação de consultas e, opcionalmente, um modelo de reclassificação e a contagem máxima de iterações do agente. |
| Campo | Description |
|---|---|
| Configuração de política | Configura uma grade de proteção Amazon Bedrock para ser aplicada durante a recuperação do agente. Especifique um guardrailId guardrailVersion e. |
| Contexto do usuário | Fornece um contexto de usuário para filtragem de controle de acesso. |
| Gerar resposta | Um campo booleano que, quando definido como true (o padrão), instrui o modelo básico a gerar uma resposta em linguagem natural a partir dos resultados recuperados. A resposta é transmitida de volta como pedaços de texto e incluída no evento resultante. |
Para ver a sintaxe completa de solicitação e resposta, consulte AgenticRetrieveStream na referência da API.
Resposta de recuperação de agentes
A AgenticRetrieveStream resposta é um fluxo que contém os seguintes tipos de eventos:
-
Evento de resultado (
AgenticRetrieveResultEvent) — O evento final entregue quando o processamento é concluído. Contém os resultados da recuperação e, quando a geração de respostas está ativada, a resposta gerada. O evento resultante inclui:-
Resultados da recuperação (
results) — Os fragmentos de origem recuperados em todas as iterações. Cada resultado inclui conteúdo, identificador do recuperador de origem e metadados opcionais. Quando o mesmo bloco é recuperado por várias subconsultas, ele aparece apenas uma vez nos resultados finais. -
Resposta gerada (
generatedResponse) — QuandogenerateResponsedefinido comotrue(o padrão), o evento resultante inclui umgeneratedResponseobjeto contendo:-
answer— O texto completo da resposta em linguagem natural sintetizado. -
citations— Uma lista opcional que mapeia extensões da resposta para apoiar os resultados da recuperação. Cada citação contém:-
startIndex— O deslocamento de caracteres em que a passagem citada começa dentro daanswerstring. -
endIndex— O deslocamento de caracteres onde a passagem citada termina (exclusivo — o texto citado vai destartIndexaté, mas não incluiendIndex). -
references— Uma lista em que cada referência tem umresultIndexcampo indexado naresultsmatriz no mesmo evento de resultado, indicando qual resultado de recuperação suporta o intervalo citado.
-
-
-
-
Eventos de resposta (
AgenticRetrieveResponseEvent) — QuandogenerateResponsedefinido comotrue(o padrão), osresponseEventeventos são transmitidos durante a geração da resposta. Cada evento contém umtextcampo com uma parte incremental da resposta sintetizada em idioma natural. -
Trace events (
AgenticRetrieveTraceEvent) — Eventos transmitidos durante o processo de recuperação do agente que fornecem visibilidade de cada etapa. Estes são os tipos de eventos de rastreamento:-
Planejamento — indica que o modelo básico está analisando a consulta e criando subconsultas. Inclui as ações planejadas e os recuperadores alvo.
-
Recuperação — Indica que uma recuperação está sendo executada em uma base de conhecimento. Inclui a entrada de recuperação, a saída e quaisquer avisos ou falhas.
-
Recuperação especulativa — Uma recuperação inicial que é executada antes da primeira etapa de planejamento para reduzir a latência. Para uma única base de conhecimento, isso recupera resultados usando a consulta bruta do usuário. Para várias bases de conhecimento, isso realiza uma pesquisa de sonda para ajudar a encaminhar as consultas para os recuperadores apropriados.
-
Expansão completa do documento — Indica que o agente está recuperando todo o conteúdo de um documento específico. Inclui a ID do documento, o recuperador de origem e o status (InProgresssucesso ou falha).
-
Permissões necessárias para recuperação de agentes
Para usar a AgenticRetrieveStream API, a identidade do IAM de chamada deve ter as seguintes permissões:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "bedrock:AgenticRetrieveStream", "Resource": "*" }, { "Effect": "Allow", "Action": [ "bedrock:Retrieve", "bedrock:GetDocumentContent" ], "Resource": "arn:aws:bedrock:region:account-id:knowledge-base/*" }, { "Effect": "Allow", "Action": "bedrock:InvokeModelWithResponseStream", "Resource": "*" } ] }
Se você usar grades de proteção com recuperação de agentes, adicione as seguintes permissões:
{ "Effect": "Allow", "Action": [ "bedrock:GetGuardrail", "bedrock:ApplyGuardrail" ], "Resource": "*" }
Considerações
Lembre-se do seguinte ao usar a recuperação agente:
-
A recuperação agente só oferece suporte às bases de conhecimento gerenciadas do Amazon Bedrock.
-
Para obter cotas de recuperadores por solicitação, resultados por chamada de recuperação e máximo de iterações de agentes, consulte. Cotas de serviço para bases de conhecimento gerenciadas
-
Reduzir a contagem máxima de iterações pode fazer com que o agente pare mais cedo, potencialmente reduzindo a precisão de consultas complexas.
-
Ao configurar guardrails, somente a
BLOCKação é suportada. AMASKação não é suportada pela recuperação de agentes. -
O cliente fornece e é proprietário do modelo básico, do modelo de incorporação e do modelo de reclassificação usados durante a recuperação do agente, se fornecidos. Suas credenciais do IAM são usadas para invocar esses modelos.