La arquitectura RAG, que se muestra en el diagrama anterior, se puede dividir en dos secciones:
El camino típico que se sigue para crear una solución RAG es el siguiente:
Un ingeniero de IA prepara los datos del cliente (por ejemplo, manuales de procedimientos, documentación de productos o tickets de help desk, etc.) durante el preprocesamiento de datos. Los datos del cliente se transforman o enriquecen para hacerlos aptos para el aumento del modelo. Las transformaciones pueden incluir conversiones de formato sencillas, como convertir documentos PDF en texto, o transformaciones más complejas, como traducir estructuras de tablas complejas en sentencias del tipo si-entonces. El enriquecimiento puede incluir la expansión de abreviaturas comunes, la adición de metadatos como información de moneda y otros añadidos para mejorar la relevancia de los resultados de búsqueda.
La información enriquecida de los documentos se divide en segmentos más pequeños llamados fragmentos para gestionar el texto de manera más eficiente. Esto se puede hacer utilizando varias estrategias de fragmentación, cada una de las cuales tiene su propia forma de separar y agrupar la información.
A continuación, los fragmentos se introducen en una base de datos donde se almacenan y se puede acceder a ellos durante el uso de la solución. Las diferentes estrategias de recuperación requerirán diferentes tipos de bases de datos; algunas incluso requerirán múltiples tipos de bases de datos. Sin embargo, la solución general de RAG solo utilizará una base de datos vectorial. En este caso, se emplea un modelo de incorporación para convertir los bloques en un serial de vectores, que luego pueden almacenarse en la base de datos vectorial.
El sistema ya está listo para que lo utilicen los usuarios finales.
Los usuarios finales interactúan con una aplicación habilitada para GenAI e ingresan una consulta.
La aplicación de IA generativa recibe la consulta y realiza la estrategia de recuperación empleada para obtener los principales "K" (donde K es solo un marcador de posición para un número) piezas de información que la estrategia considera que coinciden más estrechamente con la consulta del usuario. Por ejemplo, si la consulta del usuario es "¿Cuál es el límite diario de retiro en la cuenta MaxSavers?", la búsqueda puede devolver fragmentos como "La cuenta MaxSavers es...", "Los límites diarios de retiro son..." y "...límites de cuenta... '.
La consulta original, los fragmentos principales y una instrucción, curados para la aplicación específica, se envían al LLM.
Luego, el LLM sigue la instrucción para generar y formatear una respuesta a la consulta original del usuario utilizando la información recuperada.
Actualizado: 15 de noviembre de 2024