Inscríbete para acceder a todas las lecciones de este curso.
Lección 3 de 33· Orientación: el sistema RAG que vas a construir
Antes de escribir una sola línea de chunking o embeddings, necesitas el mapa mental completo: qué piezas tiene un sistema RAG, en qué orden se conectan, cómo fluyen los datos entre ellas y qué hito de este proyecto construye cada una. Sin ese mapa es fácil perderse en los detalles de una etapa y no entender por qué existe.
En la lección anterior ya viste una respuesta con citas salir del corpus de NimbusTech en dos minutos. Eso fue el sistema terminado funcionando como una caja negra. Aquí abrimos la caja: al terminar esta lección podrás dibujar de memoria el pipeline entero, explicar por qué RAG reduce las alucinaciones frente a preguntarle directamente a un modelo, y reconocer cada término clave (chunk, embedding, top-k, recall@k, MRR, re-ranking, groundedness, abstención) cuando aparezca en los siguientes hitos.
La idea en una frase: RAG separa dónde vive el conocimiento (tus documentos, indexados) de quién redacta la respuesta (el modelo generador). El modelo ya no inventa de memoria: cita lo que el sistema le puso delante.
Un sistema RAG no es una línea recta: tiene dos caminos que se encuentran. Uno se ejecuta antes de que llegue ninguna pregunta (indexación offline) y otro se ejecuta cada vez que un usuario pregunta (consulta online). Explora el grafo —puedes desplazarlo y hacer zoom— y fíjate en dónde se cruzan ambos caminos: en la recuperación, cuando la pregunta se compara contra el índice que preparaste de antemano.
Es todo el trabajo de preparación que ocurre antes de que exista ninguna pregunta. El objetivo es transformar documentos crudos en algo que se pueda buscar por significado.
Es lo que ocurre en tiempo real cuando alguien pregunta algo.
Este proyecto está organizado para que ensambles el pipeline pieza por pieza, y cada hito deja una parte funcionando y probada. Esta tabla es tu índice de referencia para todo el proyecto:
| Etapa del pipeline | Hito | Qué construyes | Concepto clave |
|---|---|---|---|
| Ingesta y limpieza | Hito 1 | Carga y normalización del corpus | Texto uniforme y reproducible |
| Chunking | Hito 2 | Troceado con solapamiento | Tamaño de chunk, overlap |
| Embeddings + índice | Hito 3 | Vectores y estructura de búsqueda | Embedding, índice vectorial |
| Recuperación | Hito 4 | Búsqueda top-k por similitud | Similitud coseno, elección de k |
| Re-ranking | Hito 5 | Re-ordenar candidatos | Precisión sobre recall |
| Generación con citas | Hito 6 | Prompt fundamentado + abstención | Groundedness, citas verificables |
| Evaluación | Hito 7 | Métricas objetivas | recall@k, MRR, groundedness |
| Robustez y seguridad | Hito 8 | Defensa ante ataques y control de acceso | Inyección de prompts, fugas |
| Ensamblaje | Hito 9 | La clase RAGSystem completa | Un solo punto de entrada |
No tienes que memorizar la tabla: la idea es que cuando estés en, digamos, el Hito 4 eligiendo k, tengas claro que estás en el camino de consulta y que lo que traigas alimenta directamente al re-ranking y luego a la generación.
Un LLM por sí solo responde a partir de lo que "recuerda" de su entrenamiento. Ese conocimiento es paramétrico: está comprimido en sus pesos, es difuso, tiene fecha de corte y no incluye tus documentos internos. Cuando le preguntas por la política de trabajo remoto de NimbusTech, el modelo no la conoce, así que rellena el hueco con algo que suena plausible pero es inventado. Eso es una alucinación.
RAG ataca el problema de raíz cambiando la fuente de la respuesta:
La recuperación se apoya en comparar significados como vectores. La cercanía entre la pregunta y un chunk se mide con la similitud coseno:
Un valor cercano a significa "apuntan en la misma dirección semántica"; cercano a , "no tienen que ver". Sobre esa medida se construye toda la recuperación del Hito 4.
La clave conceptual: RAG no hace al modelo más inteligente, lo hace más honesto. Le da material verificable y le pide ceñirse a él. Y cuando ese material no contiene la respuesta, un buen sistema RAG se abstiene ("no encuentro esto en la base de conocimiento") en vez de rellenar el vacío.
RAG no es siempre la respuesta correcta. Usa este árbol de decisión mental antes de meter todo en un pipeline RAG:
RAG brilla cuando: el conocimiento es tuyo (documentos internos, privados), cambia con el tiempo, es demasiado grande para caber en un solo prompt, y necesitas que cada afirmación sea rastreable hasta su fuente. Ese es exactamente el escenario de NimbusTech: cientos de políticas, manuales y FAQs que evolucionan, y respuestas que un empleado debe poder verificar. Por eso construimos un pipeline completo y no un simple prompt.
Estos términos aparecerán en cada hito. Repásalos con las tarjetas —el sistema te las volverá a mostrar justo antes de que las olvides— para que lleguen al teclado sin fricción cuando estés programando.
Antes de pasar al Hito 1, responde estas preguntas en tu cabeza (o en voz alta) y solo después despliega la respuesta. Recuperar cuesta más que releer, y por eso fija mejor lo aprendido.
<details> <summary><strong>1.</strong> De estas cuatro etapas —recuperación, embeddings, chunking, generación— ¿cuáles pertenecen al camino de indexación *offline* (antes de la pregunta)?</summary>Chunking y embeddings (junto con la ingesta y la construcción del índice) son offline. La recuperación y la generación ocurren online, en cada consulta. La recuperación es el punto donde ambos caminos se cruzan.
</details> <details> <summary><strong>2.</strong> ¿Por qué RAG produce respuestas menos alucinadas que preguntarle directo al modelo?</summary>Porque la respuesta se fundamenta en fragmentos reales recuperados del corpus y entregados al modelo en el prompt, en lugar de salir de su memoria paramétrica. Eso la hace verificable, citable y actualizable sin reentrenar. RAG no hace al modelo más listo, lo hace más honesto.
</details> <details> <summary><strong>3.</strong> El usuario pregunta "¿cuál es la política de reembolso del plan Gratis?" y en el corpus de NimbusTech no existe esa información. ¿Qué debería hacer un buen sistema RAG?</summary>Abstenerse: responder que no encuentra esa información en la base de conocimiento, en vez de inventar una política. Es precisamente el comportamiento que buscamos y que mediremos con las preguntas de categoría sin_respuesta en el Hito de evaluación.
Necesitas el índice vectorial construido en el Hito 3 (que a su vez depende del chunking del Hito 2 y de los embeddings). Tus resultados top-k alimentan el re-ranking (Hito 5) y luego la generación con citas (Hito 6).
</details>Si respondiste las cuatro con seguridad, ya tienes el mapa que necesitas. En el siguiente hito dejamos la teoría y empezamos a cargar y limpiar el corpus real de NimbusTech.
Gratis