Aprende RAG y Bases de Datos Vectoriales a Fondo

0 de 31 lecciones completas (0%)

14. Construyendo un flujo de Ingesta Profesional (Con Recuperación Contextual)

En esta lección final, pasamos a la acción. Vamos a tomar nuestro flujo de ingesta básico y lo vamos a transformar en un sistema profesional, dinámico y contextualmente inteligente, implementando las técnicas avanzadas que discutimos en la lección anterior.

Mejora 1: Creando una Entrada de Datos Dinámica y Flexible

Nuestro pipeline inicial dependía de un archivo manual. Un sistema real necesita ser automático y flexible.

  1. Activador Dinámico (Dynamic Trigger):
    • Reemplazamos el Manual Trigger por un Google Drive Trigger.
    • Lo configuramos para que se active cada vez que un nuevo archivo es creado en una carpeta específica de nuestro Google Drive. Esto automatiza el inicio del proceso de ingesta.
  2. Soporte para Múltiples Formatos:
    • ¿Y si subimos un PDF, un CSV o un archivo de texto? Usamos un nodo Switch para dirigir el flujo según el tipo de archivo.
    • El nodo Switch comprueba el tipo de archivo (ej: {{ $binary.data.fileType }}) y lo envía a la ruta de procesamiento correcta (ej: una ruta para PDFs, otra para CSVs).
    • Al final, todas las rutas convergen en un nodo Set que estandariza los datos, asegurando que el resto del flujo funcione con cualquier tipo de entrada.

Mejora 2: Implementando la Recuperación Contextual

Ahora, vamos a implementar la técnica de enriquecimiento de chunks para solucionar la «amnesia contextual».

  1. Limpieza de la Base de Datos: Primero, vaciamos nuestra tabla documents en Supabase para empezar de cero con datos de alta calidad.
  2. Integración del Flujo de Contexto: Insertamos el sub-flujo que analizamos en la lección anterior (basado en el trabajo de Mamut) en nuestro pipeline. Este sub-flujo se encarga de:
    • Dividir el documento de forma recursiva.
    • Enviar cada chunk a un LLM (usaremos Gemini de Google por su bajo coste y alta ventana de contexto) para que genere un resumen contextual y corrija posibles errores de división.
    • Formatear la salida para que esté lista para ser cargada.

El Coste Oculto de la Calidad: Latencia en la Ingesta

Al probar este nuevo flujo, nos encontramos con una lección importante. El proceso de enriquecimiento, que implica una llamada a la API del LLM por cada chunk, es significativamente más lento. Procesar los 730 chunks de nuestro documento de Netflix podría llevar mucho tiempo.

  • Lección Aprendida: Añadir inteligencia y contexto a nuestra ingesta tiene un coste, en este caso, de tiempo de procesamiento. Esto es un recordatorio crucial de que la ingesta de datos en un sistema RAG profesional a menudo se diseña como un proceso en segundo plano (background job), no como algo que ocurre en tiempo real.
  • Solución para la Demo: Para poder continuar con nuestro laboratorio, añadimos un nodo Limit para procesar solo los primeros 50 chunks, lo que nos permitirá verificar los resultados rápidamente.

Verificando el Resultado: Chunks Inteligentes

Al examinar la salida, vemos el éxito de nuestro nuevo pipeline. Un chunk que antes era una frase aislada, ahora se ve así:

[Contexto: El fragmento es del índice del formulario 10-K de Netflix de 2024, que detalla la estructura del informe financiero…] Parte I, Ítem 1. Negocio. Ítem 1A. Factores de Riesgo…

El chunk ahora es una unidad de información autónoma y rica en contexto. Tras cargar estos 50 chunks enriquecidos en Supabase, estamos listos para la prueba final.

La Hora de la Verdad: ¿Hemos Solucionado la Amnesia Contextual?

Volvemos a nuestro agente de recuperación de la lección anterior y le hacemos la misma pregunta que falló estrepitosamente:

  • Pregunta: «¿Cuáles son los documentos a los que tienes acceso?» (Una forma indirecta de pedir el índice).
  • Respuesta del Agente: (El agente ahora lista de forma precisa y completa todos los ítems del índice, desde la Parte I hasta la Parte IV, porque cada chunk contiene el contexto «índice del formulario 10-K…»)
  • Veredicto:ÉXITO TOTAL. Hemos resuelto el problema de la «amnesia contextual». Nuestro agente ahora puede reconstruir información que abarca múltiples chunks gracias a la inteligencia que añadimos en la fase de ingesta.

¡Felicidades! Has completado el viaje desde un sistema RAG básico y con limitaciones hasta un pipeline profesional, dinámico y contextualmente consciente, capaz de ofrecer respuestas mucho más precisas y fiables.

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.