5. Sistemas RAG con n8n

0 de 7 lecciones completas (0%)

3. Migrando de Simple Vector Store a Postgres (PGVector)

Descarga el Workflow de n8n de esta lección:

¡Hola y bienvenido/a! En las lecciones anteriores, construimos un sistema RAG funcional utilizando el nodo Simple Vector Store. Si bien es fantástico para prototipar y aprender, tiene una limitación crucial: es volátil. Esto significa, por ejemplo, que cada vez que reinicias tu n8n en local, toda la información que has «embedding» (añadido a tu base de datos vectorial) se pierde.

En esta lección, daremos un salto profesional: vamos a migrar nuestro almacenamiento de vectores a una base de datos Postgres persistente utilizando la extensión PGVector. Esto hará que nuestro conocimiento sea permanente.

Usaremos un servicio como Neon.com (un proveedor de Postgres serverless gratuito) para alojar nuestra base de datos.

Tengo una lección donde explico como generar la credencial en n8n, te dejo el enlace: https://jerocuevas.com/leccion/crear-nuestra-base-de-datos-postgresql-en-la-nube-con-neon/

También tienes la opción de instalar PostgreSQL en tu servidor VPS que enseño en mi curso: Instalar una infraestructura de programas Open Source para usar la IA

1. Reconfigurando el Workflow de Ingestión (La «Escritura»)

Primero, vamos a modificar nuestro workflow de «alimentación» para que guarde los datos en Postgres en lugar del nodo Simple Vector Store.

  1. Organiza tu lienzo: Separa visualmente el workflow de ingestión del de consulta.
  2. Desactiva el nodo antiguo: Selecciona tu nodo Simple Vector Store (el que está conectado al formulario) y desactívalo (puedes presionar la tecla d). No lo borres, déjalo como referencia.
  3. Añade el nodo Postgres PGVector Store:
    • Haz clic en el + para añadir un nodo nuevo.
    • Busca «Postgres». Verás dos opciones: Postgres (para operaciones SQL estándar) y Postgres PGVector Store.
    • Selecciona Postgres PGVector Store. Este es el nodo específico para trabajar con vectores.
  4. Configura el nodo:
    • Action: Asegúrate de que esté seleccionada la opción Insert Documents.
    • Credentials: Aquí crearemos la conexión a nuestra base de datos (por ejemplo, Neon.tech).
      • Haz clic en Create New Credential.
      • Rellena los campos con la información de tu proveedor de base de datos (Host, Database, User, Password).
      • Importante: Si usas Neon.com, asegúrate de activar la opción SSL y seleccionar Require.
      • Guarda las credenciales.
  5. Reconecta los Nodos:
    • Conecta la salida del nodo Loader (que procesa los PDFs) a la entrada Loader del nuevo nodo Postgres PGVector Store.
    • Conecta tu nodo Embedding Model (el de OpenAI) a la entrada Embedding Model del nodo Postgres PGVector Store.

Con esto, nuestro sistema de ingestión ya está listo para escribir en una base de datos persistente.

2. Reconfigurando el Agente de IA (La «Lectura»)

Ahora, debemos enseñarle a nuestro AI Agent a leer desde esta nueva base de datos.

  1. Ve a tu AI Agent: Abre su configuración.
  2. Desactiva la herramienta antigua: En la sección Tools, busca la herramienta Simple Vector Store que configuramos y desactívala (presiona d).
  3. Añade la herramienta Vector Store Question Answer:
    • Este es el paso más importante. No conectamos el agente directamente a Postgres. Usamos una herramienta de n8n diseñada para este propósito.
    • Haz clic en + Add Tool y busca Vector Store Question Answer Tool.
  4. Configura la nueva herramienta: Este nodo es un «mini-orquestador» que necesita sus propias conexiones:
    • Description: Dale la misma descripción que tenía la herramienta anterior (ej: «Úsala para responder preguntas sobre documentos legales…»).
    • Embedding Model: Conecta aquí el mismo nodo de Embedding Model (el de OpenAI) que estás usando en todo tu sistema.
    • LLM Model: Conecta el mismo nodo LLM (el cerebro de OpenAI, ej: gpt-4o-mini) que ya usa tu agente.
    • Vector Store (¡El paso clave!):
      • Haz clic en Select Vector Store y elige PGVector Store.
      • Credentials: Selecciona las mismas credenciales de Postgres (Neon.tech) que creaste en el paso 1.
      • Table Name: Asegúrate de que el nombre de la tabla (ej: n8n_vector_store) sea el mismo que el nodo de ingestión está usando por defecto.

¡Y eso es todo! Hemos reemplazado los componentes volátiles por componentes persistentes.

3. Probando el Nuevo Sistema

El proceso de prueba ahora tiene dos fases claras:

  1. Ejecuta la Ingestión: Ve a tu workflow de ingestión (el del formulario), cárgale un PDF y ejecútalo una vez. Esto poblará tu base de datos Postgres con los vectores. Puedes verificar en Neon.tech que la tabla se ha creado y tiene datos.
  2. Ejecuta la Consulta: Abre la interfaz del Chat Trigger de tu agente de IA y haz una pregunta sobre el documento.

Verás que el agente sigue respondiendo correctamente, pero con una gran diferencia: esta información ya no se borrará. Has construido un sistema RAG robusto y persistente.


Resumen de la Lección

¡Felicidades! Has dado un paso de gigante. Has aprendido a reemplazar el almacenamiento temporal por una base de datos profesional de Postgres con PGVector. Ahora tu sistema RAG tiene persistencia, lo que significa que puedes apagarlo, reiniciarlo y tu base de conocimiento seguirá intacta, lista para ser consultada.

Resumen de privacidad
Logo JeroCuevas.com

Esta web utiliza cookies para que podamos ofrecerte la mejor experiencia de usuario posible. La información de las cookies se almacena en tu navegador y realiza funciones tales como reconocerte cuando vuelves a nuestra web o ayudar a nuestro equipo a comprender qué secciones de la web encuentras más interesantes y útiles.

Cookies estrictamente necesarias

Las cookies estrictamente necesarias tiene que activarse siempre para que podamos guardar tus preferencias de ajustes de cookies.

Analítica

Esta web utiliza Google Analytics para recopilar información anónima tal como el número de visitantes del sitio, o las páginas más populares.

Dejar esta cookie activa nos permite mejorar nuestra web.