Qué es RAG y cómo usarlo con n8n sin ser programador
Si has trabajado con ChatGPT o cualquier otro modelo de lenguaje, probablemente hayas notado sus limitaciones más frustrantes: responde con información desactualizada, no conoce los documentos internos de tu empresa, y a veces directamente inventa datos con total confianza.
RAG es la solución técnica a ese problema. Y gracias a n8n, cualquier persona puede implementarla sin ser programador ni contratar a un desarrollador.
El problema que RAG resuelve
Los modelos de lenguaje como GPT-4 o Claude aprenden de un enorme corpus de texto hasta una fecha de corte. Después de esa fecha, no saben nada nuevo. Y, más importante, nunca sabrán nada sobre los documentos internos de tu empresa: tus manuales, tus políticas, tu catálogo de productos, tus contratos.
Si le preguntas a ChatGPT sobre la política de devoluciones de tu tienda, inventará una respuesta plausible. Si le preguntas sobre el contrato específico de un cliente, no tiene ni idea.
RAG resuelve esto dándole al modelo acceso a información específica y actualizada en el momento de responder, en lugar de intentar que aprenda todo de antemano.
Qué es RAG, explicado sin tecnicismos
RAG son las siglas de Retrieval Augmented Generation (Generación Aumentada por Recuperación). La idea es sencilla:
Antes de que el modelo genere una respuesta, el sistema busca los fragmentos de texto más relevantes en una base de conocimiento y se los proporciona al modelo como contexto. El modelo responde basándose en esa información específica, no en su conocimiento general.
Una analogía útil: imagina que tienes un nuevo empleado muy inteligente que no sabe nada sobre tu empresa. Puedes darle un examen y esperar que aprenda todo de memoria (eso sería fine-tuning), o puedes darle acceso a todos los documentos y decirle “busca lo que necesites antes de responder” (eso es RAG). En la práctica, la segunda opción es mucho más práctica, más barata y más actualizable.
Los cuatro componentes de un sistema RAG
1. Los documentos (tu base de conocimiento)
Son los textos que quieres que el agente conozca: PDFs, páginas web, artículos, manuales, políticas de empresa, FAQs, correos importantes…
2. Los chunks (fragmentos)
Los documentos se dividen en fragmentos pequeños (normalmente de 500 a 1.000 palabras). Esto es necesario porque los modelos tienen un límite de contexto y no puedes pasarle un documento de 200 páginas completo en cada consulta.
3. Los embeddings (representaciones vectoriales)
Cada fragmento se convierte en un vector numérico (un embedding) que representa su significado semántico. Dos fragmentos sobre el mismo tema tendrán vectores similares, aunque usen palabras distintas. Este paso se hace con un modelo de embeddings (como text-embedding-3-small de OpenAI).
4. La base de datos vectorial
Todos esos vectores se guardan en una base de datos especializada en búsqueda semántica: Pinecone, Supabase (con pgvector), Qdrant, Weaviate, Chroma…
Cuando el usuario hace una pregunta, el sistema:
- Convierte la pregunta en un vector (con el mismo modelo de embeddings).
- Busca en la base de datos los fragmentos más similares semánticamente.
- Pasa esos fragmentos como contexto al modelo de lenguaje.
- El modelo responde basándose en esa información concreta.
RAG con n8n: el flujo completo
n8n tiene nodos específicos para construir sistemas RAG sin código. El proceso tiene dos workflows separados:
- Workflow de ingesta: carga y procesa los documentos una vez (o cuando se actualizan).
- Workflow de consulta: responde preguntas en tiempo real usando los documentos cargados.
Workflow 1: Ingesta de documentos
Este workflow se ejecuta cuando quieres añadir o actualizar documentos en tu base de conocimiento.
Paso 1: Cargar el documento
Usa uno de estos triggers según tu caso:
- Google Drive Trigger: se ejecuta cuando añades un archivo a una carpeta de Drive.
- Manual Trigger: lo ejecutas tú manualmente cuando quieres procesar documentos.
- Webhook: si tienes un sistema externo que debe enviar documentos.
Paso 2: Extraer el texto
Dependiendo del formato:
- PDF: nodo “Extract from File” → selecciona PDF.
- Página web: nodo “HTTP Request” para obtener el HTML, luego un nodo “HTML” para extraer el texto.
- Google Docs: nodo “Google Drive” → exportar como texto plano.
Paso 3: Dividir en chunks
Nodo “Recursive Character Text Splitter” (disponible en la sección de nodos de IA de n8n):
- Chunk Size: 800 (caracteres por fragmento)
- Chunk Overlap: 100 (caracteres de solapamiento entre fragmentos, para no perder contexto en los bordes)
Paso 4: Crear embeddings y guardar en la base vectorial
Opción A: Pinecone (servicio en cloud, plan gratuito disponible)
Nodo “Pinecone” → “Insert”:
- Credencial: tu API key de Pinecone
- Index: el nombre del índice que hayas creado
- Los embeddings se calculan automáticamente con el modelo configurado (normalmente
text-embedding-3-smallde OpenAI)
Opción B: Supabase con pgvector (más control, plan gratuito generoso)
Supabase es una alternativa de código abierto a Firebase que incluye soporte para vectores. Si ya tienes n8n self-hosted, puedes también tener Supabase self-hosted.
Nodo “Supabase” → “Insert”:
- Configura la tabla con una columna
embeddingde tipovector(1536). - Usa el nodo de OpenAI Embeddings para calcular los vectores antes de insertar.
Workflow 2: Consulta en tiempo real
Este es el workflow que responde preguntas de usuarios usando los documentos cargados.
Estructura
Trigger (webhook, WhatsApp, chat web...)
→ Generar embedding de la pregunta
→ Buscar chunks relevantes en la base vectorial
→ AI Agent (responder con los chunks como contexto)
→ Devolver respuesta
Paso 1: Trigger
Puede ser cualquier canal: un webhook de WhatsApp (ver guía: agente IA WhatsApp con n8n), un formulario web, Telegram, etc.
Paso 2: Nodo AI Agent con Vector Store
n8n tiene un nodo “AI Agent” que integra el RAG de forma nativa. Configúralo así:
- Chat Model: OpenAI GPT-4o
- Memory: Window Buffer Memory (para recordar el contexto de la conversación)
- Tools: añade el “Vector Store Tool” conectado a tu Pinecone o Supabase
El Vector Store Tool funciona como una herramienta que el agente llama automáticamente cuando necesita buscar información. El agente decide solo cuándo consultar la base de conocimiento y cuándo responder con su conocimiento general.
El system prompt para un agente RAG
Eres el asistente de conocimiento de [empresa/producto].
Tienes acceso a una base de documentos con información
oficial de la empresa. Cuando el usuario haga una pregunta:
1. Busca en los documentos la información relevante.
2. Responde basándote EXCLUSIVAMENTE en lo que encuentres.
3. Si no encuentras información suficiente, dilo claramente:
"No tengo información sobre eso en mi base de documentos."
4. Nunca inventes ni supongas información que no esté en los documentos.
5. Cita el documento fuente cuando sea útil.
Responde siempre en el idioma del usuario.
Casos de uso prácticos con RAG
Asistente de atención al cliente
Carga el manual de producto, las FAQs, las políticas de devolución y envío. El agente responde preguntas de clientes 24/7 con información precisa y actualizada.
Chatbot interno de empresa
Carga documentos de RRHH, políticas internas, manuales de procedimiento. Los empleados pueden preguntar en lenguaje natural en lugar de buscar en carpetas de Drive.
Asistente de ventas
Carga el catálogo de productos, comparativas con la competencia, casos de éxito. El equipo comercial tiene respuestas precisas al alcance de un mensaje.
Análisis de contratos o documentos legales
Carga contratos, normativas o regulaciones. El agente puede responder preguntas específicas sobre clausulas o requisitos sin que un abogado tenga que leer cada documento entero.
Cuándo NO usar RAG
RAG no es la solución para todo. No lo uses si:
- Los documentos cambian muy frecuentemente: si el contenido cambia varias veces al día, el coste de reindexar constantemente puede no merecer la pena.
- Las preguntas no son sobre documentos: si el agente necesita razonar, hacer cálculos o tomar decisiones, RAG no ayuda (necesitas un agente con herramientas de otra naturaleza).
- El volumen es muy bajo: si son solo 5 documentos cortos, puedes pasarlos directamente en el system prompt sin necesidad de una base vectorial.
Preguntas frecuentes
¿Cuánto cuesta implementar RAG con n8n?
El coste principal es el de los embeddings (calcular los vectores). Con text-embedding-3-small de OpenAI, indexar 1.000 páginas de texto cuesta aproximadamente 0,02€. Las consultas (calcular el embedding de la pregunta) son casi gratuitas. Pinecone tiene un plan gratuito para empezar.
¿Qué tamaño de chunk es el mejor? Depende del tipo de documento. Para FAQs y preguntas cortas, chunks de 300-500 caracteres. Para documentos técnicos o legales, 800-1.200 caracteres. El solapamiento del 10-15% entre chunks evita perder contexto en los bordes.
¿Puedo usar RAG con documentos en español? Sí, perfectamente. Los modelos de embeddings de OpenAI funcionan con todos los idiomas. La búsqueda semántica funciona igual de bien en español que en inglés.
¿Es difícil mantener la base de conocimiento actualizada? Con n8n puedes automatizar la actualización: cada vez que modificas un documento en Drive, un trigger lo re-indexa automáticamente. Configurado una vez, el mantenimiento es prácticamente cero.
¿Te ha resultado útil? Compártelo con alguien que quiera automatizar su trabajo con IA.