Módulo 1: RAG Pipeline Completo (Architecture Overview)
Introducción al Módulo: RAG Pipeline Completo
Descripción de la cápsula
Bienvenido al Módulo 1 de Advanced RAG Techniques. Este módulo es tu punto de partida: entenderás la arquitectura completa de RAG avanzado, los componentes críticos, las decisiones que tomarás, y construirás un baseline RAG system que servirá como punto de comparación para medir mejoras futuras.
¿Por qué empezar con arquitectura antes de técnicas? Porque necesitas el mapa completo antes de navegar. RAG avanzado no es aplicar técnicas al azar (chunking aquí, re-ranking allá). Es un pipeline con componentes que interactúan: si tu chunking es malo, re-ranking no ayuda. Si tus embeddings son incorrectos, hybrid search no mejora nada. Arquitectura primero, técnicas después.
Este módulo te da tres cosas críticas: (1) El big picture de RAG avanzado, (2) Decision framework para elegir técnicas apropiadas, (3) Baseline RAG system para medir mejoras. Sin estos tres, estarías optimizando a ciegas.
🎯 Objetivos del Módulo 1
Al completar este módulo, serás capaz de:
Arquitectura y Diseño:
- ✅ Explicar los 4 componentes críticos de RAG (indexing, retrieval, generation, evaluation)
- ✅ Dibujar arquitectura RAG completa end-to-end con flujo de datos
- ✅ Identificar dónde aplicar cada técnica avanzada (chunking en indexing, re-ranking en retrieval, etc.)
Decisiones Técnicas:
- ✅ Tomar decisiones de chunking justificadas (fixed vs semantic vs recursive)
- ✅ Elegir embeddings apropiados (OpenAI vs local, dimensiones, metric)
- ✅ Seleccionar vector DB según caso de uso (ChromaDB local vs Pinecone production)
- ✅ Decidir cuándo aplicar re-ranking (trade-off latencia vs precisión)
Métricas y Evaluación:
- ✅ Definir métricas de éxito para RAG (latency, accuracy, cost)
- ✅ Medir baseline metrics (retrieval quality, generation quality)
- ✅ Establecer targets realistas (qué es "bueno" según caso de uso)
Implementación:
- ✅ Implementar Baseline RAG System con ChromaDB + OpenAI
- ✅ Medir performance del baseline (latency, retrieval quality)
- ✅ Documentar baseline para comparaciones futuras
📚 Roadmap del Módulo
Cápsula 01: Introducción al Módulo (esta cápsula)
- Overview de RAG avanzado vs básico
- Objetivos del módulo
- Roadmap completo
- Setup técnico inicial
Cápsula 02: Componentes del RAG Pipeline
- Indexing: Chunking, embeddings, storage
- Retrieval: Query processing, similarity search, top-K selection
- Generation: Context injection, LLM prompting, response formatting
- Evaluation: Retrieval metrics, generation metrics, feedback loop
Cápsula 03: Decisiones de Arquitectura
- Chunking: Fixed vs semantic vs recursive (cuándo usar cada uno)
- Embeddings: OpenAI vs local vs Cohere (trade-offs)
- Vector DB: ChromaDB vs Pinecone vs Weaviate (decision matrix)
- Re-ranking: Cuándo vale la pena latencia adicional
Cápsula 04: Métricas de Éxito
- Latency: P50, P95, P99 (qué es aceptable según caso de uso)
- Accuracy: Retrieval precision/recall, generation faithfulness
- Cost: Cost per query, optimizaciones típicas
- User satisfaction: Implicit signals (thumbs up/down, re-queries)
Cápsula 05: Casos de Uso Reales
- Perplexity: Hybrid search + re-ranking + citations
- Notion AI: Metadata filtering + personalization
- ChatGPT Plugins: Tool use + RAG integration
- Lessons: Patterns comunes en producción
Cápsula 06: Cuándo Usar Técnicas Avanzadas
- Simple RAG: Cuándo es suficiente (casos básicos)
- Advanced RAG: Cuándo lo necesitas (producción, scale, precisión)
- Trade-offs: Complejidad vs mejora, costo vs calidad
- Decision matrix: Cuadro de decisión técnica
Cápsula 07: Setup del Proyecto Evolutivo
- Estructura de código: Organización para módulos 2-8
- Config management: .env, settings.py, constants
- Logging: Structured logging para debugging
- Testing: Framework de testing básico
Cápsula 08: Proyecto - Baseline RAG System
- Objetivo: Sistema RAG simple con ChromaDB + OpenAI
- Features: Indexar documentos, query, generar respuesta
- Sin técnicas avanzadas: Chunking naive, no re-ranking, no hybrid
- Propósito: Baseline para comparar mejoras futuras
🔧 Setup Técnico
Prerequisitos de software:
Antes de empezar, verifica que tienes:
# Python 3.9+
python --version # Debe ser 3.9 o superior
# pip actualizado
pip install --upgrade pip
Instalación de dependencias:
Crea un entorno virtual y instala dependencias:
# Crear entorno virtual
python -m venv venv
# Activar (Mac/Linux)
source venv/bin/activate
# Activar (Windows)
venv\Scripts\activate
# Instalar dependencias básicas para módulo 1
pip install chromadb==0.4.22 openai==1.12.0 python-dotenv==1.0.0
Versiones específicas:
chromadb==0.4.22: Vector database local (gratuito)openai==1.12.0: API de OpenAI (embeddings + LLM)python-dotenv==1.0.0: Manejo de environment variables
API Keys necesarias:
-
OpenAI API Key:
- Crea cuenta en https://platform.openai.com/
- Genera API key en https://platform.openai.com/api-keys
- Costo estimado módulo 1: ~$0.50-1.00 (embeddings + LLM calls)
-
Archivo
.env:
Crea archivo .env en la raíz del proyecto:
# .env
OPENAI_API_KEY=sk-proj-...tu-key-aqui...
⚠️ IMPORTANTE: Agrega .env a .gitignore para no commitear secrets:
# .gitignore
.env
venv/
__pycache__/
*.pyc
Estructura de proyecto:
Crea esta estructura de carpetas:
advanced-rag-guide/
├── .env # API keys (NO commitear)
├── .gitignore # Ignorar .env y venv
├── requirements.txt # Dependencias
├── module-01/ # Código del módulo 1
│ ├── baseline_rag.py # Sistema RAG baseline
│ ├── config.py # Configuración
│ └── utils.py # Utilidades
├── data/ # Documentos para indexar
│ └── sample_docs.txt # Documentos de ejemplo
└── README.md # Documentación
Verificación de setup:
Ejecuta este script para verificar que todo funciona:
# test_setup.py
import chromadb
import openai
from dotenv import load_dotenv
import os
# Cargar .env
load_dotenv()
# Verificar OpenAI API key
openai_key = os.getenv("OPENAI_API_KEY")
if not openai_key:
print("❌ OPENAI_API_KEY no encontrada en .env")
else:
print("✅ OPENAI_API_KEY configurada")
# Verificar ChromaDB
try:
client = chromadb.Client()
print("✅ ChromaDB funciona correctamente")
except Exception as e:
print(f"❌ Error con ChromaDB: {e}")
# Verificar OpenAI API (embeddings)
try:
from openai import OpenAI
client = OpenAI()
response = client.embeddings.create(
model="text-embedding-ada-002",
input="Test"
)
print(f"✅ OpenAI embeddings funciona (dimensiones: {len(response.data[0].embedding)})")
except Exception as e:
print(f"❌ Error con OpenAI: {e}")
print("\n🎉 Setup completo! Listo para módulo 1.")
Ejecuta:
python test_setup.py
Output esperado:
✅ OPENAI_API_KEY configurada
✅ ChromaDB funciona correctamente
✅ OpenAI embeddings funciona (dimensiones: 1536)
🎉 Setup completo! Listo para módulo 1.
Si ves ✅ en todo, estás listo. Si ves ❌, revisa los pasos anteriores.
🗺️ Contexto: ¿Dónde Estamos en la Guía?
Posición en la guía:
Phase 1: Fundamentos Avanzados
├── [AHORA] Módulo 1: RAG Pipeline Completo ← Estás aquí
├── Módulo 2: Chunking Strategies
└── Módulo 3: Query Optimization
Phase 2: Técnicas de Retrieval
├── Módulo 4: Re-ranking
├── Módulo 5: Hybrid Search
└── Módulo 6: Metadata Filtering
Phase 3: Production & Integration
├── Módulo 7: Production RAG con Pinecone
└── Módulo 8: Evaluation + Proyecto Integrador
¿Qué viene antes?
Nada. Este es el primer módulo. Pero se espera que:
- Ya implementaste RAG básico al menos una vez (embedding + search + LLM)
- Entiendes qué son embeddings y cosine similarity
- Has usado ChromaDB o vector DB similar
¿Qué viene después?
Módulo 2: Chunking Strategies
- Optimizarás el chunking naive del baseline
- Implementarás fixed, semantic, recursive chunking
- Compararás estrategias con métricas objetivas
Módulo 3: Query Optimization
- Mejorarás queries del usuario antes de retrieval
- Implementarás expansion, rewriting, decomposition
Módulos 4-8:
- Técnicas avanzadas de retrieval y production deployment
🎯 Objetivo Profesional del Módulo
Al final de este módulo, tendrás:
-
Mapa mental completo de RAG avanzado:
- Arquitectura end-to-end clara
- Componentes y sus interacciones
- Dónde aplicar cada técnica
-
Decision framework:
- Cuándo usar cada chunking strategy
- Cuándo aplicar re-ranking
- Cuándo hybrid search vale la pena
-
Baseline RAG system funcional:
- ChromaDB + OpenAI
- Sin técnicas avanzadas
- Métricas baseline documentadas
-
Capacidad de diseñar RAG systems:
- Tomar decisiones arquitectónicas justificadas
- Definir métricas de éxito apropiadas
- Trade-offs claros (complejidad vs mejora)
💡 ¿Por Qué RAG Avanzado?
RAG básico funciona, pero...
RAG básico (embedding + search + LLM) es suficiente para:
- ✅ Prototipos y MVPs
- ✅ Datasets pequeños (<1,000 documentos)
- ✅ Queries simples y directas
- ✅ Sin requisitos de producción
Pero RAG básico tiene problemas:
Problema 1: Chunking naive pierde contexto
Documento: "Python es un lenguaje. FastAPI es un framework web."
Chunking naive (100 caracteres): ["Python es un lenguaje. FastAPI es", "un framework web."]
→ Segundo chunk pierde contexto (¿qué es "un framework web"?)
Problema 2: Queries ambiguas
User query: "performance issues"
→ Sistema no sabe si buscar "latency" o "throughput" o "memory usage"
→ Retrieval devuelve documentos irrelevantes
Problema 3: Top-K con irrelevantes
Top-5 documentos:
1. Relevante (score: 0.85)
2. Irrelevante (score: 0.83) ← Muy similar en embedding pero no relevante
3. Relevante (score: 0.81)
4. Irrelevante (score: 0.80)
5. Relevante (score: 0.79)
→ 40% de top-K es basura → LLM confundido
Problema 4: Solo semantic search falla con keywords
User query: "Error code E4502"
Semantic search: Busca por "error" y "code" → devuelve errores genéricos
→ No encuentra E4502 específico (keyword exact match)
RAG avanzado resuelve esto:
| Problema | Técnica Avanzada | Módulo |
|---|---|---|
| Chunking naive | Semantic/Recursive chunking | Módulo 2 |
| Queries ambiguas | Query optimization (expansion, rewriting) | Módulo 3 |
| Top-K con irrelevantes | Re-ranking (cross-encoder, LLM) | Módulo 4 |
| Falla con keywords | Hybrid search (BM25 + semantic) | Módulo 5 |
| Busca en todo corpus | Metadata filtering | Módulo 6 |
| No escalable | Pinecone managed | Módulo 7 |
| Sin métricas | RAGAS evaluation | Módulo 8 |
🧭 Conexión con el Proyecto
Proyecto del Módulo 1: Baseline RAG System
¿Qué construirás?
Un sistema RAG simple con:
- ✅ Indexing con ChromaDB (embeddings de OpenAI)
- ✅ Query con similarity search (top-5 documentos)
- ✅ Generation con LLM (GPT-3.5-turbo)
- ❌ Sin chunking avanzado (fixed-size naive)
- ❌ Sin query optimization
- ❌ Sin re-ranking
- ❌ Sin hybrid search
¿Por qué construir baseline si sabemos que no es óptimo?
- Punto de comparación: Sin baseline, no sabes si técnicas avanzadas mejoran
- Medir mejoras: Módulos 2-7 agregarán técnicas → medirás delta vs baseline
- Justificar complejidad: Si técnica avanzada solo mejora 2%, tal vez no vale la pena
Métricas que medirás:
Baseline metrics (módulo 1):
- Latency: ~500-800ms (embedding + search + LLM)
- Retrieval quality: ~60-70% precision (top-5)
- Generation quality: ~70-80% faithfulness
Advanced metrics (módulo 8):
- Latency: ~600-1000ms (con re-ranking +200ms)
- Retrieval quality: ~85-90% precision (con re-ranking)
- Generation quality: ~90-95% faithfulness (mejor retrieval → mejor generation)
Mejora: +20-30% precision, +15-20% faithfulness
Costo: +200ms latency, +complexity
→ Decisión: Vale la pena para producción? Tú decides con datos.
Proyecto evolutivo (módulos 1-8):
Módulo 1: Baseline RAG (naive)
↓
Módulo 2: + Semantic chunking (mejora contexto)
↓
Módulo 3: + Query optimization (mejora queries)
↓
Módulo 4: + Re-ranking (mejora precision)
↓
Módulo 5: + Hybrid search (mejora cobertura)
↓
Módulo 6: + Metadata filtering (mejora relevancia)
↓
Módulo 7: + Pinecone production (mejora scale)
↓
Módulo 8: Sistema completo evaluado con RAGAS
Cada módulo agrega UNA técnica → mides mejora → decides si mantener.
✅ Evidencia de Éxito
Al finalizar este módulo, deberías poder:
Arquitectura:
- Dibujar arquitectura RAG completa con 4 componentes (indexing, retrieval, generation, evaluation)
- Explicar flujo de datos end-to-end (documento → chunks → embeddings → vector DB → query → retrieval → generation)
- Identificar dónde aplicar cada técnica avanzada (chunking en indexing, re-ranking en retrieval, etc.)
Decisiones:
- Justificar elección de chunking strategy (fixed vs semantic vs recursive) según tipo de documento
- Justificar elección de embeddings (OpenAI vs local) según caso de uso
- Justificar elección de vector DB (ChromaDB vs Pinecone) según scale y budget
Métricas:
- Definir métricas de éxito para tu caso de uso (latency, accuracy, cost)
- Medir baseline metrics (latency, retrieval quality, generation quality)
- Establecer targets realistas (qué es "bueno" según industria)
Implementación:
- Sistema RAG funcional con ChromaDB + OpenAI
- Código ejecutable (indexar documentos, query, generar respuesta)
- Métricas baseline documentadas (latency, retrieval quality)
Si respondes "SÍ" a todos → ✅ Listo para Módulo 2
Si respondes "NO" a 3+ → ⚠️ Repasa cápsulas del Módulo 1
📝 Próximos Pasos
- Lee Cápsula 02: Componentes del RAG Pipeline (indexing, retrieval, generation, evaluation)
- Lee Cápsula 03: Decisiones de Arquitectura (chunking, embeddings, vector DB, re-ranking)
- Lee Cápsula 04: Métricas de Éxito (latency, accuracy, cost)
- Lee Cápsula 05: Casos de Uso Reales (Perplexity, Notion AI, ChatGPT)
- Lee Cápsula 06: Cuándo Usar Técnicas Avanzadas (simple vs advanced trade-offs)
- Lee Cápsula 07: Setup del Proyecto Evolutivo (estructura de código)
- Implementa Cápsula 08: Baseline RAG System (proyecto hands-on)
🎓 Resumen
Conceptos clave de esta cápsula:
- ✅ RAG avanzado resuelve problemas de RAG básico (chunking, queries, precision, keywords, metadata)
- ✅ Módulo 1 da big picture: arquitectura, decisiones, métricas, casos de uso, baseline
- ✅ Baseline RAG system es punto de comparación para medir mejoras futuras
- ✅ Proyecto evolutivo: cada módulo agrega UNA técnica y mides delta
- ✅ Setup técnico: ChromaDB + OpenAI + .env configurado correctamente
- ✅ Roadmap claro: 8 cápsulas de arquitectura a implementación
Qué sigue:
Cápsula 02 te enseña los 4 componentes críticos de RAG: indexing (chunks, embeddings, storage), retrieval (query processing, search, top-K), generation (context injection, prompting), y evaluation (métricas, feedback loop).
📚 Recursos Adicionales
- Retrieval-Augmented Generation (Paper) - Paper original de RAG (Lewis et al., 2020)
- LangChain RAG Tutorial - Tutorial oficial de LangChain
- ChromaDB Docs - Documentación oficial de ChromaDB
- OpenAI Embeddings Guide - Guía de embeddings de OpenAI
- Pinecone RAG Guide - Guía de RAG de Pinecone
- Building RAG Systems (Video) - Explicación visual de RAG (30 min)
Creado: Febrero 6, 2026
Versión: 1.0