¡Hola y bienvenido/a a este tutorial! Hoy vamos a construir un sistema de extracción de información de documentos. Crearemos un flujo de trabajo simple pero muy potente que te permitirá subir cualquier documento y hacerle preguntas sobre su contenido.
Nuestro Objetivo: Construiremos un flujo limpio y eficiente con cinco componentes esenciales para que puedas subir un informe, un libro o cualquier archivo de texto y preguntarle cosas como «¿De qué trata este documento?» o «¿Cuál es el enfoque principal?».
Vamos a mantenerlo intencionadamente simple. No usaremos bases de datos vectoriales ni embeddings todavía. El objetivo de hoy es construir la base para que entiendas perfectamente cómo funciona el proceso de extracción directa.
Paso 1: Configurar el Modelo de Lenguaje (El Cerebro)
- Crea un nuevo flujo de chat.
- Ve a
+ Add Nodes
->Chat Models
y arrastraGoogle Generative AI
al lienzo. (Puedes usar cualquier otro modelo, el proceso es el mismo). - Configura el nodo:
- Credenciales: Asegúrate de tener tu API Key de Google AI Studio configurada.
- Model Name: Usaremos
gemini-1.5-flash
. Es un modelo excelente para comprender documentos y responde muy rápido. - Temperature: Vamos a ajustarla a
0.5
. Esto nos da un buen equilibrio: será factual cuando sea necesario, pero también podrá resumir e interpretar el contenido.
Paso 2: Añadir el Cargador de Archivos (La Entrada)
Aquí es por donde tus documentos entrarán al sistema.
- Ve a
+ Add Nodes
->Document Loaders
. - Hay muchos cargadores específicos (para CSV, DOCX, etc.), pero usaremos el más versátil:
File Loader
. Este nodo genérico puede manejar PDF, CSV, TXT y muchos otros formatos. - Arrastra el
File Loader
al lienzo. Este nodo extraerá automáticamente todo el contenido de texto del archivo que subas.
Paso 3: Crear la Plantilla de Prompt (Las Instrucciones)
Necesitamos darle instrucciones claras a nuestra IA.
- Ve a
+ Add Nodes
->Prompts
. - ¡Atención! Como vamos a construir un flujo conversacional, necesitamos usar el nodo
Chat Prompt Template
. Arrástralo al lienzo. - Configura la plantilla:
- System Message: Aquí definimos el comportamiento de la IA. Escribe:
Eres un asistente servicial que responde preguntas basándose únicamente en el contexto proporcionado. Si la respuesta no está en el contexto, indica que no puedes encontrar la información.
- Format Prompt Values: Necesitamos dos variables aquí:
- Una llamada
question
(que vendrá del usuario). - Otra llamada
context
(que vendrá del documento).
- Una llamada
- System Message: Aquí definimos el comportamiento de la IA. Escribe:
Paso 4: Añadir la Memoria
Para que nuestro sistema funcione como un chat y pueda mantener una conversación, es indispensable añadir un nodo de memoria.
- Ve a
+ Add Nodes
->Memory
. - Arrastra el nodo
Buffer Memory
al lienzo.
Paso 5: Conectar Todo con la Cadena Conversacional
Este es el nodo que unirá todas las piezas.
- Ve a
+ Add Nodes
->Chains
y arrastra elConversation Chain
al lienzo. - Realiza las conexiones:
- Conecta el
Google Generative AI
a la entradaLanguage Model
. - Conecta la
Buffer Memory
a la entradaMemory
(verás que tiene un asterisco rojo, indicando que es obligatoria). - Conecta el
Chat Prompt Template
a la entradaPrompt
. - Ahora, vamos a conectar las variables del prompt:
- Conecta la salida del
File Loader
a la entrada de la variablecontext
en elChat Prompt Template
. - La variable
question
se rellenará automáticamente con la pregunta del usuario en el chat.
- Conecta la salida del
- Conecta el
Paso 6: Guardar y Probar Nuestro Sistema
- Guarda el flujo y ponle un nombre como
Chat Con Documentos
. - Sube un documento: En el nodo
File Loader
, verás un botón para subir un archivo. Selecciona un PDF o un archivo de texto que tengas a mano. - Haz una pregunta: Una vez cargado el archivo, ve a la ventana de chat y pregunta algo sobre el contenido. Por ejemplo:
¿Cuál es el tema principal de este documento?
El sistema leerá el documento, lo usará como contexto y te dará una respuesta basada en la información que contiene. ¡Funciona!
Conclusión
¡Felicidades! Has construido un sistema funcional de extracción y consulta de documentos. Has aprendido a usar los cinco componentes clave para esta tarea:
- Un modelo de chat.
- Un cargador de archivos.
- Una plantilla de prompt de chat.
- Memoria.
- Una cadena conversacional para unirlo todo.
Esta base te servirá para proyectos mucho más avanzados. El siguiente paso lógico sería explorar técnicas de RAG, donde añadiríamos embeddings y una base de datos vectorial para trabajar con colecciones de documentos mucho más grandes.
¡Muchas gracias y te veo en el próximo vídeo!