Conceptos

Generación Aumentada por Recuperación

Patrón arquitectónico que combina la recuperación de información de fuentes externas con la generación de texto por LLMs, reduciendo alucinaciones y manteniendo el conocimiento actualizado sin reentrenar el modelo.

seed#rag#llm#embeddings#vector-search#information-retrieval#ai-architecture

¿Qué es?

RAG (Retrieval-Augmented Generation) es un patrón que mejora las respuestas de un LLM inyectando información relevante recuperada de fuentes externas directamente en el contexto del prompt. En lugar de depender solo del conocimiento almacenado en los pesos del modelo, el sistema busca documentos relevantes y los incluye como contexto antes de generar la respuesta.

El concepto fue formalizado por Lewis et al. en 2020, pero se ha convertido en el patrón dominante para aplicaciones empresariales de IA generativa.

¿Cómo funciona?

El flujo típico de RAG tiene tres etapas:

1. Indexación (offline)

Los documentos fuente se procesan y almacenan para búsqueda eficiente:

  • Los documentos se dividen en fragmentos (chunks) de tamaño manejable
  • Cada fragmento se convierte en un embedding — un vector numérico que captura su significado semántico
  • Los vectores se almacenan en una base de datos vectorial o índice de búsqueda

2. Recuperación (runtime)

Cuando llega una consulta del usuario:

  • La consulta se convierte en un embedding usando el mismo modelo
  • Se buscan los fragmentos más similares por distancia vectorial (coseno, producto punto)
  • Se seleccionan los top-K fragmentos más relevantes

3. Generación (runtime)

  • Los fragmentos recuperados se inyectan en el prompt como contexto
  • El LLM genera una respuesta basada en la consulta Y el contexto proporcionado
  • Opcionalmente, se incluyen citas a las fuentes originales

Patrones avanzados

  • RAG híbrido: combina búsqueda vectorial con búsqueda por palabras clave (BM25) para mejor cobertura
  • RAG iterativo: el agente realiza múltiples rondas de recuperación, refinando la búsqueda según resultados intermedios
  • RAG con reranking: un modelo secundario reordena los resultados de búsqueda por relevancia antes de pasarlos al LLM
  • GraphRAG: utiliza grafos de conocimiento en lugar de (o además de) búsqueda vectorial

¿Por qué no solo fine-tuning?

AspectoRAGFine-tuning
Actualización de datosInmediata (cambiar documentos)Requiere reentrenar
CostoBajo (infraestructura de búsqueda)Alto (GPU, datos etiquetados)
TrazabilidadAlta (citas a fuentes)Baja (conocimiento en pesos)
AlucinacionesReducidas (contexto factual)Persisten
Conocimiento especializadoBueno con buenos documentosMejor para estilo/formato

En la práctica, muchos sistemas combinan ambos: fine-tuning para el estilo y formato, RAG para el conocimiento factual.

Conexión con llms.txt

El estándar llms.txt es un ejemplo práctico de RAG: proporciona a los agentes un documento estructurado que pueden recuperar y usar como contexto para responder preguntas sobre un sitio o proyecto.

Limitaciones

  • Calidad del chunking: fragmentos mal divididos producen contexto irrelevante
  • Límite de contexto: no se pueden inyectar documentos infinitos — la ventana de contexto del LLM es finita
  • Latencia: la etapa de recuperación añade tiempo a cada consulta
  • Garbage in, garbage out: si los documentos fuente tienen errores, el LLM los propagará con confianza

¿Por qué importa?

RAG es la técnica más práctica para dar a los LLMs acceso a información actualizada y específica del dominio sin fine-tuning. Combina la capacidad generativa del modelo con datos recuperados en tiempo real, reduciendo alucinaciones y manteniendo las respuestas fundamentadas en fuentes verificables.

Referencias

Conceptos