El ABC de los Sistemas RAG: Todo lo que Necesitas Saber para Empezar

El ABC de los Sistemas RAG: Todo lo que Necesitas Saber para Empezar

Descubre el fascinante mundo de la Generación con Recuperación Aumentada, más conocida como RAG, un concepto innovador en la vanguardia de la inteligencia artificial. Los sistemas RAG son como esos magos tecnológicos que no solo responden tus preguntas, sino que también van un paso más allá buscando activamente la información más relevante para darte la mejor respuesta posible.

Ahora, crear un sistema RAG no es exactamente pan comido. Detrás de esa capacidad casi mágica de dar respuestas, hay mucho trabajo y algunas decisiones bien pensadas. Desde escoger de dónde sacar esa información hasta decidir cómo va a generar las respuestas, cada paso cuenta y marca la diferencia entre un sistema que es simplemente bueno y uno verdaderamente genial.

¿Que es RAG?

Los modelos de lenguaje grandes (LLM) como ChatGPT han revolucionado la forma en que interactuamos con la inteligencia artificial, pero no están exentos de limitaciones. Una de las más significativas es su propensión a generar respuestas inexactas o irrelevantes cuando se enfrentan a preguntas fuera de su entrenamiento o ámbito de conocimiento. Este fenómeno, a menudo referido como "alucinaciones", no implica necesariamente que los modelos "inventen" respuestas a lo que desconocen de manera deliberada. Es aquí donde entran en juego los sistemas de Generación con Recuperación Aumentada (RAG). Estos sistemas fueron diseñados específicamente para abordar este desafío, proporcionando una solución innovadora cuando los LLM se quedan cortos.

A diferencia de los LLM, que se basan únicamente en la información con la que fueron entrenados, los sistemas RAG pueden acceder a información externa o a datos específicos que les hayas proporcionado. Esto los hace ideales para responder preguntas sobre temas muy especializados o datos únicos, como información específica de una empresa, que el LLM por sí solo no podría conocer. Mediante la integración de técnicas de recuperación de información y generación de texto, los sistemas RAG pueden proporcionar respuestas informadas y precisas basadas en esta información adicional, evitando las limitaciones y "alucinaciones" de los modelos de lenguaje convencionales.

El Proceso de los Sistemas RAG

Nos centraremos en la versión más sencilla de los sistemas RAG, pero no te preocupes, es perfecta para entender los principios básicos que los hacen funcionar. Echa un vistazo al diagrama que acompaña este artículo para ver cómo fluye la información a través de cada etapa del sistema RAG.

Fig 1. Basic RAG System Process

Comenzamos con la indexación: imagina que tomas un montón de documentos que pueden estar en varios formatos como PDF, HTML, Word, y los preparas para que tu sistema RAG los entienda mejor. Esto implica limpiarlos y dividirlos en fragmentos más pequeños, que luego se convierten en representaciones vectoriales usando modelos de embeddings. Aquí, es crucial seleccionar un modelo de embeddings que sea eficiente y que comprenda bien el lenguaje.

Después, estos datos se guardan en un índice que se pueden guardar en una base de datos vectorial para que, cuando alguien haga una pregunta, el sistema pueda encontrar rápidamente la información relevante.

En la etapa de recuperación, cuando alguien hace una pregunta, el sistema utiliza modelos parecidos a los de la indexación para entender la pregunta y buscar en los documentos indexados la información que más le cuadre.

Y finalmente, en la generación, con toda esa información relevante a la mano, el sistema crea un 'prompt' que incluye la pregunta y los documentos seleccionados. Aquí entra en juego un modelo de lenguaje avanzado, como ChatGPT, que se encarga de formular una respuesta informada y bien contextualizada." 

Cabe destacar que actualmente existen frameworks como Langchain y Llama que facilitan la creación de aplicaciones RAG, desde las más básicas hasta las más complejas.

Conclusión

En general los sistemas RAG son un campo emocionante y en constante desarrollo dentro de la inteligencia artificial. Comenzamos con los fundamentos, pero esto es solo el comienzo. Los RAG básicos son un gran punto de partida, pero también tienen sus limitaciones, lo que nos impulsa hacia sistemas más avanzados y que abordaremos en futuras discusiones.

Referencias

Gao, Y., Xiong, Y., Gao, X., Jia, K., Pan, J., Bi, Y., Dai, Y., Sun, J., Guo, Q., Wang, M., & Wang, H. (2021). Retrieval-Augmented Generation for Large Language Models: A Survey. https://arxiv.org/pdf/2312.10997.pdf