View a markdown version of this page

Utilización de la recuperación agéntica para consultar una base de conocimiento - 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.

Utilización de la recuperación agéntica para consultar una base de conocimiento

La recuperación por agencia utiliza un modelo básico para descomponer de forma inteligente las consultas complejas en subconsultas, recuperar de forma iterativa la información relevante de las 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 tal vez no se aborden en su totalidad con una sola pasada de recuperación.

Por ejemplo, ante la pregunta «¿Qué revista se creó primero, Arthur's Magazine o First for Women?» , agentic retrieval divide esta información 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 por agencia

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 resumirlo, para verificar que esté completo o para 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 (valor predeterminado), el modelo básico sintetiza una respuesta en lenguaje natural a partir de los resultados recuperados. La respuesta se te devuelve a través de eventos. responseEvent

  5. Evento de resultado: la recuperación deduplicada es el resultado de todas las iteraciones, y se le devuelven la respuesta completa sintetizada en lenguaje natural y las citas. Los eventos de rastreo se transmiten a lo largo de todo el proceso para que sean observables.

Requisitos previos

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

  • Una base de conocimientos de Amazon Bedrock totalmente gestionada. Por el momento, 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 por parte de la agencia.

Consulte una base de conocimientos con acceso a través de una agencia

Para usar la recuperación por agencia, envía una solicitud. AgenticRetrieveStream La respuesta es un flujo que incluye los resultados de la recuperación y los eventos de rastreo.

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

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 obtener datos. Puede especificar hasta 5 recuperadores, cada uno de los cuales apunte a una base de conocimiento gestionada por su ID. Cada recuperador puede incluir, de forma opcional, filtros de metadatos y un número máximo de resultados.
agencial RetrieveConfiguration La configuración de recuperación de la agencia, incluido el modelo básico que se utilizará para la planificación y evaluación de las consultas y, opcionalmente, un modelo de reclasificación y el recuento máximo de iteraciones de los agentes.
Campos opcionales
Campo Description (Descripción)
Configuración de la política Configura una barrera de protección de Amazon Bedrock para aplicarla durante la recuperación por parte de la agencia. guardrailIdguardrailVersionEspecifique una y.
Contexto de usuario Proporciona un contexto de usuario para el filtrado de control de acceso.
Genera una respuesta Un campo booleano que, cuando se establece en true (valor predeterminado), indica al modelo básico que genere una respuesta en lenguaje natural a partir de los resultados recuperados. La respuesta se devuelve en forma de fragmentos de texto y se incluye en el evento resultante.

Para ver la sintaxis completa de las solicitudes y respuestas, consulta la referencia AgenticRetrieveStream de la API.

Respuesta de recuperación agencial

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

  • Evento de resultado (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 recuperación (results): los fragmentos de origen recuperados en todas las iteraciones. Cada resultado incluye el contenido, el identificador del recuperador de origen 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 resultante incluye un generatedResponse objeto que contiene:

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

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

        • startIndex— El desplazamiento de caracteres donde comienza el pasaje citado dentro de la answer cadena.

        • endIndex— El desplazamiento de caracteres donde termina el pasaje citado (exclusivo: el texto citado va desde el startIndex hasta, pero sin incluirloendIndex).

        • references— Una lista en la que cada referencia tiene un resultIndex campo que se indexa en la results matriz en el mismo evento de resultado, indicando qué resultado de la recuperación admite 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.

  • Rastrear eventos (AgenticRetrieveTraceEvent): eventos transmitidos durante el proceso de recuperación por parte de la agencia y que permiten ver cada paso. Estos son los tipos de eventos de seguimiento:

    • Planificación: indica que el modelo base analiza la consulta y crea subconsultas. Incluye las acciones planificadas y los recuperadores objetivo.

    • Recuperación: indica que se está realizando 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 sin procesar del usuario. 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 todo el contenido de un documento específico. Incluye el identificador del documento, la fuente de recuperación y el estado (InProgresscorrecto o incorrecto).

Permisos necesarios para la recuperación por parte de la agencia

Para usar 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 utilizas barreras de protección con la recuperación mediante una agencia, agrega los siguientes permisos:

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

Consideraciones

Cuando utilices la recuperación por agencia, ten en cuenta lo siguiente:

  • La recuperación por agencia solo es compatible con las bases de conocimiento administradas de Amazon Bedrock.

  • Para conocer las cuotas de usuarios 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 administradas

  • Reducir el recuento 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 se admite con la recuperación por agencia.

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