Inicio

RAG — Retrieval Augmented Generation

Capítulo 10: RAG — Retrieval Augmented Generation

En el capítulo anterior aprendimos sobre embeddings y búsqueda semántica. Ahora vamos a usar esa búsqueda para algo más poderoso: hacer que un modelo responda preguntas sobre tus propios documentos.

RAG significa "Retrieval Augmented Generation":

  • Retrieval: Buscar información relevante
  • Augmented: Aumentar el prompt con esa información
  • Generation: Generar una respuesta basada en el contexto

Es el patrón que usan los chatbots empresariales para responder sobre políticas internas, manuales de producto, o cualquier documento privado.

Código Primero

Construyamos un asistente que responde preguntas sobre políticas de empresa:

Eso es todo. En ~60 líneas tienes un sistema RAG funcional.

¿Qué Acaba de Pasar?

El flujo RAG tiene dos fases:

La clave está en el prompt final. El modelo no "sabe" sobre tus documentos, pero puede razonar sobre la información que le pasas en el contexto.

El Truco del Contexto

Sin RAG:

Con RAG:

El modelo usa la información del contexto para dar respuestas precisas.

Chunking: Dividir Documentos Grandes

Un problema: ¿qué pasa si tus documentos son muy largos?

Los embeddings funcionan mejor con textos cortos (200-500 palabras). Si tienes un manual de 50 páginas, necesitas dividirlo en "chunks" (fragmentos).

Regla práctica: chunks de 200-500 palabras suelen funcionar bien. Muy cortos pierden contexto, muy largos diluyen la relevancia.

Citando Fuentes

Para que las respuestas sean verificables, haz que el modelo cite sus fuentes:

Integrándolo en React Router v7

Mejorando la Precisión

Si las respuestas no son lo suficientemente precisas, hay varias técnicas:

1. Buscar más documentos

2. Filtrar por relevancia mínima

3. Mejor prompt de sistema

4. Agregar metadata

Resumen

PasoFunciónDescripción
1. IndexarembedMany()Convertir documentos a vectores
2. Buscarembed() + similitudEncontrar docs relevantes
3. ContextoString con docsInformación para el modelo
4. GenerargenerateText()Respuesta basada en contexto

El flujo completo

¿Cuándo usar RAG?

Usa RAGNo necesitas RAG
Documentos privados/actualizadosConocimiento general
Necesitas citar fuentesRespuestas creativas
Información cambia frecuentementeDatos estáticos y simples
Manuales, políticas, FAQsChat casual

En el próximo capítulo veremos Agentic RAG: cuando el modelo decide autónomamente si necesita buscar, qué buscar, y cuándo buscar de nuevo para responder preguntas complejas.

¿Ya compraste el libro?

Si compraste el libro y no encuentras tu email de descarga, ingresa tu email y te enviamos un nuevo enlace.