Por Jose Badino - 12 de Julio 2025
Imagina que tienes el cerebro más potente del mundo, capaz de escribir poesía, resumir textos complejos y mantener una conversación fluida. Pero este cerebro tiene una limitación importante: solo conoce el mundo hasta la fecha en que fue entrenado. No sabe quién ganó el último mundial ni, mucho menos, conoce los documentos internos de tu empresa. Aquí es donde entra en juego una de las arquitecturas más innovadoras en el campo de la IA: Retrieval-Augmented Generation (RAG).
RAG no es un nuevo modelo de lenguaje, sino un sistema ingenioso que combina lo mejor de dos mundos: la búsqueda de información precisa y la generación de texto coherente. Para un científico de datos, entender RAG es clave para construir aplicaciones de IA que sean verdaderamente útiles, precisas y confiables.
La generación aumentada de recuperación (RAG) es una arquitectura que optimiza el rendimiento de un modelo de inteligencia artificial (IA) al conectarlo con bases de conocimiento externas. RAG ayuda a los modelos de lenguaje extensos (LLM) a ofrecer respuestas más relevantes y de mayor calidad, por emplear esa información encontrada para "aumentar" o enriquecer el prompt original, armando un prompt enriquecido que se le pasa a un LLM para que genere la respuesta final. (Si deseas aprender mas sobre LLMs, te invito a que entres a este otro post de mi blog)
El sistema se compone de dos piezas fundamentales:
El Recuperador (Retriever): Su única misión es encontrar la información más relevante para la consulta del usuario. No entiende el lenguaje como un LLM, pero es extremadamente eficiente buscando en grandes volúmenes de datos.
El Generador (Generator): Es un LLM (como los modelos GPT, Llama, etc.) que recibe la información del recuperador y la utiliza para construir una respuesta bien redactada, contextualizada y precisa.
El flujo de trabajo de un sistema RAG es un proceso que combina el procesamiento de lenguaje natural (NLP), la búsqueda semántica y la ingeniería de prompts.
Indexación de Datos: Primero, debemos darle al sistema algo que leer. Tomamos nuestra base de conocimiento (documentos de la empresa, artículos de un blog, manuales técnicos, etc.), la dividimos en fragmentos más pequeños (chunks) y la convertimos en representaciones numéricas llamadas embeddings (o vectores). Estos embeddings se almacenan en una base de datos vectorial, que está optimizada para búsquedas de similitud (Para entender los conceptos de similitud y/o distancia empleada entre vectores ve esta otra entrada en mi blog).
La Consulta del Usuario: El usuario realiza una pregunta. Esta pregunta también se convierte en un embedding utilizando el mismo modelo que en el paso anterior.
Búsqueda y Recuperación: El sistema busca en la base de datos vectorial los chunks de texto cuyos vectores sean más similares al vector de la pregunta. Estos fragmentos recuperados son, teóricamente, los más relevantes para responder a la consulta.
Aumentado del Prompt: Aquí ocurre la magia. El sistema toma los fragmentos de texto recuperados y los inserta en el prompt que se le enviará al LLM. El prompt final se ve algo así: "Basándote únicamente en el siguiente contexto, responde a la pregunta. Contexto: [Aquí se insertan los fragmentos recuperados]. Pregunta: [Aquí va la pregunta original del usuario]".
Generación de la Respuesta: El LLM recibe este Prompt Aumentado y, al tener el contexto preciso a mano, genera una respuesta que no solo es coherente, sino que está fundamentada en los datos proporcionados, reduciendo drásticamente la posibilidad de error.
Implementar un sistema RAG ofrece beneficios tangibles que resuelven algunas de las mayores debilidades de los LLMs tradicionales:
Conocimiento Actualizado y Específico: Permite que el LLM responda sobre datos recientes o privados (de una empresa) sin necesidad de reentrenar el modelo completo, un proceso que es extremadamente costoso y lento.
Reducción de "Alucinaciones": Al forzar al modelo a basar su respuesta en un contexto proporcionado, se minimiza la probabilidad de que invente información o de datos incorrectos, un problema común en los LLMs.
Transparencia y Auditabilidad: Como la respuesta se basa en fragmentos de texto específicos, podemos citar las fuentes exactas que el modelo utilizó, permitiendo al usuario verificar la información.
Eficiencia de Costos: Aumentar el conocimiento a través de una base de datos vectorial es infinitamente más barato y rápido que realizar un fine-tuning o un pre-entrenamiento completo de un modelo de lenguaje.
Las aplicaciones de RAG son tan variadas como prácticas, y muchas ya están transformando industrias:
Asistentes de Soporte al Cliente: Un chatbot que responde a las preguntas de los clientes basándose en los manuales de usuario y las políticas de la empresa, ofreciendo respuestas precisas y actualizadas.
Motores de Búsqueda Internos: Un empleado puede preguntar en lenguaje natural "¿Cuál es el protocolo para solicitar vacaciones?" y el sistema buscará en los documentos de RRHH para dar una respuesta directa y exacta.
Herramientas para Analistas e Investigadores: Un analista financiero puede pedir un resumen de los riesgos mencionados en el último informe anual de una empresa, y el sistema RAG extraerá y resumirá solo las secciones relevantes de un documento de 200 páginas.
Construir un sistema RAG de alto rendimiento no es trivial y requiere la experiencia de un científico de datos para optimizar cada componente del pipeline:
Preparación de Datos (Chunking): Decidir cómo dividir los documentos (por párrafos, por un número fijo de caracteres, etc.) es un arte y una ciencia. Un chunking inadecuado puede llevar a que se recupere contexto irrelevante o incompleto.
Elección del Modelo de Embedding: No todos los modelos de embedding son iguales. La elección dependerá del idioma, del dominio (general, técnico y/o financiero) y del balance entre rendimiento y coste computacional.
Optimización del Recuperador (Retriever): Se deben ajustar parámetros como la cantidad de chunks a recuperar. Recuperar demasiados puede introducir ruido, mientras que recuperar muy pocos puede omitir información vital.
Evaluación del Sistema: Es crucial definir métricas para evaluar la calidad del sistema de extremo a extremo. Métricas como la precisión del recuperador (¿encontró los documentos correctos?) y la fidelidad de la respuesta (¿la respuesta del LLM se apega al contexto?) son fundamentales.
En conclusión, los sistemas RAG representan un paso adelante hacia la creación de asistentes de IA más inteligentes, confiables y útiles. Para cualquier científico de datos, dominar esta arquitectura no solo es una habilidad valiosa, sino una puerta de entrada para construir la próxima generación de aplicaciones de lenguaje natural.
[IBM Think] - What is RAG (retrieval augmented generation)? - Ivan Belcic - Octubre 2024 - Link.
[Amazon Web Services (AWS)] - What is RAG? - Retrieval-Augmented Generation AI Explained - 2024 - Link.
[Pinecone Documentation] - Retrieval-Augmented Generation (RAG) - Jenna Pederson - Junio 2025 - Link.
[Google Cloud] - What is Retrieval-Augmented Generation (RAG)? - Link.
[Gemini AI] - Julio 2025 - Link