Aprende RAG y Bases de Datos Vectoriales a Fondo

0 de 31 lecciones completas (0%)

11. La Fase de Recuperación: Dialogando con Nuestros Datos

Ya hemos construido nuestro flujo de ingesta y nuestra base de conocimiento está cargada y lista en Supabase. Ahora, vamos a la parte más emocionante: construir la fase de recuperación, que permitirá a un agente de IA dialogar con esos datos y responder preguntas.

El Proceso de Recuperación: Un Vistazo Gráfico

Recordemos el flujo de trabajo:

  1. Pregunta del Usuario: El usuario inicia la conversación.
  2. Vectorización de la Pregunta: La pregunta se convierte en un vector.
  3. Búsqueda por Similitud: El sistema busca en la base de datos vectorial los «chunks» más relevantes.
  4. Generación de la Respuesta: El LLM utiliza esos chunks como contexto para formular una respuesta precisa.

Paso 1: Configurando el Agente de IA en n8n

En nuestro lienzo de n8n, vamos a construir el agente.

  1. Nodo Chat Trigger:
    • Este nodo nos permite interactuar con nuestro flujo de trabajo a través de una simple ventana de chat, lo cual es perfecto para hacer pruebas rápidas. Añádelo para iniciar el flujo.
  2. Nodo AI Agent:
    • Este es el cerebro de nuestra operación. Conéctalo a la salida del Chat Trigger.
    • System Message (El «Rol» del Agente): Aquí definimos la personalidad y las instrucciones de nuestro agente. Es crucial ser muy específico. Usaremos un prompt como este:
    «Eres un asistente experto en el documento financiero de Netflix de 2024. Tu trabajo es responder preguntas utilizando exclusivamente los archivos de la base de datos vectorial. Primero, busca en la base de datos fragmentos de texto similares usando RAG. Si encuentras coincidencias, úsalas para responder. Menciona siempre qué fragmentos has utilizado. Si no encuentras una respuesta en los documentos, di ‘No pude encontrar esta información en los documentos de Netflix de 2024’. Nunca adivines ni inventes respuestas.»
    • Modelo de Lenguaje: Conecta tus credenciales de OpenAI y selecciona un modelo. Para empezar, GPT-5 mini es una excelente opción por su equilibrio entre coste y rendimiento.
    • Memoria (Memory): Activa la opción «Simple Memory» para que el agente pueda recordar las últimas 15 preguntas y respuestas. Esto le da contexto a la conversación y sabra si repetimos preguntas.

Paso 2: Conectando la Base de Datos como una «Herramienta»

Aquí es donde conectamos nuestro agente a su «memoria» externa.

  1. Añadir una Herramienta (Tool): En el nodo AI Agent, ve a la sección «Tools» y añade la herramienta Supabase Vector Store (Retrieve).
  2. Configuración de la Herramienta:
    • Credenciales: Conecta las mismas credenciales de Supabase que usaste en la fase de ingesta.
    • Nombre y Descripción: Dale a la herramienta un nombre descriptivo, como «base_de_conocimiento_documentos».
    • Table: Selecciona la tabla documents donde almacenamos nuestros datos.
    • Límite de Resultados: Establece cuántos «chunks» relevantes quieres que recupere como máximo. Un buen punto de partida es 5.
    • Recuperar Metadatos: Activa esta opción. Es útil para depuración.
  3. Conectar el Modelo de Embedding:
    • ¡Paso Crucial! Debes conectar aquí exactamente el mismo modelo de embedding que usaste en la fase de ingesta. En nuestro caso, text-embedding-3-small.
    • ¿Por qué? Porque la pregunta del usuario debe ser «traducida» al mismo «idioma» numérico que nuestros documentos para que la búsqueda por similitud funcione. Usar un modelo diferente sería como buscar una palabra en español en un diccionario de inglés. Simplemente, no funcionará.

Paso 3: ¡A Probar Nuestro Agente!

Nuestro agente RAG está completo y listo para ser probado.

  1. Prueba Inicial: Inicia un chat y envía un «Hola». El agente debería responder con su saludo programado, confirmando que está funcionando.
    • Respuesta Esperada: «¡Hola! ¿Cómo puedo ayudarte hoy? Si tienes alguna pregunta sobre los documentos financieros de Netflix de 2024, no dudes en preguntar.»
  2. Primera Consulta Real: Vamos a preguntarle algo que sabemos que está en los documentos.
    • Pregunta: «¿Cuál es el índice del documento?»

Análisis Interno del Resultado: Si observamos la salida del nodo de Supabase, podemos ver exactamente lo que ocurrió «bajo el capó»:

  • El sistema recuperó con éxito los 5 chunks más relevantes.
  • Podemos ver que el contenido de estos chunks contiene las palabras «Table of Contents», «Business», «Risk Factors», etc.
  • Esto demuestra que la búsqueda por similitud ha funcionado a la perfección.

El agente ahora tiene esta información precisa para construir su respuesta final.


Hemos construido con éxito la fase de recuperación, pero como veremos en la próxima lección, incluso este sistema tiene sus limitaciones. A continuación, exploraremos cómo identificar y solucionar algunos de los problemas más comunes de la recuperación en RAG.

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.