View a markdown version of this page

Utilice la recuperación de agentes para consultar una base de conocimientos - 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.

Utilice la recuperación de agentes para consultar una base de conocimientos

La recuperación de agentes utiliza un modelo básico para descomponer de forma inteligente las consultas complejas en subconsultas, recuperar de forma iterativa la información relevante de sus bases de conocimiento y evaluar si los resultados recuperados son suficientes para responder a la consulta original. Este enfoque mejora la precisión de la recuperación de preguntas complejas de varios pasos que podrían no abordarse por completo con una sola pasada de recuperación.

Por ejemplo, ante la pregunta «¿Qué revista se creó primero, Arthur's Magazine o primero para mujeres?» , agentic retrieval lo divide en subconsultas independientes, como «¿Cuándo se fundó Arthur's Magazine?» y «¿Cuándo se fundó First for Women?» , recupera los resultados de cada uno y evalúa si los resultados combinados son suficientes.

Cómo funciona la recuperación de agentes

Cuando envías una solicitud a la AgenticRetrieveStream API, se produce el siguiente proceso:

  1. Planificación: el modelo básico analiza la consulta y crea un plan para descomponerla en una o más subconsultas. Cada subconsulta se dirige a un recuperador específico que hayas configurado. Una vez recopilados los resultados de la recuperación, el modelo básico evalúa si son suficientes para responder a la consulta original. De lo contrario, planifica y ejecuta iteraciones de recuperación adicionales, hasta el máximo configurado.

  2. Recuperación: las subconsultas se ejecutan en los recuperadores de la base de conocimientos configurados. Los resultados se recopilan de cada recuperación.

  3. Expansión completa del documento: cuando el modelo básico determina que se necesita todo el contenido de un documento (por ejemplo, para resumir, verificar la integridad o acceder a secciones específicas), llama a la GetDocumentContent API para recuperar el contenido completo del documento.

  4. Generación de respuestas: cuando generateResponse se establece en true (opción predeterminada), el modelo básico sintetiza una respuesta en lenguaje natural a partir de los resultados recuperados. La respuesta se transmite a través de eventos. responseEvent

  5. Evento resultante: se le devuelven los resultados de la recuperación deduplicada de todas las iteraciones, la respuesta completa sintetizada en lenguaje natural y las citas. Los eventos de rastreo se transmiten a lo largo del proceso para garantizar su observabilidad.

Requisitos previos

Para poder utilizar la recuperación de agentes, debe disponer de lo siguiente:

  • Una base de conocimientos de Amazon Bedrock totalmente gestionada. Actualmente, Agentic Retrieval solo admite bases de conocimiento gestionadas.

  • Acceso a un modelo básico en Amazon Bedrock para usarlo en la planificación y evaluación de consultas.

  • Los permisos de IAM necesarios. Para obtener más información, consulte Permisos necesarios para la recuperación del agente.

Consulte una base de conocimientos con recuperación por agentes

Para utilizar la recuperación con agentes, envíe una solicitud. AgenticRetrieveStream La respuesta es una secuencia que incluye los resultados de la recuperación y los eventos de rastreo.

En la siguiente tabla se describen los campos de solicitud clave:

Campos obligatorios
Campo Description (Descripción)
Mensajes El historial de consultas y conversaciones de entrada. Cada mensaje contiene un content campo con un text valor y un role campo (useroassistant).
recuperadores Los recuperadores de la base de conocimientos de los que extraer datos. Puede especificar hasta 5 recuperadores, cada uno de los cuales apunta a una base de conocimiento gestionada por su ID. Cada recuperador puede incluir opcionalmente filtros de metadatos y un número máximo de resultados.
agencial RetrieveConfiguration La configuración de recuperación del agente, que incluye el modelo básico que se utilizará para la planificación y la evaluación de las consultas y, opcionalmente, un modelo de reclasificación y el recuento máximo de iteraciones del agente.
Campos opcionales
Campo Description (Descripción)
Configuración de políticas Configura una barandilla Amazon Bedrock para que se aplique durante la recuperación del agente. guardrailIdguardrailVersionEspecifique una y.
Contexto de usuario Proporciona un contexto de usuario para el filtrado del control de acceso.
Genera una respuesta Un campo booleano que, cuando se establece en true (el valor predeterminado), indica al modelo básico que genere una respuesta en lenguaje natural a partir de los resultados recuperados. La respuesta se reproduce como fragmentos de texto y se incluye en el evento resultante.

Para ver la sintaxis completa de solicitud y respuesta, consulta la referencia AgenticRetrieveStreamde la API.

Respuesta de recuperación del agente

La AgenticRetrieveStream respuesta es una secuencia que contiene los siguientes tipos de eventos:

  • Evento resultante (AgenticRetrieveResultEvent): el evento final que se entrega cuando se completa el procesamiento. Contiene los resultados de la recuperación y, cuando la generación de respuestas está habilitada, la respuesta generada. El evento resultante incluye:

    • Resultados de la recuperación (results): los fragmentos de origen recuperados en todas las iteraciones. Cada resultado incluye el contenido, el identificador del recuperador de fuentes y los metadatos opcionales. Cuando varias subconsultas recuperan el mismo fragmento, solo aparece una vez en los resultados finales.

    • Respuesta generada (generatedResponse): cuando generateResponse se establece en true (valor predeterminado), el evento de resultado incluye un generatedResponse objeto que contiene:

      • answer— El texto completo de la respuesta sintetizado en lenguaje natural.

      • citations— Una lista opcional que mapea los intervalos de la respuesta con los resultados de la recuperación de datos. Cada cita contiene:

        • startIndex— El desfase de caracteres en el punto en el que comienza el pasaje citado dentro de la answer cadena.

        • endIndex— El desfase de caracteres donde termina el pasaje citado (exclusivo: el texto citado va de startIndex arriba a abajo, pero no incluidoendIndex).

        • references— Una lista en la que cada referencia tiene un resultIndex campo que se indexa en la results matriz del mismo evento resultante, lo que indica qué resultado de la recuperación es compatible con el intervalo citado.

  • Eventos de respuesta (AgenticRetrieveResponseEvent): cuando generateResponse se establece en true (valor predeterminado), los responseEvent eventos se transmiten durante la generación de la respuesta. Cada evento contiene un text campo con una parte incremental de la respuesta sintetizada en lenguaje natural.

  • Eventos de rastreo (AgenticRetrieveTraceEvent): eventos transmitidos durante el proceso de recuperación del agente que proporcionan visibilidad de cada paso. Estos son los tipos de eventos de rastreo:

    • Planificación: indica que el modelo básico está analizando la consulta y creando subconsultas. Incluye las acciones planificadas y los recuperadores de objetivos.

    • Recuperación: indica que se está ejecutando una recuperación en una base de conocimientos. Incluye la entrada y la salida de la recuperación y cualquier advertencia o error.

    • Recuperación especulativa: recuperación inicial que se ejecuta antes del primer paso de planificación para reducir la latencia. En el caso de una base de conocimientos única, se recuperan los resultados mediante la consulta de usuario sin procesar. En el caso de varias bases de conocimiento, se realiza una búsqueda por sondeo para ayudar a dirigir las consultas a los recuperadores adecuados.

    • Expansión completa del documento: indica que el agente está recuperando el contenido completo de un documento específico. Incluye el identificador del documento, el recuperador de origen y el estado (InProgresscorrecto o erróneo).

Permisos necesarios para la recuperación del agente

Para utilizar la AgenticRetrieveStream API, la identidad de IAM que realiza la llamada debe tener los siguientes permisos:

{ "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": "*" } ] }

Si utiliza barandas con recuperación por agentes, añada los siguientes permisos:

{ "Effect": "Allow", "Action": [ "bedrock:GetGuardrail", "bedrock:ApplyGuardrail" ], "Resource": "*" }

Consideraciones

Tenga en cuenta lo siguiente cuando utilice la recuperación con agentes:

  • La recuperación de agentes solo es compatible con las bases de conocimiento gestionadas de Amazon Bedrock.

  • Para conocer las cuotas de recuperadores por solicitud, los resultados por llamada de recuperación y el número máximo de iteraciones de los agentes, consulte. Cuotas de servicio para bases de conocimiento gestionadas

  • Reducir el número máximo de iteraciones puede provocar que el agente se detenga antes, lo que podría reducir la precisión de las consultas complejas.

  • Al configurar las barandillas, solo se admite la BLOCK acción. La MASK acción no es compatible con la recuperación de agentes.

  • El cliente proporciona y es propietario del modelo base, el modelo de incrustación y el modelo de reclasificación utilizados durante la recuperación de agentes, si se proporcionan. Sus credenciales de IAM se utilizan para invocar estos modelos.