La generación aumentada de recuperación (RAG, por sus siglas en inglés) es un enfoque de vanguardia para crear sistemas de respuesta a preguntas que combina las fortalezas de los modelos de recuperación y de lenguaje generativo. Los modelos RAG recuperan información relevante de un gran corpus de texto y luego utilizan un modelo de lenguaje generativo para sintetizar una respuesta basada en la información recuperada.
La complejidad de desarrollar e implementar una solución RAG de extremo a extremo involucra varios componentes, entre ellos una base de conocimiento, un sistema de recuperación y un modelo de lenguaje generativo. La creación e implementación de estos componentes puede ser compleja y propensa a errores, especialmente cuando se trabaja con datos y modelos a gran escala.
Esta publicación demuestra cómo automatizar sin problemas la implementación de una solución RAG de extremo a extremo utilizando Bases de conocimiento para Amazon Bedrock y el Kit de desarrollo de la nube de AWS (AWS CDK), que permite a las organizaciones configurar rápidamente un potente sistema de respuesta a preguntas.
Descripción general de la solución
La solución proporciona una implementación automatizada de extremo a extremo de un flujo de trabajo RAG mediante bases de conocimiento para Amazon Bedrock. Al utilizar AWS CDK, la solución configura los recursos necesarios, incluido un Gestión de identidad y acceso de AWS (IAM) papel, Amazon OpenSearch sin servidor colección e índice, y base de conocimientos con su fuente de datos asociada.
El flujo de trabajo RAG le permite utilizar los datos de sus documentos almacenados en un Servicio de almacenamiento simple de Amazon (Amazon S3) y lo integra con las potentes capacidades de procesamiento del lenguaje natural (PLN) de los modelos de base (FM) proporcionados por La roca madre del AmazonasLa solución simplifica el proceso de configuración al permitirle modificar programáticamente la infraestructura, implementar el modelo y comenzar a consultar sus datos utilizando el FM seleccionado.
Prerrequisitos
Para implementar la solución proporcionada en este post, debes contar con lo siguiente:
- Un activo Cuenta de AWS y familiaridad con los FM, La roca madre del Amazonasy Servicio OpenSearch de Amazon.
- Acceso al modelo habilitado para los modelos requeridos con los que desea experimentar.
- El AWS CDK ya está configurado. Para obtener instrucciones de instalación, consulte la Taller sobre AWS CDK.
- Un depósito S3 configurado con sus documentos en un formato compatible (.txt, .md, .html, .doc/docx, .csv, .xls/.xlsx, .pdf).
- El modelo Amazon Titan Embeddings V2 está habilitado en Amazon Bedrock. Puedes confirmar que está habilitado en Acceso al modelo Página de la consola de Amazon Bedrock. Si el modelo Amazon Titan Embeddings V2 está habilitado, el estado de acceso se mostrará como Acceso concedidocomo se muestra en la siguiente captura de pantalla.
Configurar la solución
Una vez completados los pasos previos, estará listo para configurar la solución:
- Clonar el repositorio de GitHub que contiene los archivos de la solución:
- Vaya al directorio de la solución:
- Crear y activar el entorno virtual:
La activación del entorno virtual varía según el sistema operativo; consulte la Taller sobre AWS CDK para activar en otros entornos.
- Una vez activado el entorno virtual, puedes instalar las dependencias necesarias:
Ahora puedes preparar el archivo .zip del código y sintetizarlo. Formación en la nube de AWS Plantilla para este código.
- En su terminal, exporte sus credenciales de AWS para un rol o usuario en
ACCOUNT_IDEl rol debe tener todos los permisos necesarios para la implementación del CDK:
exportar AWS_REGION=”” # Misma región queACCOUNT_REGIONarriba
exportar AWS_ACCESS_KEY_ID=”” # Establezca la clave de acceso de su rol/usuario
exportar AWS_SECRET_ACCESS_KEY=”” # Establezca la clave secreta de su rol/usuario - Crear la dependencia:
- Si está implementando AWS CDK por primera vez, ejecute el siguiente comando:
- Para sintetizar la plantilla CloudFormation, ejecute el siguiente comando:
- Dado que esta implementación contiene varias pilas, debe implementarlas en una secuencia específica. Implemente las pilas en el siguiente orden:
- Una vez finalizada la implementación, puede ver estas pilas implementadas visitando la consola de AWS CloudFormation, como se muestra a continuación. También puede anotar los detalles de la base de conocimientos (es decir, nombre, ID) en la pestaña de recursos.
Probar la solución
Ahora que ha implementado la solución utilizando AWS CDK, puede probarla con los siguientes pasos:
- En la consola de Amazon Bedrock, seleccione Bases de conocimiento en la página de navegación.
- Seleccione la base de conocimiento que ha creado.
- Elegir Sincronizar para iniciar el trabajo de ingesta de datos.
- Una vez finalizado el trabajo de ingesta de datos, seleccione el FM que desea utilizar para la recuperación y la generación. (Esto requiere que se le otorgue acceso al modelo a este FM en Amazon Bedrock antes de usarlo).
- Comience a consultar sus datos utilizando consultas en lenguaje natural.
¡Eso es todo! Ahora puedes interactuar con tus documentos mediante el flujo de trabajo RAG con tecnología de Amazon Bedrock.
Limpiar
Para evitar incurrir en cargos futuros en la cuenta de AWS, complete los siguientes pasos:
- Eliminar todos los archivos dentro del depósito S3 aprovisionado.
- Ejecute el siguiente comando en la terminal para eliminar la pila de CloudFormation aprovisionada mediante AWS CDK:
Conclusión
En esta publicación, demostramos cómo implementar rápidamente una solución RAG de extremo a extremo utilizando bases de conocimiento para Amazon Bedrock y AWS CDK.
Esta solución simplifica el proceso de configuración de la infraestructura necesaria, que incluye una función de IAM, una colección e índice de OpenSearch Serverless y una base de conocimientos con una fuente de datos asociada. El proceso de implementación automatizado que permite AWS CDK minimiza las complejidades y los posibles errores asociados con la configuración y la implementación manual de los distintos componentes necesarios para una solución RAG. Al aprovechar la potencia de los FM que ofrece Amazon Bedrock, puede integrar sin problemas los datos de sus documentos con capacidades avanzadas de NLP, lo que le permite recuperar de manera eficiente la información relevante y generar respuestas de alta calidad a las consultas en lenguaje natural.
Esta solución no solo simplifica el proceso de implementación, sino que también proporciona una forma escalable y eficiente de utilizar las capacidades de RAG para los sistemas de preguntas y respuestas. Con la capacidad de modificar la infraestructura de manera programática, puede adaptar rápidamente la solución para ayudar a satisfacer las necesidades específicas de su organización, lo que la convierte en una herramienta valiosa para una amplia gama de aplicaciones que requieren la recuperación y generación de información precisa y contextualizada.
Acerca de los autores
Sandeep Singh es un científico de datos sénior de IA generativa en Amazon Web Services, que ayuda a las empresas a innovar con IA generativa. Se especializa en IA generativa, aprendizaje automático y diseño de sistemas. Ha entregado con éxito soluciones de última generación impulsadas por IA y ML para resolver problemas comerciales complejos para diversas industrias, optimizando la eficiencia y la escalabilidad.
Manoj Krishna Mohan Manoj es ingeniero de aprendizaje automático en Amazon. Se especializa en la creación de soluciones de IA y aprendizaje automático con Amazon SageMaker. Le apasiona desarrollar soluciones listas para usar para los clientes. Manoj tiene una maestría en Ciencias de la Computación con especialización en Ciencias de Datos de la Universidad de Carolina del Norte, Charlotte.
Mani Khanuja es líder tecnológica y especialista en inteligencia artificial generativa, autora del libro Applied Machine Learning and High-Performance Computing on AWS y miembro de la junta directiva de Women in Manufacturing Education Foundation. Lidera proyectos de aprendizaje automático en diversos dominios, como visión artificial, procesamiento del lenguaje natural e inteligencia artificial generativa. Da charlas en conferencias internas y externas, como AWS re:Invent, Women in Manufacturing West, seminarios web de YouTube y GHC 23. En su tiempo libre, le gusta salir a correr largas distancias por la playa.