n8n

Tutorial n8n + base de datos vectorial: crea un sistema RAG para buscar en tus documentos con IA

Imagina preguntarle a una IA sobre tus contratos, manuales o políticas internas y que te responda con información precisa extraída de tus propios documentos. Con n8n y una base vectorial, eso es perfectamente posible y te enseño a armarlo.

IA en Acción · · 5 min de lectura
Tutorial n8n + base de datos vectorial: crea un sistema RAG para buscar en tus documentos con IA

RAG suena a sigla técnica intimidante —Retrieval Augmented Generation— pero el concepto es simple y poderoso. En lugar de que un modelo de IA responda solo con lo que aprendió durante su entrenamiento, le das acceso a tus documentos. Cuando alguien hace una pregunta, el sistema busca en tus documentos la información relevante y se la pasa al modelo para que genere una respuesta fundamentada.

Esto resuelve tres problemas enormes de la IA generativa: las alucinaciones, porque la respuesta se basa en tus datos reales; la desactualización, porque tus documentos pueden modificarse en tiempo real; y la confidencialidad, porque la información sensible no sale de tu infraestructura si optás por un modelo local.

En este tutorial vas a construir tu propio sistema RAG usando n8n para la orquestación, una base de datos vectorial para almacenar y buscar información y un modelo de lenguaje para generar respuestas. Todo en un par de horas y sin escribir código complejo.

Qué es una base de datos vectorial y por qué la necesitás

Cuando buscás en Google, escribís palabras clave y el motor busca coincidencias exactas. Una base de datos vectorial funciona distinto. Convierte texto en vectores —representaciones matemáticas que capturan el significado semántico— y busca por similitud de significado, no por coincidencia textual.

Esto es clave para buscar en documentos. Si tu manual dice “procedimiento para solicitar vacaciones”, y alguien pregunta “¿cómo pido días libres?”, una búsqueda tradicional no encuentra nada porque las palabras son distintas. Pero una búsqueda vectorial entiende que ambas frases hablan de lo mismo y encuentra el documento correcto.

Para este tutorial vamos a usar Qdrant como base de datos vectorial. Es open-source, tiene una capa gratuita generosa en la nube y se integra fácil con n8n. También podés usar Pinecone o Weaviate, el concepto es el mismo.

Paso 1: Preparar y vectorizar tus documentos

Lo primero es tener tus documentos en formato texto. Si tenés PDFs, Word o páginas web, necesitás extraer el texto. n8n tiene nodos para leer archivos y podés usar herramientas como Unstructured o LlamaParse para documentos complejos con tablas e imágenes.

Una vez que tenés el texto, hay que dividirlo en fragmentos o chunks. Este paso es crítico y muchas veces subestimado. Si los chunks son muy grandes, la búsqueda es poco precisa. Si son muy chicos, pierden contexto. Una buena regla es chunks de quinientos a mil caracteres con solapamiento de cien caracteres entre uno y otro.

En n8n, usá un nodo “Function” para dividir el texto o el nodo “Text Splitter” si usás la versión con soporte de LangChain. Cada chunk se convierte en un embedding —un vector numérico— usando un modelo de embeddings. Podés usar OpenAI Embeddings, que es rápido y barato, o modelos open-source como los de Sentence Transformers si preferís mantener todo local.

El nodo “Embeddings” de n8n toma cada chunk y lo convierte en un vector. Luego, el nodo de Qdrant almacena el texto original junto con su vector.

Paso 2: Configurar Qdrant en n8n

Creá una cuenta gratuita en Qdrant Cloud o levantá una instancia local con Docker. Obtené la URL de conexión y la API key.

En n8n, agregá el nodo “Qdrant Vector Store”. Configuralo con tus credenciales y creá una colección —pensala como una tabla donde se guardan tus documentos vectorizados—. Definí el tamaño de los vectores según el modelo de embeddings que uses: OpenAI usa 1536 dimensiones, modelos open-source pueden usar 384 o 768.

Una vez configurado, ejecutá el flujo de ingesta: leer documentos, dividir en chunks, generar embeddings y almacenar en Qdrant.

Paso 3: Construir el flujo de consulta

Acá es donde todo cobra sentido. El flujo de consulta recibe una pregunta, busca en Qdrant los chunks más relevantes, se los pasa al modelo de lenguaje junto con la pregunta original y genera una respuesta.

Creá un nuevo workflow en n8n con un nodo “Webhook” como trigger para recibir preguntas. Conectalo a un nodo “Embeddings” que convierte la pregunta en vector. Ese vector va al nodo “Qdrant Vector Store” configurado en modo “retrieve”, que devuelve los chunks más similares —configurá para que devuelva los cinco más relevantes—.

Luego, un nodo “Function” que arma el prompt completo: una instrucción de sistema, los chunks recuperados como contexto y la pregunta del usuario. Algo como: “Usa la siguiente información para responder la pregunta. Si la información no contiene la respuesta, dilo claramente. Contexto: [chunks]. Pregunta: [pregunta].”

Finalmente, ese prompt va a un nodo “OpenAI Chat Model” que genera la respuesta. Devolvé la respuesta por el webhook y listo.

Paso 4: Probar, medir y ajustar

Probá con preguntas reales que haría tu equipo o tus clientes. Evaluá dos cosas: si el sistema encuentra los chunks correctos y si la respuesta generada es precisa y útil.

Ajustá el tamaño de los chunks si ves que las respuestas son imprecisas. Mejorá los documentos si la información simplemente no está bien redactada. Agregá más documentos si hay vacíos de conocimiento.

Un tip avanzado: implementá un sistema de feedback donde el usuario pueda calificar la respuesta. Esos datos son oro para mejorar el sistema con el tiempo.

Con este sistema funcionando, tenés un asistente de IA que conoce tu negocio mejor que cualquier empleado nuevo. Y lo mejor es que cada vez que actualizás un documento, solo tenés que reingestarlo para que el asistente esté al día. Nada de reentrenar modelos ni esperar semanas.

Back to Blog

Related Posts

View All Posts »