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.
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.
El flujo típico de RAG tiene tres etapas:
Los documentos fuente se procesan y almacenan para búsqueda eficiente:
Cuando llega una consulta del usuario:
from langchain_community.vectorstores import FAISS
from langchain_openai import OpenAIEmbeddings, ChatOpenAI
from langchain.text_splitter import RecursiveCharacterTextSplitter
from langchain.chains import RetrievalQA
# 1. Chunking
splitter = RecursiveCharacterTextSplitter(chunk_size=512, chunk_overlap=64)
chunks = splitter.split_documents(documents)
# 2. Indexación
vectorstore = FAISS.from_documents(chunks, OpenAIEmbeddings())
# 3. Recuperación + Generación
qa = RetrievalQA.from_chain_type(
llm=ChatOpenAI(model="gpt-4o"),
retriever=vectorstore.as_retriever(search_kwargs={"k": 4}),
)
answer = qa.invoke("¿Cuál es la política de devoluciones?")La calidad del chunking determina la calidad de la recuperación:
| Estrategia | Tamaño típico | Mejor para |
|---|---|---|
| Tamaño fijo | 256-512 tokens | Documentos homogéneos |
| Recursivo por separadores | 512-1.024 tokens | Texto con estructura (Markdown, HTML) |
| Semántico | Variable | Documentos donde el significado cruza párrafos |
| Por documento | Documento completo | Documentos cortos (FAQs, fichas) |
El overlap (superposición entre chunks) de 10-20% ayuda a preservar contexto en los bordes.
| Aspecto | RAG | Fine-tuning |
|---|---|---|
| Actualización de datos | Inmediata (cambiar documentos) | Requiere reentrenar |
| Costo | Bajo (infraestructura de búsqueda) | Alto (GPU, datos etiquetados) |
| Trazabilidad | Alta (citas a fuentes) | Baja (conocimiento en pesos) |
| Alucinaciones | Reducidas (contexto factual) | Persisten |
| Conocimiento especializado | Bueno con buenos documentos | Mejor para estilo/formato |
En la práctica, muchos sistemas combinan ambos: fine-tuning para el estilo y formato, RAG para el conocimiento factual.
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.
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.
Técnica de recuperación de información que utiliza embeddings vectoriales para encontrar resultados por significado, no solo por coincidencia exacta de palabras clave.
Estándar propuesto para publicar un archivo Markdown en la raíz de un sitio web que permite a los modelos de lenguaje entender y utilizar el contenido del sitio de forma eficiente durante la inferencia.
Sistemas autónomos que combinan modelos de lenguaje con razonamiento, memoria y uso de herramientas para ejecutar tareas complejas de múltiples pasos con mínima intervención humana.
Representaciones vectoriales densas que capturan el significado semántico de texto, imágenes u otros datos en un espacio numérico donde la proximidad refleja similitud conceptual.
Sistemas de almacenamiento especializados en indexar y buscar vectores de alta dimensión de forma eficiente, habilitando búsqueda semántica y aplicaciones de RAG a escala.
Técnicas para reducir la generación de información falsa pero plausible por parte de los LLMs, desde RAG hasta verificación factual y diseño de prompts.
Servicio serverless de AWS que proporciona acceso a modelos fundacionales de múltiples proveedores (Anthropic, Meta, Mistral, Amazon) vía API unificada, sin gestionar infraestructura de ML.
La cantidad máxima de tokens que un LLM puede procesar en una sola interacción, determinando cuánta información puede considerar simultáneamente para generar respuestas.
Crónica de construir un segundo cerebro con grafo de conocimiento, pipeline bilingüe y endpoints para agentes — en días, no semanas, y lo que eso enseña sobre la brecha entre teoría y sistemas que funcionan.