Generación aumentada por recuperación (RAG)
La generación aumentada por recuperación (RAG) es una técnica que mejora las respuestas de un modelo de lenguaje al recuperar información relevante de una fuente externa, y proporcionar esta información al modelo como contexto antes de que genere una respuesta. En lugar de depender exclusivamente de lo que aprendió durante el entrenamiento, el modelo responde usando documentos obtenidos en el momento de la consulta, por lo que su resultado puede ser actual, específico y estar fundamentado en fuentes reales.
En resumen: el RAG busca primero información relevante, y luego deja que el modelo genere su respuesta a partir de ese contexto recuperado, fundamentando la respuesta en fuentes reales en lugar de solo en la memoria.
Cómo funciona el RAG
Presentado por primera vez en un artículo de investigación de 2020, el RAG divide el trabajo en la preparación y el momento de la consulta:
- Preparar el conocimiento: Los documentos fuente se dividen en fragmentos, se convierten en embeddings y se almacenan en una base de datos vectorial o un índice de Buscador.
- Recuperar: Cuando llega una consulta, el sistema busca en la base de datos vectorial usando búsqueda semántica, por palabras clave o una combinación de ambas (es decir, búsqueda híbrida) y devuelve los pasajes más relevantes.
- Reclasificar: Un paso opcional de reclasificación reordena los candidatos para que los mejores pasajes aparezcan primero.
- Aumentar: Los pasajes principales se colocan en el prompt del modelo (y dentro de su ventana de contexto) junto con la pregunta del usuario.
- Generar: El LLM escribe una respuesta fundamentada en los pasajes proporcionados, a menudo citando sus fuentes.
La idea definitoria es la separación del conocimiento y el razonamiento: el modelo aporta el lenguaje y el razonamiento, mientras que la recuperación aporta los hechos, por lo que el conocimiento puede actualizarse sin reentrenar el modelo.
RAG frente al ajuste fino y los LLM simples
- El ajuste fino integra nuevo conocimiento en los pesos del modelo, lo cual es costoso y queda desactualizado rápidamente; el RAG aporta conocimiento en el momento de la consulta, por lo que es económico de actualizar y puede mantenerse al día.
- Un LLM simple responde únicamente a partir de los datos de entrenamiento, limitado por su límite de conocimiento y propenso a las alucinaciones por muchas razones (no solo por datos de entrenamiento desactualizados). El RAG puede reducir las afirmaciones sin fundamento al fundamentar las respuestas en fuentes recuperadas y permitir citas, pero no elimina las alucinaciones por completo.
- El RAG estándar recupera una vez y luego genera una respuesta; la búsqueda agéntica permite que el modelo opte por buscar repetidamente y refinar, una técnica combinada a veces llamada “RAG agéntico”.
Dónde se usa el RAG
- Respuesta a preguntas sobre datos privados: Asistentes que responden a partir de los propios documentos, wikis y tickets de una empresa.
- Motores de respuestas con IA: Fundamentar las respuestas en resultados web recientes para que se mantengan actuales y sean citables.
- Búsqueda de soporte y documentación: Mostrar el pasaje correcto en respuesta a una pregunta en lenguaje natural.
- APIs de Buscador como capa de recuperación: Para RAG a escala web o actualizado, una API de Buscador suele ser la “R” del acrónimo “RAG”, devolviendo resultados web recientes y clasificados que se convierten en el contexto del modelo. La API del Buscador de Brave ofrece endpoints (incluido un servicio de contexto para LLM) diseñados para devolver contenido preextraído y clasificado por relevancia para la fundamentación. La cobertura, la actualidad y la latencia determinan directamente la calidad de las respuestas.
El RAG es importante siempre que las respuestas deban ser precisas, actuales o específicas de un conocimiento para el que el modelo nunca fue entrenado, un requisito común en los asistentes con IA y motores de respuestas en producción.
Términos relacionados
Fragmentación, embeddings, base de datos vectorial, búsqueda semántica, búsqueda híbrida, reclasificación, ventana de contexto, alucinación, límite de conocimiento, modelo de lenguaje grande (LLM), búsqueda agéntica, API de Buscador.