Curso RAG Agents: Construye Aplicaciones y GPTs con APIs, MCP, LangChain y n8n

0 de 63 lecciones completas (0%)

5- Chatbots RAG y Agentes con la API de OpenAI, LangChain y LangGraph en Flowise

5.14- Agente de Herramientas con RAG: Pinecone, Function Calling y APIs (Postgres & Supabase)

No tienes acceso a esta lección

Por favor, inscríbete o accede para acceder al contenido del curso.

Introducción

En esta lección aprenderás a construir un agente de herramientas potente que integra una base de datos vectorial externa. Hasta ahora hemos visto cómo conectar múltiples APIs a nuestro agente, pero el componente final que necesitamos es una base de datos vectorial persistente.

¿Por qué usar Pinecone?

  • Persistencia: Los datos se almacenan permanentemente, no como las bases vectoriales en memoria
  • Escalabilidad: Maneja grandes volúmenes de datos eficientemente
  • Flexibilidad: Se puede conectar como herramienta externa a FlowWise
  • Gestión: Permite administrar chunks, namespaces y metadatos fácilmente

Configuración Inicial: Duplicar el Flujo de Trabajo

Paso 1: Duplicar el Flujo Existente

  1. En tu flujo de trabajo actual, haz clic en Configuración
  2. Selecciona «Duplicate Chat Flow»
  3. Asigna un nombre: «Tool Agent with RAG»
  4. Guarda el flujo

Paso 2: Limpiar Herramientas Innecesarias

Elimina las herramientas que no necesites para este ejemplo:

  • Mantener: Windows Buffer Memory, Calculator, Brave Search API, Current Date & Time
  • Eliminar: Custom Tools (como Perplexity) que no usaremos

💡 Tip: Siempre evalúa qué herramientas realmente necesitas para tu caso de uso específico.

Creando el Document Store

¿Por qué Document Stores vs Vector Stores simples?

  • Flexibilidad: Permite conectar múltiples fuentes de datos
  • Gestión: Administra chunks de diferentes documentos fácilmente
  • Persistencia: Se integra con bases de datos externas como Pinecone
  • Metadatos: Mejor control sobre la información contextual

Paso 1: Crear un Nuevo Document Store

  1. Ve a Document Stores en FlowWise
  2. Haz clic en «Add New»
  3. Nombre: «RAG Course Test»
  4. Descripción: (opcional)
  5. Haz clic en «Add»

Paso 2: Configurar Document Loaders

Opción 1: Archivo PDF

  1. Haz clic en «+» para añadir un loader
  2. Selecciona «PDF File»
  3. Sube tu archivo (ejemplo: guía de Chain of Thought prompting)
  4. Configuración del Text Splitter:
    • Tipo: Recursive Character Text Splitter
    • Chunk Size: 1000
    • Overlap: 200

Opción 2: Archivo de Texto/Markdown

  1. Añade otro loader con «Text File»
  2. Sube un archivo de texto (ejemplo: guía de prompting)
  3. Configuración del Text Splitter:
    • Tipo: Markdown Text Splitter (para archivos markdown)
    • Chunk Size: 500
    • Overlap: 100

Paso 3: Añadir Metadatos

Los metadatos son cruciales para organizar y filtrar tu contenido:

Para el PDF:

  • Clave: PDF_COD
  • Valor: COD

Para el archivo de texto:

  • Clave: prompting_paper
  • Valor: prompting

Paso 4: Procesar los Documentos

  1. Haz clic en «Preview Chunks» para verificar cómo se dividirá el contenido
  2. Haz clic en «Process» para generar los chunks
  3. Verifica que los metadatos aparezcan correctamente

Configuración de Pinecone

Paso 1: Crear Cuenta en Pinecone

  1. Ve a pinecone.io
  2. Regístrate con tu cuenta de Google o email
  3. Haz clic en «Create an Index»

Paso 2: Configurar el Índice

Configuración crítica:

  • Nombre del índice: prompting (todo en minúsculas)
  • Modelo de embeddings: OpenAI text-embedding-3-small
  • Dimensiones: Se configuran automáticamente (1536 para text-embedding-3-small)

⚠️ Importante: El modelo de embeddings debe ser exactamente el mismo que uses en FlowWise, o la integración fallará.

Paso 3: Obtener API Key

  1. En Pinecone, ve a «API Keys»
  2. Crea una nueva key: «RAG Course»
  3. Copia la API key generada

Paso 4: Obtener Nombre del Índice

  1. Ve a Database > Indexes
  2. Haz clic en tu índice «prompting»
  3. Copia el nombre exacto del índice (recomendado para evitar errores de escritura)

Integración en FlowWise

Paso 1: Configurar Embeddings

  1. En Document Store, añade OpenAI Embeddings
  2. Usa las mismas credenciales que siempre
  3. Modelo: text-embedding-3-small
  4. Las dimensiones se configuran automáticamente

Paso 2: Configurar Vector Store (Pinecone)

  1. Selecciona Pinecone como vector store
  2. Credenciales: Crea nuevas credenciales «RAG Course Pinecone»
  3. Índice: Pega el nombre copiado de Pinecone
  4. Namespace: prompting (para organizar los datos)
  5. Configuración avanzada:
    • Top K: 4 (número de chunks a recuperar)
    • Search Type: Similarity Search
    • Fetch K: 20
    • Lambda: 0.5 (mantener valores por defecto)

Paso 3: Absorber los Datos

  1. Haz clic en «Absorb» para enviar los chunks a Pinecone
  2. Espera a que se procesen todos los chunks
  3. Verifica en Pinecone que los datos aparezcan en el namespace correcto

Paso 4: Probar la Recuperación

Usa la función «Test Retrieval»:

  • Query: "What is COD?"
  • Deberías recibir 4 chunks relevantes
  • Verifica que los metadatos aparezcan correctamente

Integración con el Tool Agent

Paso 1: Añadir Retriever Tool

  1. En tu flujo «Tool Agent with RAG», añade una herramienta
  2. Selecciona «Retriever Tool»
  3. Configuración:
    • Nombre: prompting
    • Descripción: "Use this tool for questions about prompting and COD"

Paso 2: Conectar el Document Store

  1. Añade «Document Store Vector» como retriever
  2. Selecciona tu Document Store: «RAG Course Test»
  3. La conexión se establece automáticamente

Paso 3: Guardar y Probar

  1. Guarda el flujo de trabajo
  2. Prueba con preguntas como:
    • "What is COD Prompting?"
    • "What are three good prompting techniques?"

Gestión Avanzada de Datos

Añadir Nuevos Documentos

  1. En Document Store, haz clic en «Add Document Loader»
  2. Puedes usar «Plain Text» para pegar contenido directamente
  3. Añade metadatos apropiados
  4. Procesa y absorbe solo los nuevos chunks

Gestión de Namespaces

Para limpiar un namespace:

  1. Ve a Pinecone > tu índice > Namespace
  2. Escribe el nombre del namespace: prompting
  3. Selecciona «Delete Namespace»
  4. Vuelve a absorber los datos actualizados

Actualización de Contenido

Para actualizar documentos:

  1. Ve a Options en el document loader específico
  2. «Preview and Process» para actualizar
  3. «Delete» para eliminar documentos obsoletos
  4. Re-absorbe los cambios

Mejores Prácticas

Organización de Metadatos

  • Usa nombres descriptivos y consistentes
  • Incluye información sobre la fuente del documento
  • Considera añadir fechas o versiones

Configuración de Chunks

  • PDFs: Chunk size 1000, overlap 200
  • Markdown: Chunk size 500, overlap 100
  • Textos simples: Chunk size 800, overlap 150

Gestión de Top K

  • Top K = 4: Balance entre relevancia y costo
  • Top K más alto: Más contexto, pero más tokens (más caro)
  • Top K más bajo: Menos contexto, respuestas menos completas

Record Manager (Avanzado)

Si usas Postgres, puedes configurar un Record Manager para:

  • Evitar duplicación de chunks
  • Mejor gestión de actualizaciones
  • Cleanup automático

⚠️ Nota: El Record Manager puede tener bugs ocasionales. Úsalo solo si tienes experiencia con Postgres.

Casos de Uso Prácticos

1. Base de Conocimiento Empresarial

  • Sube manuales, políticas, y documentación
  • Usa metadatos para categorizar por departamento
  • Permite a empleados hacer consultas en lenguaje natural

2. Asistente de Investigación

  • Combina papers académicos, artículos y libros
  • Metadatos con fechas y autores
  • Recuperación contextual para preguntas complejas

3. Soporte Técnico

  • Documentación de APIs, troubleshooting guides
  • Metadatos por versión de producto
  • Respuestas precisas basadas en documentación oficial

Conclusión

Has construido un agente RAG completo que puede:

  • ✅ Gestionar múltiples fuentes de documentos
  • ✅ Almacenar datos persistentemente en Pinecone
  • ✅ Recuperar información contextual relevante
  • ✅ Responder preguntas basadas en tu base de conocimiento
  • ✅ Actualizarse y mantenerse fácilmente

Este sistema es escalable, flexible y production-ready para aplicaciones reales.

Próximos Pasos

En la siguiente lección cubriremos:

  • Optimización de prompts para agentes más complejos
  • Estrategias de prompting para mejores respuestas
  • Gestión de contexto en conversaciones largas

¡Tu agente RAG está listo para casos de uso del mundo real!

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 de terceros

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.