RAG (Retrieval-Augmented Generation) es una arquitectura utilizada en sistemas de inteligencia artificial modernos que permite a un modelo de lenguaje generar respuestas usando información externa recuperada desde una base de conocimiento.
Este enfoque combina búsqueda semántica con modelos generativos (LLM) para producir respuestas más precisas, actualizadas y verificables.
El sistema funciona como una tubería de procesamiento de información donde cada capa cumple una función específica.
Datos → Fragmentación → Embeddings → Base Vectorial →
Expansión de Consulta → Recuperación → Reranking →
LLM → Evaluación → Memoria → Caché
Recolecta información desde múltiples fuentes.
- Documentos PDF
- Páginas web
- APIs
- Bases de datos
- Archivos internos de la empresa
Crear una base de conocimiento inicial para el sistema.
Documentos
APIs
Bases de datos
↓
Sistema RAG
Divide documentos grandes en fragmentos pequeños llamados "chunks".
Los modelos de lenguaje no pueden procesar documentos muy grandes directamente.
Dividirlos permite:
- Mejor búsqueda semántica
- Mejor contexto
- Menor costo computacional
Documento original:
Manual de 100 páginas
Se divide en:
Chunk 1
Chunk 2
Chunk 3
Chunk 4
Convierte texto en vectores matemáticos que representan significado.
Texto:
"Cómo instalar Python"
Vector generado:
[0.23, -0.91, 0.44, 0.12, ...]
Permite realizar búsqueda semántica en lugar de búsqueda por palabras exactas.
Herramientas comunes:
- OpenAI Embeddings
- Sentence Transformers
- HuggingFace models
Almacena los embeddings para poder buscarlos rápidamente.
- FAISS
- Pinecone
- Weaviate
- ChromaDB
- Milvus
Vector → Chunk asociado
Ejemplo:
[0.23, -0.91, 0.44] → "Cómo instalar Python en Linux"
Reescribe o amplía la pregunta del usuario para mejorar la búsqueda.
Pregunta original:
¿Cómo instalar Python?
Consultas generadas:
instalar python
instalar python linux
instalar python ubuntu
Esto mejora la recuperación de información.
Busca en la base vectorial los fragmentos más relevantes.
Pregunta usuario
↓
Convertir a embedding
↓
Buscar vectores similares
↓
Obtener chunks relevantes
Ejemplo resultado:
Chunk 12
Chunk 45
Chunk 89
Ordena los resultados recuperados según su relevancia real.
La búsqueda vectorial puede traer resultados aproximados.
El reranker mejora la precisión.
Resultados iniciales:
Chunk 12
Chunk 45
Chunk 89
Después de reranking:
Chunk 45 (más relevante)
Chunk 12
Chunk 89
El modelo de lenguaje genera la respuesta usando:
- La pregunta del usuario
- Los fragmentos recuperados
Pregunta del usuario
+
Chunks relevantes
↓
Modelo LLM
↓
Respuesta generada
Ejemplo de modelos:
- GPT
- Claude
- Llama
- Mistral
Mide la calidad del sistema RAG.
- Precisión
- Relevancia
- Factualidad
- Consistencia
Herramientas utilizadas:
- RAGAS
- LangSmith
- Human evaluation
Mantiene contexto entre múltiples preguntas.
Conversación:
Usuario: ¿Qué es Python?
IA: Lenguaje de programación...
Usuario: ¿Cómo lo instalo?
El sistema recuerda que "lo" = Python.
Tipos de memoria:
- Memoria de conversación
- Memoria de usuario
- Memoria de sesión
Guarda respuestas frecuentes para acelerar el sistema.
Pregunta repetida:
¿Qué es Python?
En lugar de recalcular:
Cache → respuesta almacenada
Beneficios:
- Menor latencia
- Menor costo
- Mayor velocidad
Datos
↓
Chunking
↓
Embeddings
↓
Base Vectorial
↓
Query Expansion
↓
Retrieval
↓
Reranking
↓
LLM
↓
Respuesta
✔ Reduce alucinaciones del modelo
✔ Permite usar información actualizada
✔ Escala con grandes bases de conocimiento
✔ No requiere reentrenar el modelo
RAG se usa en:
- Chatbots empresariales
- Asistentes de documentación
- Sistemas de soporte técnico
- Búsqueda inteligente
- Copilotos de programación
- Sistemas de investigación científica
Pregunta del usuario:
¿Cómo instalar Python en Ubuntu?
Sistema RAG:
1. Busca en documentos técnicos
2. Recupera fragmentos relevantes
3. El LLM genera la respuesta
Resultado:
Respuesta precisa basada en documentación real.
RAG combina búsqueda semántica + generación con LLM para crear sistemas de IA más confiables, precisos y útiles.
Por eso es una de las arquitecturas más usadas en AI Engineering moderno.