pletzenauer — digital consulting

Agente RAG sin código: combinar n8n y Supabase de forma productiva

La mayoría de los tutoriales de RAG que circulan por la red muestran siempre el mismo juguete: “converse con su PDF”. Lo que rara vez se menciona es que esas demos están muy lejos de un uso productivo. En cuanto la base de conocimiento crece, se actualizan documentos o los usuarios hacen preguntas que nadie probó, empiezan los problemas. Justo ahí es donde entra el enfoque que se describe aquí.

En su vídeo, Cole Medin muestra cómo construir con dos herramientas — n8n (automatización de flujos de trabajo, comparable a Make.com o Zapier) y Supabase (plataforma de base de datos con soporte vectorial mediante PG Vector) — un agente de IA con RAG más cercano a la práctica que muchas otras guías. La promesa: sin código, con un esfuerzo abarcable y con un montaje que crece junto con la base de conocimiento. Para quienes deciden en pymes resulta interesante sobre todo porque permite hacer buscables documentos internos, actas o manuales sin mantener un equipo de desarrollo.

Lo esencial en breve

  • RAG (Retrieval Augmented Generation) conecta un modelo de lenguaje con una base de conocimiento propia, de modo que el agente accede a sus documentos en lugar de solo a lo aprendido en el entrenamiento.
  • n8n se encarga de la automatización; Supabase sirve a la vez como memoria del chat y como base de datos vectorial.
  • Todo el montaje funciona sin programación y, según el vídeo, queda configurado en menos de 15 minutos.
  • Dos detalles distinguen este enfoque de los tutoriales superficiales: un almacenamiento escalable del historial de chat y el borrado de vectores obsoletos para evitar duplicados.
  • El nivel gratuito de Supabase basta perfectamente para empezar, según el vídeo.
Comparación a dos columnas: a la izquierda, los tutoriales típicos de RAG centrados en la demo y con almacenamiento local; a la derecha, el enfoque apto para la práctica con memoria en Supabase y borrado de vectores obsoletos.
Dos detalles que suelen pasarse por alto deciden si un agente RAG sigue siendo útil cuando crece la base de conocimiento.

Qué logra el agente en la práctica

El funcionamiento se muestra en el vídeo con un ejemplo sencillo. Al principio la base de conocimiento está vacía y la tabla correspondiente en Supabase no contiene registros. Una pregunta de prueba sobre las tareas de una reunión no puede, lógicamente, ser respondida por el agente.

A continuación se deposita un documento con notas de reunión como Google Doc en una carpeta vigilada. En aproximadamente un minuto se ejecuta en segundo plano un workflow de n8n que procesa el archivo y lo inserta en la base de conocimiento. Después aparece en Supabase un registro nuevo con el contenido de la página, los metadatos (entre otros, el ID del archivo de Google Drive) y el llamado vector de embedding. Si se repite la misma pregunta, el agente entrega ahora la respuesta correcta a partir del documento. Las actualizaciones del archivo también se detectan y se incorporan.

El montaje de un vistazo

El workflow consta de dos partes: el agente de chat propiamente dicho y un recorrido aparte que incorpora documentos a la base de conocimiento de forma automática. Según el vídeo, una plantilla JSON lista para usar se descarga desde un repositorio de GitHub y se carga en la propia instancia de n8n mediante “Import from file”. Después solo hay que añadir las credenciales propias y la carpeta deseada.

Preparar Supabase

Supabase se configura con una cuenta de GitHub. Dos secciones de los ajustes del proyecto proporcionan las credenciales necesarias:

  • Database: host, nombre de la base de datos, puerto, usuario y contraseña para la conexión con Postgres. Estos datos se usan para la memoria del chat.
  • API: la URL específica del proyecto y el service role secret. Estos datos se necesitan para la base de datos vectorial.

Para la búsqueda vectorial, n8n ofrece en su documentación código SQL ya preparado. Se ejecuta una sola vez en el editor SQL de Supabase y crea automáticamente la extensión PG Vector, la tabla de documentos y la función de matching para RAG. No hace falta escribir código propio.

El agente de chat

El agente se inicia con un trigger “When a chat message is received”. Este ofrece a la vez una ventana de chat dentro de n8n con la que se puede probar el agente sin desplegar nada. Si se desea, esa misma interfaz se integra en un sitio web con un código de incrustación ya preparado. Al agente se conectan tres piezas:

  • Modelo de chat: en el ejemplo, GPT-4o mini, conectado mediante la clave de API de OpenAI. Como alternativa también es posible Anthropic.
  • Memoria del chat: aquí se usa deliberadamente Postgres a través de Supabase en lugar del habitual almacenamiento local por ventana. El almacenamiento local carga el servidor de n8n y escala mal. La tabla necesaria la crea n8n por sí mismo cuando hace falta.
  • Herramienta RAG: el tool “retrieve documents” con Supabase como almacén vectorial, configurado con el nombre de la tabla y la función de consulta.

Incorporar documentos automáticamente

La segunda parte del workflow mantiene actualizada la base de conocimiento. Un trigger de Google Drive comprueba con regularidad si hay archivos nuevos o modificados en una carpeta definida. El resto del proceso:

  • Se extrae el ID del archivo y se pasa a los pasos siguientes.
  • Los vectores existentes con ese mismo ID de archivo se borran en Supabase (más sobre esto abajo).
  • Se descarga el archivo; los documentos se convierten a texto y las hojas de Google Sheets a CSV, para obtener el contenido textual puro.
  • El texto se inserta en la base de datos vectorial. En archivos pequeños se prescinde de dividirlo en fragmentos; en los demás casos se emplea un text splitter recursivo sencillo.

Dos detalles que deciden la utilidad práctica

El artículo destaca dos puntos que faltan en muchos tutoriales y que causan problemas justo donde la cosa se pone seria.

Memoria de chat escalable

El historial de una conversación se guarda a menudo de forma local en la instancia de n8n porque es lo más sencillo. Justamente eso sobrecarga el servidor a medida que crece el uso. Trasladarlo a una base de datos Postgres en Supabase es el paso que hace al agente realmente robusto.

Borrar vectores obsoletos

El punto más importante son las actualizaciones. Las opciones de vectores en n8n no funcionan como “Upsert”: al volver a insertar, un vector existente no se sustituye, sino que se duplica, porque el ID del archivo no se usa como ID del vector. Si se actualiza el mismo archivo varias veces, se acumulan duplicados y la calidad de las respuestas se resiente. La solución dentro del workflow: antes de cada inserción se borran todos los vectores cuyos metadatos llevan el ID del archivo del documento actual de Google Drive. Solo después se inserta la versión nueva y actualizada. Así se conserva exactamente un registro vigente por documento.

Valoración para quienes deciden

El montaje que se muestra está pensado explícitamente como un punto de partida sólido, no como una solución final. Ampliaciones como una mejor búsqueda semántica o una búsqueda adicional por palabras clave son posibles, pero se dejan deliberadamente abiertas. Aun así, el enfoque es viable para una primera base de conocimiento cercana a producción.

Llama la atención el aspecto de los costes: según el vídeo, el nivel gratuito de Supabase basta para empezar, y pasar al plan de pago solo compensa al escalar. Quien ya trabaje con n8n puede montar el agente con sus propios documentos en poco tiempo, sin encargar desarrollo externo.

Conclusión

El artículo muestra de forma sobria y comprensible cómo implementar un agente de IA con RAG usando n8n y Supabase sin programar. El valor real no está en el efecto rápido de la demo, sino en dos detalles que suelen pasarse por alto: una memoria de chat escalable y la eliminación sistemática de vectores obsoletos. Precisamente esos puntos deciden si un agente sigue siendo útil cuando crece la base de conocimiento o si con el tiempo se vuelve poco fiable. Quien quiera hacer buscables sus documentos internos encuentra aquí un plano pragmático que puede ampliarse paso a paso.

Fuente: Cole Medin, “This RAG AI Agent with n8n + Supabase is the Real Deal”, https://www.youtube.com/watch?v=PEI_ePNNfJQ

VistaMinimalClásicoDark