Ir al contenido

¿Qué es RAG?

Hasta ahora, hemos usado el modelo tal como viene de fábrica. Le hacemos una pregunta y él responde basándose en lo que aprendió durante su entrenamiento. Pero esto tiene dos problemas graves para el uso empresarial:

  1. Información congelada: El modelo no sabe qué pasó después de su fecha de corte (training cutoff).
  2. Falta de datos privados: El modelo no conoce tus correos, tus bases de datos ni tus manuales internos.

Para solucionar esto, existe RAG (Retrieval-Augmented Generation).

La analogía del “examen a libro abierto”

Sección titulada «La analogía del “examen a libro abierto”»

Para entender RAG, imaginemos un examen final de medicina:

“El estudiante con información de memoria”

El estudiante debe responder todas las preguntas de memoria, basándose únicamente en lo que estudió hace años en la universidad.

  • Riesgo: Si la medicina cambió la semana pasada, responderá con información obsoleta. Si se olvida de un dato, lo inventará (alucinación) para intentar aprobar.

El mito del “Fine-Tuning” (Re-entrenamiento)

Sección titulada «El mito del “Fine-Tuning” (Re-entrenamiento)»

Una duda común de todo desarrollador es: “¿Si quiero que la IA sepa sobre mi empresa, no debería re-entrenarla (Fine-Tuning)?”

La respuesta corta es: Casi nunca.

El Fine-Tuning es costoso, lento y difícil de mantener. RAG es barato, dinámico y preciso.

Característica🧠 Fine-Tuning (Entrenamiento)🔍 RAG (Búsqueda + Contexto)
AnalogíaEnviar al estudiante a la universidad otra vez.Darle un manual actualizado al estudiante.
ObjetivoCambiar la forma en que habla o razona.Darle conocimiento nuevo o privado.
Datos nuevosRequiere re-entrenar (días/semanas).Instantáneo (solo subes el archivo).
AlucinacionesPosibles (puede mezclar datos).Mínimas (se basa en el texto recuperado).
CostoAlto ($$$)Bajo ($)

El proceso consta de 3 pasos clave que implementaremos en este módulo:

  1. Retrieval (Recuperación): El usuario hace una pregunta. El sistema busca en tu base de datos los fragmentos de texto (chunks) más parecidos semánticamente a esa pregunta.

  2. Augmentation (Aumentación): Tomamos esos fragmentos encontrados y los “pegamos” dentro del prompt como contexto.

    Prompt: “Usa la siguiente información: [FRAGMENTO 1] [FRAGMENTO 2] para responder a la pregunta del usuario…”

  3. Generation (Generación): Enviamos ese prompt enriquecido al LLM. El modelo ya no tiene que inventar; solo tiene que procesar la información que le acabamos de dar.

Lo que construiremos

En los próximos capítulos, crearemos un sistema RAG desde cero con Node.js y Gemini que te permitirá chatear con un PDF o documentación técnica, eliminando las alucinaciones.