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 los modelos básicos (FM, por sus siglas en inglés). Los modelos RAG primero recuperan información relevante de un gran corpus de texto y luego utilizan un FM para sintetizar una respuesta basada en la información recuperada.
Una solución RAG de extremo a extremo incluye varios componentes, entre ellos una base de conocimientos, un sistema de recuperación y un sistema de generación. La creación y la implementación de estos componentes pueden ser complejas y propensas 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 Formación en la nube de AWSpermitiendo a las organizaciones configurar de forma rápida y sin esfuerzo un potente sistema RAG.
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. Usamos AWS CloudFormation para configurar los recursos necesarios, incluidos:
- Un Gestión de identidad y acceso de AWS Rol (IAM)
- Un Amazon OpenSearch sin servidor colección e índice
- Una 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 de los FM proporcionados en La roca madre del AmazonasLa solución simplifica el proceso de configuración, permitiéndole implementar rápidamente 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 FMs, Amazon Bedrock y OpenSearch Serverless.
- Un depósito S3 donde sus documentos se almacenan en un formato compatible (.txt, .md, .html, .doc/docx, .csv, .xls/.xlsx, .pdf).
- El modelo G1-Text de Amazon Titan Embeddings está habilitado en Amazon Bedrock. Puede confirmar que está habilitado en Acceso al modelo Página de la consola de Amazon Bedrock. Si el modelo G1-Text de Amazon Titan Embeddings está habilitado, el estado de acceso se mostrará como Acceso permitidocomo 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:
- Ejecute el script sh, que creará el depósito de implementación, preparará las plantillas de CloudFormation y cargará las plantillas de CloudFormation listas y los artefactos necesarios en el depósito de implementación:
Al ejecutar deployment.sh, si proporciona un nombre de depósito como argumento para el script, se creará un depósito de implementación con el nombre especificado. De lo contrario, se utilizará el formato de nombre predeterminado: e2e-rag-deployment-${ACCOUNT_ID}-${AWS_REGION}
Como se muestra en la siguiente captura de pantalla, si completa los pasos anteriores en un Amazon SageMaker instancia del cuaderno, puede ejecutar bash deployment.sh en la terminal, lo que crea el depósito de implementación en su cuenta (el número de cuenta ha sido redactado).
- Una vez completado el script, anote la URL S3 de main-template-out.yml.
- En la consola de AWS CloudFormation, cree una nueva pila.
- Para Fuente de la plantillaseleccionar URL de Amazon S3 e ingrese la URL que copió anteriormente.
- Elegir Próximo.
- Proporcione un nombre de pila y especifique los detalles del flujo de trabajo de RAG según su caso de uso y luego elija Próximo.
- Deje todo lo demás como predeterminado y elija Próximo en las siguientes páginas.
- Revise los detalles de la pila y seleccione las casillas de verificación de reconocimiento.
- Elegir Entregar para iniciar el proceso de implementación.
Puede supervisar el progreso de la implementación de la pila en la consola de AWS CloudFormation.
Probar la solución
Cuando la implementación sea exitosa (lo que puede tardar entre 7 y 10 minutos en completarse), puede comenzar a probar la solución.
- En la consola de Amazon Bedrock, navegue hasta la base de conocimiento creada.
- Elegir Sincronizar para iniciar el trabajo de ingesta de datos.
- Una vez completada la sincronización de datos, seleccione el FM que desea utilizar para la recuperación y generación (se requiere que se 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, elimine los recursos utilizados en esta solución:
- En la consola de Amazon S3, elimine manualmente el contenido dentro del depósito que creó para la implementación de la plantilla y luego elimine el depósito.
- En la consola de AWS CloudFormation, seleccione Pilas En el panel de navegación, seleccione la pila principal y elija Borrar.
La base de conocimiento creada se eliminará cuando elimines la pila.
Conclusión
En esta publicación, presentamos una solución automatizada para implementar un flujo de trabajo RAG de extremo a extremo mediante bases de conocimiento para Amazon Bedrock y AWS CloudFormation. Al utilizar la potencia de los servicios de AWS y las plantillas preconfiguradas de CloudFormation, puede configurar rápidamente un potente sistema de respuesta a preguntas sin las complejidades de crear e implementar componentes individuales para aplicaciones RAG. Este enfoque de implementación automatizada no solo ahorra tiempo y esfuerzo, sino que también proporciona una configuración consistente y reproducible, lo que le permite centrarse en utilizar el flujo de trabajo RAG para extraer información valiosa de sus datos.
Pruébelo y vea de primera mano cómo puede optimizar la implementación del flujo de trabajo de RAG y mejorar la eficiencia. ¡Comparta sus comentarios con nosotros!
Sobre 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.
Yan Yan Zhang es científica de datos de IA generativa sénior en Amazon Web Services, donde ha trabajado en tecnologías de IA/ML de vanguardia como especialista en IA generativa, ayudando a los clientes a utilizar la IA generativa para lograr los resultados deseados. Con un gran interés en explorar nuevas fronteras en el campo, se esfuerza continuamente por superar los límites. Fuera del trabajo, le encanta viajar, hacer ejercicio y explorar cosas nuevas.
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.