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 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.