Ver todos los artículos
tutorialn8nragollama

Construye un Pipeline RAG Local con n8n y Ollama: Consulta los Documentos de tu Empresa con IA

JG
Jacobo González Jaspe
|

Construye un Pipeline RAG Local con n8n y Ollama: Consulta los Documentos de tu Empresa con IA

Toda empresa tiene un problema de conocimiento. Las politicas viven en PDFs que nadie lee. La documentacion de procesos esta en unidades compartidas. Los nuevos empleados hacen las mismas preguntas que ya se respondieron en una pagina de Confluence hace tres anos. RAG --- Generacion Aumentada por Recuperacion (Retrieval-Augmented Generation) --- resuelve esto permitiendo que un modelo de IA responda preguntas usando tus documentos reales como material fuente, no sus datos de entrenamiento.

Este tutorial te muestra como construir un pipeline RAG completo que funciona enteramente en hardware local. Sin claves de API en la nube. Sin costes por consulta. Sin datos saliendo de tu red.

Que es RAG en Terminos Sencillos

Un modelo de lenguaje grande sabe lo que aprendio durante su entrenamiento. No conoce tu politica de vacaciones, tu checklist de despliegue ni tu proceso de onboarding de clientes. RAG arregla esto anadiendo un paso de recuperacion antes de la generacion:

  1. Tu pregunta llega
  2. El sistema busca en tus documentos los pasajes relevantes
  3. Esos pasajes se inyectan en el prompt como contexto
  4. El LLM genera una respuesta fundamentada en tu documentacion real

El resultado: respuestas precisas y respaldadas por fuentes en lugar de generalidades inventadas.

Vision General de la Arquitectura

Aqui esta el pipeline completo desde la ingestion de documentos hasta la generacion de respuestas:

graph LR
    A[Documentos<br/>PDF, DOCX, TXT] --> B[Chunker<br/>Dividir en pasajes]
    B --> C[Modelo de Embedding<br/>nomic-embed-text]
    C --> D[Base de Datos Vectorial<br/>ChromaDB]

    E[Pregunta del Usuario] --> F[Embed Pregunta]
    F --> G[Busqueda Vectorial<br/>Top 5 resultados]
    G --> H[Construir Prompt<br/>Contexto + Pregunta]
    D --> G
    H --> I[Ollama LLM<br/>Llama 3.1 8B]
    I --> J[Respuesta con Fuentes]

    style A fill:#0B1628,color:#FAFAFA
    style J fill:#F5A623,color:#0B1628

Que Necesitas

ComponentePropositoInstalacion
n8nOrquestacion de workflowsdocker run -d -p 5678:5678 n8nio/n8n
OllamaInferencia local LLM + embeddingsbrew install ollama
ChromaDBBase de datos vectorialpip install chromadb
Llama 3.1 8BModelo de generacion de respuestasollama pull llama3.1:8b
nomic-embed-textModelo de embeddingsollama pull nomic-embed-text

Requisito de hardware: un Mac Mini M4 con 16GB+ de RAM maneja todo esto comodamente. Para la guia completa de hardware, consulta nuestras recomendaciones de hardware para IA edge.

Paso 1: Ingestar y Fragmentar Documentos

El workflow de ingestion en n8n vigila una carpeta en busca de nuevos documentos, los divide en fragmentos, genera el embedding de cada fragmento y almacena los vectores en ChromaDB.

Crea un workflow en n8n con un Schedule Trigger que se ejecute cada 15 minutos:

{
  "nodes": [
    {
      "name": "Schedule Trigger",
      "type": "n8n-nodes-base.scheduleTrigger",
      "parameters": {
        "rule": {
          "interval": [{ "field": "minutes", "minutesInterval": 15 }]
        }
      }
    },
    {
      "name": "Read Files",
      "type": "n8n-nodes-base.readWriteFile",
      "parameters": {
        "operation": "list",
        "folderPath": "/data/company-docs/"
      }
    }
  ]
}

Para cada documento, divide el texto en fragmentos solapados de 500 tokens con 50 tokens de solapamiento. Esto asegura que no se pierde informacion en los limites entre fragmentos.

Generar Embedding de Cada Fragmento via Ollama

Usa un nodo HTTP Request para llamar al endpoint de embeddings de Ollama:

{
  "url": "http://localhost:11434/api/embed",
  "method": "POST",
  "body": {
    "model": "nomic-embed-text",
    "input": "{{ $json.chunk_text }}"
  }
}

La respuesta contiene un vector de 768 dimensiones. Almacenalo en ChromaDB junto con el texto original y metadatos (nombre de archivo, numero de pagina, indice de fragmento).

Paso 2: Pipeline de Consulta

Cuando un usuario hace una pregunta, el pipeline de consulta genera el embedding de la pregunta, busca en ChromaDB los 5 fragmentos mas similares y los pasa como contexto a Ollama para generar la respuesta.

{
  "url": "http://localhost:11434/api/embed",
  "method": "POST",
  "body": {
    "model": "nomic-embed-text",
    "input": "Cual es nuestra politica de vacaciones?"
  }
}

Busqueda Vectorial

Consulta ChromaDB con el embedding de la pregunta para recuperar los fragmentos de documentos mas relevantes:

import chromadb

client = chromadb.PersistentClient(path="/data/chromadb")
collection = client.get_collection("company_docs")

results = collection.query(
    query_embeddings=[question_embedding],
    n_results=5,
    include=["documents", "metadatas", "distances"]
)

Generar Respuesta con Ollama

Construye el prompt con el contexto recuperado y envialo a Ollama:

{
  "url": "http://localhost:11434/api/chat",
  "method": "POST",
  "body": {
    "model": "llama3.1:8b",
    "messages": [
      {
        "role": "system",
        "content": "Responde usando SOLO el contexto proporcionado. Si el contexto no contiene la respuesta, dilo. Cita el documento fuente."
      },
      {
        "role": "user",
        "content": "Contexto:\n{{ $json.retrieved_chunks }}\n\nPregunta: Cual es nuestra politica de vacaciones?"
      }
    ],
    "stream": false
  }
}

Paso 3: Ejemplo Practico

Un empleado pregunta: “Cual es nuestra politica de vacaciones?”

El pipeline:

  1. Genera el embedding de la pregunta usando nomic-embed-text (2ms)
  2. Busca en ChromaDB y encuentra 5 fragmentos relevantes de Politica-RRHH-2026.pdf (8ms)
  3. Construye un prompt con esos fragmentos como contexto
  4. Ollama genera: “Segun el documento de Politica de RRHH (Seccion 4.2), los empleados disponen de 23 dias laborables de vacaciones pagadas al ano. Las solicitudes deben enviarse con 15 dias de antelacion a traves del portal de RRHH. Los dias no utilizados pueden trasladarse al Q1 del ano siguiente.”

Tiempo total de respuesta en un Mac Mini M4: menos de 3 segundos. Coste por consulta: cero.

Comparacion: RAG Local vs RAG en la Nube

FactorLocal (Ollama + ChromaDB)Nube (OpenAI + Pinecone)
Coste por consulta0,00 EUR0,01-0,05 EUR
Coste mensual (1000 consultas/dia)19 EUR electricidad300-1.500 EUR
Latencia1-3 segundos2-5 segundos
Privacidad de datosTotal --- nunca sale de la redRequiere DPA + confianza
Cumplimiento RGPDIntegradoRequiere acuerdo de procesador
Complejidad de setupMediaBaja
Calidad del modelo (general)Buena (modelos 8B)Excelente (GPT-4o)
Calidad del modelo (dominio)Excelente tras fine-tuningBuena con prompt engineering

Para un analisis de costes mas detallado, consulta nuestro desglose de costes IA nube vs local.

Ajuste de Rendimiento

Tres configuraciones que marcan la mayor diferencia:

  1. Tamano de fragmento: 500 tokens funciona para la mayoria de documentos. Usa 300 para manuales tecnicos densos, 800 para contenido conversacional.
  2. Solapamiento: 10% del tamano de fragmento previene la perdida de informacion en los limites.
  3. Top-K de recuperacion: Empieza con 5. Incrementa a 8-10 para preguntas complejas que abarcan multiples secciones del documento.

Para orientacion sobre seleccion de modelos, nuestra comparativa de mejores modelos LLM locales cubre las diferencias entre Llama, Mistral y Qwen para distintos casos de uso.

Automatizacion con n8n

El verdadero poder viene de conectar este pipeline a tus herramientas existentes. n8n puede disparar la consulta RAG desde:

  • Un mensaje de Slack en un canal #preguntar-rrhh
  • Un envio de formulario en tu intranet
  • Un email a una direccion designada
  • Un resumen programado que responde las 10 preguntas sin responder mas frecuentes de la semana

Para mas patrones de automatizacion con n8n, consulta nuestro tutorial de automatizacion IA con n8n.

Lecturas relacionadas

Fuentes

  1. Documentacion de n8n: Workflows de IA --- Guia oficial para construir workflows con IA en n8n
  2. Referencia de API de Ollama --- Documentacion completa de la API para endpoints de embeddings y chat
  3. Tutorial RAG de LangChain --- Arquitectura de referencia para patrones de diseno de pipelines RAG

Un pipeline RAG convierte tus documentos estaticos de empresa en una base de conocimiento interactiva que cualquier empleado puede consultar en lenguaje natural. Con n8n orquestando el workflow y Ollama manejando la inferencia localmente, todo el sistema funciona en un solo Mac Mini sin costes recurrentes y sin datos saliendo de tu red. Si quieres ayuda para desplegar un sistema RAG en tu organizacion, contacta con nosotros. Construimos estos pipelines para PYMEs espanolas cada semana.

Compartir: LinkedIn X
Newsletter

Acceda a recursos exclusivos

Suscríbase para desbloquear 230+ workflows, 43 agentes y 26 plantillas profesionales. Insights semanales sin spam.

Bonus: Checklist EU AI Act gratis al suscribirte
1x por semana Sin spam Cancela cuando quieras
EU AI Act: 99 días para el deadline

15 minutos para evaluar su caso

Consultoría inicial sin compromiso. Analizamos su infraestructura y le recomendamos la arquitectura híbrida óptima.

Sin compromiso 15 minutos Propuesta personalizada

136 páginas de recursos gratuitos · 26 plantillas de compliance · 22 dispositivos certificados