Crea un Agente de IA en Local con n8n, Ollama y Qdrant

Crea un Agente de IA en Local con n8n, Ollama y Qdrant

¿Quieres interactuar con tus documentos usando inteligencia artificial sin depender de la nube? En este post, te mostraremos paso a paso cómo configurar y usar n8n, Ollama y Qdrant para crear agentes de inteligencia artificial (IA) locales que puedan leer archivos desde tu computadora o Google Drive y responder preguntas sobre su contenido. Utilizaremos Docker para simplificar el proceso y garantizar que todo funcione de manera eficiente.

Correr agentes de IA locales ofrece control total y privacidad, pero también presenta desafíos como requisitos de hardware y configuraciones manuales. En esta guía te ayudaremos a superar esas barreras y a experimentar con flujos de trabajo prácticos.

Tech Stack

Ventajas y Desventajas

Usar agentes de IA locales con n8n tiene beneficios y limitaciones. Aquí te presentamos un resumen para que tomes una decisión informada:

Ventajas 🟢Desventajas 🔴
Privacidad total: Tus datos no salen de tu máquina.Altos requisitos de hardware: Necesitas una máquina con buena RAM y CPU.
Sin costos recurrentes: No dependes de APIs externas ni suscripciones.Configuración compleja: Requiere instalación manual y conocimiento básico de Docker.
Disponibilidad sin conexión: Funciona sin internet, ideal para entornos offline.Mantenimiento manual: Actualizaciones y ajustes deben hacerse manualmente.
Flexibilidad: Puedes personalizar flujos y modelos según tus necesidades.Consumo de recursos: Puede ser intensivo en términos de CPU, RAM y almacenamiento.
Integración con herramientas: n8n permite conectar fácilmente con otras apps.Curva de aprendizaje: Requiere familiarizarse con n8n, Ollama y bases vectoriales como Qdrant.

Prerrequisitos

Antes de comenzar, asegúrate de tener lo siguiente:

  • Hardware adecuado:
    • Mínimo 8 GB de RAM (16-32 GB recomendados para mejores resultados).
    • CPU moderna; una GPU no es estrictamente necesaria, pero mejora el rendimiento.
  • Docker 🐳: Necesario para gestionar contenedores.
  • Docker Desktop 🖥️: Para ejecutar Docker en Windows, macOS o Linux.
  • Git: Para clonar repositorios desde GitHub.
  • Conocimientos básicos de terminal y edición de archivos.

note

El éxito de esta guía dependerá de tu hardware. No sera problema si tienes una maquina poderosa, pero si no es el caso, puedes experimentar lentitud o errores.

Configuración de n8n, Ollama y Qdrant

Esta guía detalla cómo instalar y configurar un entorno local para chatear con documentos usando n8n, Ollama y Qdrant, todo gestionado a través de Docker.

  • n8n 🐙: Herramienta de automatización low-code/no-code que conecta aplicaciones y procesa datos.
  • Ollama 🦙: Plataforma para ejecutar modelos de lenguaje localmente (como Llama 3.1/3.2 o DeepSeek).
  • Qdrant 🗄️: Base de datos vectorial de alto rendimiento para almacenar y buscar documentos.

Docker facilita la instalación, Ollama sirve los modelos de IA, y Qdrant almacena los documentos vectorizados para que los agentes de n8n puedan consultarlos.

1. Opciones de Instalación:

Existen dos kits de inicio que facilitan la instalación de las herramientas necesarias. Ambos kits incluyen componentes valiosos, pero la opción B ofrece una mejor configuracion que explicaremos más adelante.

2. Instalación (Opción B - Recomendada):

Como se mencionó anteriormente, recomendamos la Opción B por su conjunto de herramientas más completo, incluyendo n8n, Ollama, Qdrant y PostgreSQL.

Para usuarios de Nvidia GPU

git clone https://github.com/coleam00/ai-agents-masterclass.git
cd ai-agents-masterclass/local-ai-packaged
# Modificar el archivo .env (ver paso 3)
docker compose --profile gpu-nvidia up
3. Configuración del archivo .env:

Después de clonar el repositorio, en la carpeta local-ai-packaged, encontrarás un archivo llamado .env.example.

  • Copia este archivo y renómbralo a .env (elimina el .example).
  • Abre el archivo .env con un editor de texto (se recomienda Visual Studio Code).
  • Este archivo contiene contraseñas para las herramientas, aunque no es necesario modificarlas para este tutorial, es importante conocer las credenciales por defecto para un uso futuro.
4. Verificación en Docker Desktop
  • Abre Docker Desktop y verifica que todos los contenedores (n8n, Ollama, Qdrant, PostgreSQL) e imágenes se hayan instalado correctamente.
  • Si algún contenedor falla, revisa los logs en Docker Desktop.

Docker Desktop Starter Kit

5. Ejecución de los Contenedores
  • En Docker Desktop, verifica si todos los contenedores se están ejecutando.
  • Si algún contenedor no se está ejecutando, inícialo manualmente.
  • Asegúrate que los contenedores de n8n, Ollama, Qdrant, y PostgreSQL estén en ejecución.

run containers

6. Acceso a n8n
  • Una vez que los contenedores estén corriendo, abre tu navegador y ve a http://localhost:5678 (el puerto predeterminado de n8n).
  • Si es la primera vez que accedes, se te pedirá crear una cuenta de usuario.
  • Crea una cuenta local (correo y contraseña) la primera vez que inicies sesión.
n8n sign upn8n login

Configuración de Flujos de Trabajo en n8n

En este tutorial, aprenderás a crear flujos de trabajo en n8n para interactuar con documentos locales y asi mismo con documentos en Google Drive. Generaremos dos flujos de trabajo:

  • Agente IA para Archivos Locales (RAG en Local): Permite cargar archivos desde tu computadora y chatear con ellos.
  • Agente IA para Google Drive (RAG en Google Drive): Permite monitorear y procesar archivos desde una carpeta de Google Drive.

Agente IA para Archivos Locales (RAG en Local)

Este flujo permite cargar archivos desde tu computadora y chatear con ellos a través de n8n.

Workflow Agente IA con Archivos Locales (RAG)

Workflow Agente IA con Archivos Locales (RAG)Workflow Agente IA con Archivos Locales (RAG)Workflow Agente IA con Archivos Locales (RAG)
Pasos:
  1. Nodo Trigger: Inicia el flujo. Usa un “Schedule Trigger” o “Manual Trigger” para pruebas.
n8n trigger nodon8n trigger nodo config
  1. Nodo de Lectura de Archivos: Configura un nodo “Read/Write Files” para leer archivos locales.

    • Operación: “Read Files”.
    • Selecciona la carpeta donde están tus documentos (por ejemplo, PDFs, texto, etc.).
    n8n read file nodon8n read file nodo config
  2. Nodo Qdrant Vector Store: Almacena los documentos en Qdrant.

    • Configura las credenciales de Qdrant (API Key y host, por defecto http://host.docker.internal:6333).
    • Modo: “Insert Documents”.
    • Colección: Nómbrala, por ejemplo, “archivos_locales”.
    n8n qdrant vector store nodon8n qdrant vector store nodo confign8n qdrant vector store nodo config
  3. Nodo Embeddings (Ollama): Convierte el texto en vectores.

    n8n ollama embeddings nodon8n ollama embeddings nodo confign8n ollama embeddings nodo config

info

Para descargar el modelo de embeddings (nomic), ejecuta el siguiente comando en la terminal del contenedor de Ollama en Docker Desktop: ollama pull nomic-embed-text

Ollama Embedding Installation

  1. Nodo Default Data Loader: Carga los datos en Qdrant.

    • Tipo: “Tools Agent”.
    • Modelo de chat: Selecciona un modelo local como “Llama 3.2” o “DeepSeek R1” desde Ollama.
    • Memoria: Usa “Window Buffer Memory” (5 mensajes por defecto) o PostgreSQL para persistencia.
    • Herramienta: Configura acceso a Qdrant para extraer información.
n8n default data loader nodon8n default data loader nodo config
  1. Nodo Text Splitter: Divide el texto en partes más pequeñas.
n8n text splitter nodon8n text splitter nodo config
  1. Testeo:

    • Ejecuta el flujo manualmente en n8n.
    • Usa el chat en n8n para enviar preguntas (por ejemplo, “¿De qué trata este documento?”).
    • Verifica en Qdrant (accede a http://host.docker.internal:6333/dashboard) que los documentos se hayan cargado correctamente.

    qdrant dashboard

Agente IA para Google Drive (RAG en Google Drive)

Este flujo permite monitorear y procesar archivos desde una carpeta de Google Drive.

Workflow Agente IA para Google Drive (RAG)

Pasos:
  1. Nodo Trigger (Google Drive): Configura un trigger para detectar nuevos o actualizados archivos.

    • Evento: “File Created” o “File Updated”.
    • Carpeta: Selecciona tu carpeta en Google Drive (por ejemplo, “n8n_demo”).
  2. Nodos de Procesamiento:

    • “Edit Fields”: Extrae el ID y la carpeta del archivo.
    • “Code Node”: Verifica y elimina duplicados en Qdrant (código proporcionado por el kit).
  3. Descarga de Archivos: Usa un nodo “Google Drive” para descargar el archivo.

    • Configura credenciales en Google Cloud Console (Client ID y Secret).
  4. Almacenamiento en Qdrant: Similar al flujo local, usa Qdrant para almacenar los documentos vectorizados.

  5. Agente de IA: Configura un agente similar al anterior, pero con la colección “documents_drive” en Qdrant.

  6. Testeo:

    • Sube un archivo (por ejemplo, un PDF) a tu carpeta de Google Drive.
    • Verifica en Qdrant que se haya creado la colección.
    • Usa el chat en n8n para interactuar con el documento.

Consideraciones Adicionales

  • Modelos de IA: Te recomendamos usar modelos como Llama 3.1 (7B parámetros) o Llama 3.2 (3B parámetros). El rendimiento depende de tu hardware.
  • Optimización: Divide los documentos en chunks de 800 caracteres con un traslape de 100 para mejores resultados.
  • Seguridad: Todo se ejecuta localmente, pero asegúrate de proteger el acceso a Docker y n8n.

Con esta configuración, puedes crear agentes de IA locales que procesen documentos de manera eficiente, ya sea desde tu computadora o desde Google Drive, sin necesidad de conexión a internet ni servicios externos.

  • #N8n
  • #Ollama
  • #Qdrant
  • #Self-hosted
  • #Google-drive
Compártelo: