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.9- Construye un Chatflow RAG: Web Scraping, Embeddings, Base de Datos Vectorial y División HTML

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 tu primera aplicación RAG (Retrieval-Augmented Generation) usando Flowise. Crearemos un sistema que puede hacer web scraping de contenido desde páginas web y permitir hacer preguntas sobre ese contenido.

¿Qué vamos a construir?

Construiremos un «RAG Q&A desde Web» – una aplicación que:

  • Extrae contenido de páginas web (web scraping)
  • Procesa y almacena ese contenido en una base de datos vectorial
  • Permite hacer preguntas sobre el contenido extraído

Paso 1: Configuración Inicial

Creando el Chatflow

  1. Ve a la sección Chatflows en Flow-wise
  2. Presiona «Add New» para crear un nuevo canvas vacío
  3. Guarda el proyecto con el nombre: «RAG Q&A from Web»

Eligiendo la Cadena Principal

En lugar de usar un agente simple, utilizaremos una cadena (chain) para ver todo el proceso:

  • Ve a ChainsConversational Retrieval Q&A Chain
  • Esta es la cadena más potente para aplicaciones RAG

Paso 2: Configurando el Modelo de Chat

Conectando OpenAI

  1. Busca Chat ModelsChatOpenAI
  2. Conecta el nodo al chain principal
  3. Configurar credenciales:
    • Ve a OpenAI Dashboard → API Keys
    • Crea una nueva clave secreta
    • En Flow-wise: Create New Credentials
    • Pega tu API key

Configuración del Modelo

  • Modelo recomendado: GPT-4o Mini (económico y confiable)
  • Temperatura: 0.9 (buena para conversaciones)
  • Cargas de imagen: Deshabilitado (para este ejemplo)

Paso 3: Base de Datos Vectorial

Seleccionando el Vector Store

Para simplicidad, usaremos In-Memory Vector Store:

  • Ventajas: No requiere API keys adicionales
  • Desventajas: Los datos se pierden al reiniciar (solo para pruebas)
  • Para producción: Recomendamos Pinecone, Chroma o FAISS

Conectando el Vector Store

  1. Busca Vector StoresIn-Memory Vector Store
  2. Conecta al chain principal
  3. Este almacén funciona localmente en tu máquina

Paso 4: Modelo de Embeddings

Configurando OpenAI Embeddings

  1. Busca EmbeddingsOpenAI Embeddings
  2. Usa las mismas credenciales creadas anteriormente
  3. Modelo recomendado:text-embedding-3-small
    • Más económico (2 centavos por millón de tokens)
    • Eficacia del 99.9% para la mayoría de casos

Parámetros Importantes

  • Top K: 4 (número de resultados similares devueltos)
  • Para datasets grandes, puede incrementarse hasta 20

Paso 5: Cargador de Documentos

Web Scraping con Brave Search API

  1. Obtener API Key:
    • Ve a Brave Search API
    • Regístrate (2000 consultas gratis por mes)
    • Crea una nueva API key
  2. Configurar en Flow-wise:
    • Busca Document LoadersBrave Search API Document Loader
    • Ingresa tus credenciales de Brave
    • Query: Puedes usar una URL específica o términos de búsqueda

Alternativas Sin API Keys

Si prefieres no usar APIs externas, puedes usar:

  • Folder with Files (carga archivos locales)
  • PDF File (documentos PDF)
  • Plain Text (archivos de texto)

Paso 6: Divisor de Texto (Text Splitter)

HTML to Markdown Text Splitter

Dado que extraemos contenido web (HTML), usamos un divisor especializado:

  1. Seleccionar: HTML to Markdown Text Splitter
  2. Configuración:
    • Chunk Size: 2000 (tamaño de cada fragmento)
    • Chunk Overlap: 200 (superposición entre fragmentos)

¿Por qué estos números?

  • Chunk Size grande: Para contenido web complejo
  • Overlap: Mantiene contexto entre fragmentos

Paso 7: Procesamiento y Embeddings

Insertar en Vector Store

  1. Presiona «Upsert to Vector Store»
  2. El sistema automáticamente:
    • Extrae contenido con Brave Search API
    • Divide el HTML en fragmentos con el splitter
    • Crea embeddings con OpenAI
    • Almacena en la base de datos vectorial

Verificación

  • Revisa cuántos fragmentos se crearon
  • Examina el contenido procesado
  • Confirma que el contenido se almacenó correctamente

Paso 8: Personalización Avanzada

Prompt del Sistema

El chain incluye un prompt especializado que:

  • Solo responde preguntas sobre el contenido entrenado
  • Dice «No estoy seguro» para preguntas fuera del tema
  • Mantiene el enfoque en el dominio específico

Memoria Opcional

Puedes agregar Buffer Window Memory para:

  • Recordar conversaciones anteriores
  • Mantener contexto durante múltiples preguntas
  • Configurar cuántos mensajes recordar

Documentos Fuente

Activa «Return Source Documents» para:

  • Ver qué fragmentos se usaron en cada respuesta
  • Verificar la precisión de las respuestas
  • Entender cómo funciona la recuperación

Paso 9: Pruebas y Uso

Preguntas de Prueba

  1. Pregunta sobre el contenido: «¿Qué es prompt engineering?»
  2. Pregunta fuera del tema: «¿Qué debería comer hoy?»
  3. Verificar memoria: «¿Cuál es mi nombre?» (después de presentarte)

Comportamiento Esperado

  • Respuestas precisas sobre el contenido entrenado
  • «No estoy seguro» para temas no relacionados
  • Mantenimiento del contexto conversacional

Conceptos Clave Aprendidos

Arquitectura RAG

  • Retrieval: Búsqueda de información relevante
  • Augmentation: Enriquecimiento del prompt con contexto
  • Generation: Generación de respuesta basada en contexto

Componentes Esenciales

  1. Chat Model: El cerebro que genera respuestas
  2. Vector Store: Almacén de conocimiento
  3. Embeddings: Representación numérica del contenido
  4. Document Loader: Fuente de información
  5. Text Splitter: Procesador de contenido

Mejores Prácticas

  • Usar modelos económicos para experimentación
  • Configurar memoria para conversaciones largas
  • Especializar el prompt para el dominio específico
  • Verificar la calidad de los embeddings creados

Próximos Pasos

En las siguientes lecciones aprenderás:

  • Cómo usar este workflow sin construirlo desde cero
  • Integración con modelos open source
  • Bases de datos vectoriales más robustas
  • Técnicas avanzadas de web scraping

Resumen de la Configuración

Conversational Retrieval Q&A Chain
├── ChatOpenAI (GPT-4o Mini)
├── In-Memory Vector Store
├── OpenAI Embeddings (text-embedding-3-small)
├── Brave Search API Document Loader
├── HTML to Markdown Text Splitter
└── Buffer Window Memory (opcional)

Esta configuración te da una base sólida para construir aplicaciones RAG más complejas y especializadas.

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.