para estudiantespara docentespara institucionespara comunidades
OpenCourses.AI
Explorar
Volver al cursoRecursos del curso

Syllabus

Fundamentos de Retrieval-Augmented Generation (RAG)

Descargar

Syllabus — Fundamentos de Retrieval-Augmented Generation (RAG)

Fecha: 2026-06-02

Duración estimada: 24–32 horas (7 unidades)

Formato: Autogestionado, práctico, basado en notebooks Jupyter ejecutables

Stack tecnológico: Python 3.11+ · LangChain · ChromaDB · FAISS · BM25 · Sentence-Transformers · Ollama · DeepEval


Prerrequisitos

ConocimientoNivel requerido
PythonIntermedio básico: scripts, listas/diccionarios, funciones, imports
Machine LearningNociones generales: qué es un modelo, entrenamiento vs inferencia, similitud entre textos
Jupyter NotebookSaber ejecutar celdas, leer outputs, modificar código
Línea de comandosInstalar paquetes con pip, ejecutar scripts

No se requiere experiencia previa con LLMs, embeddings, sistemas de recuperación ni arquitecturas RAG.


Estructura del curso

UnidadTítuloTipo de experienciaFormatoDuración
U1Introducción a RAGconceptual-clarity + guided-practiceMarkdown4–5 h
U2Embeddings y Búsqueda Semánticaguided-practice + conceptual-clarityNotebook5–6 h
U3Estrategias de Chunkingguided-practiceNotebook2 h
U4Retrieval — Denso, Disperso e Híbridodecision-lab + guided-practiceNotebook3–4 h
U5Integración con LLMs — Locales y Cloudguided-practice + decision-labNotebook2 h
U6Evaluación de Sistemas RAGdecision-lab + guided-practiceNotebook2 h
U7Proyecto Final RAG (integrador)project-builderNotebook + Informe6–8 h

Unidad 1 — Introducción a RAG: De la Recuperación a la Generación

Propósito: Establecer la base conceptual del curso: por qué los LLMs puros no bastan y cómo RAG resuelve las limitaciones fundamentales.

Contenido:

  • Las tres limitaciones de los LLMs puros: conocimiento estático, sin acceso a datos privados, alucinación
  • El patrón Retrieve → Augment → Generate con ejemplos concretos
  • Arquitectura completa: pipeline de ingestión (offline) vs pipeline de consulta (online)
  • Diagramas de arquitectura del flujo RAG y de los pipelines de ingestión/consulta
  • Comparativa RAG vs búsqueda tradicional vs fine-tuning vs prompting largo (tabla de 7 dimensiones)
  • Ejemplo walkthrough: FAQ sobre un producto real (SmartFridge X200) — LLM puro alucina, RAG responde con fidelidad

Práctica incluida: Configuración del entorno Python (langchain, chromadb, faiss-cpu, ollama, sentence-transformers), prueba de embeddings con similitud coseno.

Evidencia de aprendizaje: Actividad con 3 partes: (A) explicar la arquitectura RAG con diagrama propio, (B) clasificar 5 escenarios donde RAG supera a LLM puro, (C) reflexión sobre un caso de uso propio.

Conexión: Prepara la base conceptual para todas las unidades siguientes.


Unidad 2 — Embeddings y Búsqueda Semántica

Propósito: Comprender qué es un embedding, cómo captura significado semántico, y cómo usarlo para buscar documentos por similitud.

Contenido:

  • Definición de embedding: vector denso en espacio continuo, propiedades (densidad, continuidad, direccionalidad)
  • Similitud coseno como métrica de cercanía semántica
  • Por qué embeddings superan a búsqueda por palabras clave (BM25, SQL LIKE)
  • Carga del modelo BAAI/bge-small-en-v1.5 (33M params, 384 dimensiones)
  • Generación de embeddings para 6 oraciones y matriz de similitud (gato/felino ~0.85, gato/lluvia ~0.3)
  • Construcción de índice FAISS con 20 documentos de productos tecnológicos
  • Búsqueda con 5 consultas variadas (monitor, teclado ergonómico, silla, audífonos, disco duro)
  • Integración con ChromaDB: inserción con metadatos y búsqueda con filtro por categoría

Práctica incluida: Cálculo de precision@k, experimentación variando consultas y observando cambios en resultados, indexación de documentos propios.

Evidencia de aprendizaje: Indexar al menos 5 documentos propios, ejecutar 3 consultas, y reportar la precision@3 obtenida.

Conexión: Los embeddings generados aquí son el input para el chunking (U3) y el retrieval (U4).


Unidad 3 — Estrategias de Chunking

Propósito: Experimentar con diferentes estrategias de división de documentos y medir su impacto en la calidad de recuperación.

Contenido:

  • ¿Qué es chunking y por qué importa? Datos de Weaviate 2025 (brecha de hasta 9% en recall) y Vecta Benchmark 2026 (recursive 69% > semántico 54%)
  • Parámetros críticos: chunk_size, chunk_overlap, separadores
  • Estrategias cubiertas: fixed-size, recursive character, semantic chunking
  • Corpus real: manual del SmartFridge X200 (3 secciones: especificaciones, solución de problemas, garantía)
  • Evaluación comparativa: 3 consultas × 3 estrategias con medición de recall
  • Visualización de chunks con colores diferenciados

Práctica incluida: Experimentación variando chunk_size y chunk_overlap, medición de recall@k para cada configuración.

Evidencia de aprendizaje: Tabla comparativa de las 3 estrategias con resultados cuantitativos, identificación de la estrategia óptima según tipo de consulta.

Conexión: Los chunks generados alimentan el retrieval denso, disperso e híbrido de la Unidad 4.


Unidad 4 — Retrieval: Denso, Disperso e Híbrido

Propósito: Implementar y comparar tres paradigmas de recuperación —denso (FAISS), disperso (BM25) e híbrido (RRF)— con reranking por cross-encoder.

Contenido:

  • El problema de la recuperación: encontrar las "agujas en el pajar" entre chunks
  • Recuperación densa: embeddings + FAISS (IndexFlatIP), búsqueda semántica
  • Recuperación dispersa: BM25, frecuencia de términos, vocabulario, manejo de consultas sin términos
  • Comparación directa denso vs disperso sobre las mismas consultas
  • Fusión híbrida con Reciprocal Rank Fusion (RRF): fórmula y efecto del parámetro k
  • Reranking con cross-encoder (ms-marco-MiniLM-L-6-v2): discriminación fina
  • Experimento comparativo: 3 consultas × 4 métodos (dense, sparse, hybrid, hybrid+rerank) con métricas P@5 y MRR

Práctica incluida: Modificar el parámetro k de RRF y observar cambios en rankings, experimentar con consultas de diferente tipo (literal, inferencia, fuera de contexto).

Evidencia de aprendizaje: Tabla de métricas experimentales, interpretación de qué método funciona mejor para cada tipo de consulta.

Conexión: Los chunks recuperados aquí alimentan el generador LLM de la Unidad 5.


Unidad 5 — Integración con LLMs: Locales y Cloud

Propósito: Cerrar el ciclo RAG conectando el retriever con un LLM generador (Ollama local + OpenAI API opcional).

Contenido:

  • Estructura de un RAG prompt: System + Contexto + Pregunta
  • Pipeline completo: chunking → embeddings → FAISS → BM25 → híbrido (RRF) → reranking → generación
  • Implementación con Ollama (gemma4:latest, 8B) como LLM local
  • Experimento LLM puro vs RAG: misma consulta, dos respuestas contrastadas
  • Efecto de la temperatura en la variabilidad de respuestas (0.0, 0.5, 1.0)
  • Tres tipos de consulta: literal, inferencia, fuera de contexto
  • OpenAI como alternativa cloud (opcional, requiere API key)

Práctica incluida: Ejecutar consultas propias, comparar respuestas con y sin contexto, experimentar con temperatura, identificar casos donde RAG supera a LLM puro.

Evidencia de aprendizaje: Tabla comparativa con 3 consultas mostrando LLM puro vs RAG, reflexión sobre la reducción de alucinaciones.

Conexión: El pipeline completo de aquí es el sujeto de evaluación de la Unidad 6.


Unidad 6 — Evaluación de Sistemas RAG

Propósito: Medir objetivamente la calidad de un sistema RAG usando métricas estandarizadas y un framework de evaluación.

Contenido:

  • Las 4 métricas fundamentales: faithfulness, answer relevancy, context precision, context recall
  • DeepEval 4.0.5 como framework de evaluación (con wrapper OllamaGemma)
  • Faithfulness: ¿la respuesta se alinea con el contexto? Verificación claim por claim con Gemma4
  • Answer Relevancy: ¿la respuesta responde la pregunta? Statements extraídos y verificados
  • Context Precision: proporción de chunks relevantes entre los recuperados (cálculo manual con ranking)
  • Context Recall: proporción de la información relevante que fue recuperada
  • Experimento: 3 consultas × 4 métricas con análisis de resultados
  • Experimento adicional: variación de chunk_size (300 vs 600 vs 900 caracteres) y efecto en recall

Práctica incluida: Modificar parámetros de chunking/retrieval, observar cambios en métricas, diagnosticar causas de faithfulness baja o recall insuficiente.

Evidencia de aprendizaje: Tabla de métricas para 3 consultas, identificación de la consulta mejor y peor evaluada, diagnóstico de por qué.

Conexión: Las métricas aquí aprendidas se usan en el Proyecto Final (U7) para evaluar el sistema construido.


Unidad 7 — Proyecto Final: Asistente RAG sobre Corpus Real

Propósito: Integrar todas las habilidades del curso en un proyecto autocontenido sobre un corpus de elección del estudiante.

Contenido:

  • Pipeline RAG completo en un solo notebook: chunking → embeddings → FAISS → BM25 → híbrido (RRF) → reranking → generación con Ollama → evaluación con DeepEval
  • Guía para seleccionar un corpus propio (documentos técnicos, FAQs, artículos, correos)
  • Pipeline demo sobre SmartFridge X200 (fallback automático si no hay corpus propio)
  • Comparación RAG vs LLM puro con 2 consultas de prueba
  • Evaluación cuantitativa: faithfulness, answer relevancy, precision@k, average precision, recall
  • Plantilla de informe técnico (unit-7-report.md): 5 secciones con rúbrica de autoevaluación

Práctica incluida: Seleccionar corpus, ejecutar el pipeline completo, evaluar con métricas, documentar decisiones técnicas en el informe.

Evidencia de aprendizaje: Informe técnico completo con arquitectura, resultados experimentales, decisiones técnicas y reflexión personal. Autoevaluación contra 6 criterios (18 pts máx).

Cierre: Conexión con aplicaciones reales (chatbots documentales, asistentes de soporte, búsqueda corporativa, investigación académica).


Evidencias de aprendizaje por unidad

Unidad¿Qué entrega el estudiante?Formato
U1Explicación escrita de arquitectura RAG + clasificación de 5 escenarios + caso propioRespuestas en el mismo documento
U2Notebook ejecutado con 5+ documentos propios indexados y precision@3 reportadaNotebook .ipynb con outputs
U3Notebook con tabla comparativa de 3 estrategias y análisis de recallNotebook .ipynb con outputs
U4Notebook con tabla de métricas experimentales (3 consultas × 4 métodos)Notebook .ipynb con outputs
U5Notebook con tabla comparativa LLM-puro vs RAG y reflexiónNotebook .ipynb con outputs
U6Notebook con tabla de 4 métricas para 3 consultas y diagnósticoNotebook .ipynb con outputs
U7Informe técnico (5 secciones) + notebook ejecutado con pipeline completounit-7-report.md + .ipynb

Stack tecnológico del curso

ComponenteHerramientaVersión / Modelo
LenguajePython3.11+
EmbeddingsBAAI/bge-small-en-v1.533M params, 384 dims
Vector storeChromaDB + FAISS (IndexFlatIP)chromadb ≥0.5, faiss-cpu
ChunkingLangChain (RecursiveCharacterTextSplitter)langchain-text-splitters
Retrieval dispersorank_bm25BM25Okapi
Rerankingcross-encoder/ms-marco-MiniLM-L-6-v2Sentence Transformers
LLM localOllama (gemma4:latest)8B params
LLM cloudOpenAI GPT-4o-mini (opcional)API key requerida
EvaluaciónDeepEval 4.0.5FaithfulnessMetric, AnswerRelevancyMetric
MarcoLangChain + LangChain Communitylangchain ≥1.3

Modo de uso del curso

  1. Ejecución secuencial: Las unidades están diseñadas para cursarse en orden (U1 → U2 → ... → U7). Cada unidad construye sobre la anterior.
  1. Por unidad:
  • Unidad 1 (Markdown): Leer el texto conceptual, ejecutar los comandos de setup en terminal, completar la actividad escrita.
  • Unidades 2–7 (Notebooks): Abrir cada .ipynb en Jupyter, leer las celdas Markdown, ejecutar las celdas de código en orden, modificar donde se indique, completar la actividad al final.
  1. Archivos importantes:
  • source/units/unit-1.md a unit-7.ipynb — Material de estudio
  • source/units/unit-7-report.md — Plantilla de informe del proyecto final
  • data/manual-smartfridge-X200.txt — Corpus de ejemplo para todas las unidades
  • research/rag-ecosystem-2026.md — Investigación que fundamenta las decisiones técnicas del curso
  • decisions.md — Decisiones de diseño documentadas
  1. Para ejecutar notebooks se requiere el runtime descrito en la sección Stack tecnológico. El entorno Docker del curso incluye todas las dependencias preinstaladas.
  1. Duración sugerida: 24–32 horas totales, distribuidas en 3–4 sesiones de 6–8 horas, o 7 sesiones de 3–5 horas cada una.

Este syllabus es fiel al contenido real de las 7 unidades del curso, verificadas por lectura directa de los archivos source/units/unit-1.md a unit-7.ipynb y source/units/unit-7-report.md.