La generación aumentada por recuperación, comúnmente abreviada como RAG, es una técnica en la que un modelo de lenguaje grande se combina con un sistema de recuperación que obtiene texto relevante de una fuente externa antes de que el modelo genere su respuesta. En lugar de depender únicamente del conocimiento codificado en sus parámetros durante el pretraining, al modelo se le proporcionan pasajes recuperados en el momento de la consulta, típicamente insertados en su prompt, y se le pide que responda utilizando ese material suministrado. El enfoque permite que un modelo de propósito general responda preguntas sobre contenido con el que nunca fue entrenado, incluidos documentos privados, eventos recientes o corpus grandes demasiado extensos para caber en una ventana de contexto de una sola vez.
La técnica fue introducida bajo el nombre de RAG en un artículo de 2020 por investigadores de Meta AI (entonces Facebook AI Research), que combinaba un modelo de lenguaje secuencia a secuencia preentrenado con un recuperador de pasajes densos, demostrando que la recuperación mejoraba la precisión factual en tareas intensivas en conocimiento en comparación con un modelo puramente paramétrico. La idea se basaba en investigaciones anteriores de recuperación de información y respuesta a preguntas, pero el marco de RAG la vinculó específicamente a los modelos generativos de transformadores y se convirtió en el término estándar en toda la industria a medida que los asistentes de chat y los productos de búsqueda empresarial adoptaron el patrón a partir de 2022.
Arquitectura
Un pipeline típico de RAG tiene dos etapas. En la etapa de recuperación, una consulta se convierte en una representación numérica, un embedding, y se compara contra un índice precomputado de embeddings para una colección de documentos, almacenado con mayor frecuencia en una base de datos vectorial para una búsqueda eficiente del vecino más cercano; esta etapa está estrechamente relacionada con la búsqueda semántica, que recupera por significado en lugar de coincidencia exacta de palabras clave. En la etapa de generación, los pasajes mejor clasificados se insertan en el prompt del modelo junto con la pregunta original del usuario, y el modelo produce una respuesta condicionada a ese contexto recuperado, aprovechando su capacidad lingüística general mientras se guía hacia los hechos específicos suministrados. Muchos sistemas de producción añaden pasos adicionales, como reordenar los pasajes recuperados con un modelo separado, dividir documentos en segmentos superpuestos o emitir múltiples consultas de recuperación para preguntas complejas.
Motivación: alucinación y actualidad
RAG se utiliza ampliamente como una mitigación para la alucinación, la tendencia de los modelos de lenguaje a generar declaraciones plausibles pero falsas o sin respaldo. Debido a que el conocimiento paramétrico de un modelo se fija al final del pretraining y puede estar desactualizado, incompleto o simplemente ausente para temas especializados y privados, fundamentar una respuesta en texto fuente recuperado permite que el modelo cite pasajes específicos y reduce (aunque no elimina) la tasa de afirmaciones fabricadas. También permite que el mismo modelo se aplique a muchos conjuntos de datos privados, como la documentación interna de una empresa o los archivos propios de un cliente, sin ningún fine-tuning, ya que el índice de recuperación puede intercambiarse o actualizarse independientemente del propio modelo.
Aplicaciones y limitaciones
RAG subyace a la mayoría de los productos empresariales de "chatea con tus documentos", asistentes de soporte al cliente fundamentados en una base de conocimiento y asistentes de codificación que recuperan archivos o documentación relevantes antes de responder. También es un componente arquitectónico común de los sistemas de agentes de IA, donde un agente puede emitir llamadas de recuperación como una de varias acciones disponibles durante una tarea de múltiples pasos. Las limitaciones incluyen la sensibilidad a la calidad de la recuperación, ya que un modelo aún puede alucinar o responder incorrectamente si los pasajes recuperados son irrelevantes o incompletos; la latencia añadida y la infraestructura de mantener un índice; y el hecho de que la recuperación solo ayuda cuando la información necesaria existe en algún lugar del corpus indexado. A medida que las ventanas de contexto han crecido hasta cientos de miles de tokens, algunos profesionales han debatido si simplemente suministrar documentos completos directamente en el prompt puede sustituir a la recuperación en ciertos casos, aunque RAG sigue siendo el enfoque estándar para corpus demasiado grandes para caber en el contexto y para mantener grandes colecciones de documentos buscables y actualizadas sin reprocesamiento repetido.