RAG explicado: por qué tu chatbot necesita algo más que un modelo de lenguaje
Si le preguntas a un modelo de lenguaje sobre eventos de la semana pasada, sobre un documento interno de tu empresa, o sobre el estado actual de un proyecto específico, es probable que invente una respuesta con total confianza. No porque sea un mal modelo, sino porque su conocimiento está congelado en el momento en que terminó su entrenamiento.
Ahí es donde entra RAG — Retrieval-Augmented Generation, o generación aumentada por recuperación. La idea central es simple: en lugar de esperar que el modelo "sepa" la respuesta de memoria, le das acceso a una base de información externa y actualizada, y le pides que busque ahí antes de responder.
El proceso funciona en tres pasos. Primero, tus documentos (manuales, artículos, tickets de soporte, lo que sea) se dividen en fragmentos y se convierten en vectores numéricos que capturan su significado semántico — esto se guarda en una base de datos vectorial. Segundo, cuando alguien hace una pregunta, el sistema busca los fragmentos más relevantes semánticamente, no por coincidencia exacta de palabras. Tercero, esos fragmentos se inyectan como contexto en el prompt que recibe el modelo, que ahora responde basándose en información real y verificable, no en su memoria entrenada.
La ventaja práctica es enorme: puedes actualizar la base de conocimiento sin tener que re-entrenar el modelo, lo cual sería carísimo y lento. Si cambia una política de la empresa, simplemente actualizas el documento fuente y el sistema responde con la información nueva casi de inmediato.
Los errores más comunes al construir un sistema RAG no están en el modelo, están en la recuperación: fragmentos mal cortados que pierden contexto, búsquedas que traen información irrelevante, o bases de datos vectoriales mal configuradas que devuelven resultados mediocres. Un RAG bien construido depende más de buena ingeniería de datos que de qué tan grande sea el modelo que uses al final.