En esta página
La generación aumentada por recuperación (RAG) es tan buena como los datos que le aportas. La mayoría de los tutoriales de RAG usan colecciones de documentos estáticos: PDF o archivos markdown reposando en una carpeta. Los sistemas de RAG en producción necesitan datos web en vivo: documentación que se actualiza semanalmente, precios de la competencia que cambian cada mes, artículos de investigación publicados a diario.
Esta guía recorre la creación de un pipeline de RAG completo que usa CrawlForge para rastrear y extraer contenido web, y luego lo introduce en una base de datos vectorial para la generación aumentada por recuperación. Cada paso incluye código TypeScript funcional.
Tabla de contenidos
- ¿Qué es RAG y por qué usar datos web?
- Arquitectura del pipeline de RAG
- Paso 1: Rastrea los sitios web objetivo
- Paso 2: Extrae y limpia el contenido
- Paso 3: Fragmenta el texto para el embedding
- Paso 4: Genera los embeddings
- Paso 5: Almacena en una base de datos vectorial
- Paso 6: Consulta y recupera
- Juntándolo todo
- Consejos de optimización del rendimiento
- Preguntas frecuentes
¿Qué es RAG y por qué usar datos web?
La generación aumentada por recuperación es una técnica en la que la respuesta de un LLM se ancla en documentos relevantes recuperados de una base de conocimiento externa. En lugar de depender únicamente de los datos de entrenamiento (que tienen una fecha de corte de conocimiento), los sistemas de RAG obtienen contexto actual y relevante antes de generar una respuesta.
Por qué los datos web mejoran el RAG:
- Actualidad -- el contenido web se actualiza en tiempo real; los datos de entrenamiento no
- Amplitud -- la web cubre todos los temas, sectores y nichos
- Especificidad -- haz scraping exactamente de las páginas relevantes para tu dominio
- Autoridad -- extrae de documentación oficial, artículos de investigación y fuentes de confianza
Casos de uso habituales de RAG con datos web:
- Bots de atención al cliente anclados en documentación en vivo
- Sistemas de inteligencia competitiva que rastrean los cambios de la competencia
- Asistentes de investigación que obtienen de bases de datos académicas y noticias
- Bases de conocimiento internas enriquecidas con datos externos del sector
Arquitectura del pipeline de RAG
Un pipeline de RAG con datos web tiene seis etapas:
Crawl --> Extract --> Chunk --> Embed --> Store --> Retrieve
| | | | | |
URLs Clean Text Vectors Vector Context
text segments DB + LLM
| Etapa | Herramienta | Propósito |
|---|---|---|
| Rastreo | CrawlForge crawl_deep / batch_scrape | Descubrir y obtener páginas |
| Extracción | CrawlForge extract_content | Limpiar el HTML en texto legible |
| Fragmentación | Lógica personalizada | Dividir el texto en segmentos del tamaño de embedding |
| Embedding | OpenAI / Cohere / modelo local | Convertir el texto en representaciones vectoriales |
| Almacenamiento | Pinecone / Weaviate / Qdrant | Indexar los vectores para búsqueda por similitud |
| Recuperación | Consulta a la base de datos vectorial + LLM | Encontrar fragmentos relevantes, generar la respuesta |
Paso 1: Rastrea los sitios web objetivo
Primero, descubre y obtén todas las páginas relevantes de tu dominio objetivo. La herramienta crawl_deep de CrawlForge gestiona la paginación, el descubrimiento de enlaces y la obtención en paralelo.
Para hacer scraping de una lista conocida de URLs (como un sitemap), usa batch_scrape en su lugar:
Coste en credits: crawl_deep cuesta 5 credits por invocación. batch_scrape cuesta 5 credits por lote (hasta 50 URLs). Para 200 páginas, una sola llamada a crawl_deep es más rentable que varias llamadas a batch_scrape.
Paso 2: Extrae y limpia el contenido
El HTML en bruto contiene navegación, anuncios, pies de página y texto repetitivo que contaminará tus embeddings. La herramienta extract_content de CrawlForge usa algoritmos de legibilidad para aislar el contenido principal.
Si usaste extract_content: true durante el paso de rastreo, tu contenido ya está limpio. Para páginas individuales:
Consejos de posprocesamiento:
- Elimina el contenido duplicado (muchos sitios repiten cabeceras/pies de página en el texto extraído)
- Quita los enlaces de navegación interna ("Siguiente: Facturación" / "Anterior: Configuración")
- Normaliza los espacios en blanco y elimina las líneas vacías
- Conserva los encabezados: aportan estructura para la fragmentación
Paso 3: Fragmenta el texto para el embedding
Los modelos de embedding tienen límites de tokens (normalmente entre 512 y 8.192 tokens). Los documentos largos deben dividirse en fragmentos más pequeños que preserven el significado semántico.
Estrategias de fragmentación comparadas:
| Estrategia | Pros | Contras | Ideal para |
|---|---|---|---|
| Tamaño fijo | Sencilla, predecible | Corta a mitad de frase | Contenido general |
| Basada en encabezados | Preserva la estructura | Tamaños de fragmento desiguales | Documentación |
| Basada en frases | Límites naturales | Puede ser demasiado pequeña | Datos conversacionales |
| Recursiva | Tamaños equilibrados + estructura | Más compleja | Sistemas en producción |
Paso 4: Genera los embeddings
Convierte cada fragmento de texto en una representación vectorial usando un modelo de embedding.
Opciones de modelo de embedding:
| Modelo | Dimensiones | Coste | Calidad |
|---|---|---|---|
| OpenAI text-embedding-3-small | 1.536 | $0.02/1M tokens | Buena |
| OpenAI text-embedding-3-large | 3.072 | $0.13/1M tokens | Mejor |
| Cohere embed-english-v3.0 | 1.024 | $0.10/1M tokens | Buena |
| Local (all-MiniLM-L6-v2) | 384 | Gratis | Adecuada |
Paso 5: Almacena en una base de datos vectorial
Indexa los fragmentos con embedding en una base de datos vectorial para una búsqueda por similitud rápida.
Ejemplo con Pinecone
Ejemplo con Weaviate
Paso 6: Consulta y recupera
Ahora consulta la base de datos vectorial con una pregunta del usuario, recupera los fragmentos relevantes y pásalos a un LLM como contexto.
Juntándolo todo
Aquí tienes el pipeline completo en una única función de orquestación:
Coste total de credits de CrawlForge para 200 páginas: 5 credits (una sola llamada a crawl_deep con extract_content: true).
Consejos de optimización del rendimiento
- Procesa los embeddings por lotes -- genera el embedding de 100 fragmentos por llamada a la API en lugar de uno a uno (10 veces más rápido, mismo coste)
- Usa fragmentación basada en encabezados para documentación, y basada en frases para artículos de noticias
- Establece un solapamiento adecuado -- un solapamiento del 10-15% entre fragmentos evita la pérdida de contexto en los límites
- Filtra durante el rastreo -- usa
include_patternsyexclude_patternspara evitar rastrear páginas irrelevantes - Cachea de forma agresiva -- almacena el contenido rastreado localmente para volver a rastrear solo cuando el contenido cambie
- Monitoriza la actualidad -- usa el seguimiento de cambios de CrawlForge para detectar cuándo se actualizan las páginas de origen, y luego vuelve a rastrear y a generar embeddings solo del contenido que cambió
Preguntas frecuentes
¿Cuántos credits cuesta crear un pipeline de RAG con CrawlForge?
Una sola llamada a crawl_deep cuesta 5 credits y puede rastrear hasta 1.000 páginas. Para un sitio de documentación de 200 páginas, el coste total de CrawlForge es de 5 credits. El plan gratuito (1.000 credits) te permite crear 200 pipelines de RAG antes de pagar nada. Consulta los detalles de precios.
¿Qué base de datos vectorial debería usar para RAG?
Pinecone es la más fácil para empezar (totalmente gestionada, sin infraestructura). Weaviate ofrece más flexibilidad con la búsqueda híbrida (vector + palabra clave). Qdrant es la mejor opción autoalojada. ChromaDB funciona bien para prototipos y desarrollo local.
¿Con qué frecuencia debería volver a rastrear y actualizar mis datos de RAG?
Depende de la frecuencia con la que cambie tu contenido de origen. Sitios de documentación: semanalmente. Noticias e investigación: a diario. Catálogos de productos: cada hora. Usa el seguimiento de cambios de CrawlForge para detectar actualizaciones y procesar de nuevo solo las páginas que cambiaron.
¿Puedo usar CrawlForge con LangChain o LlamaIndex?
Sí. CrawlForge se integra con ambos frameworks. Usa el SDK para obtener el contenido y luego pásalo a los cargadores de documentos de LangChain o a los conectores de datos de LlamaIndex. Consulta nuestra guía de integración con LangChain para ver ejemplos.
Crea tu primer pipeline de RAG en menos de 10 minutos. Empieza gratis con 1.000 credits y rastrea tu primer sitio hoy.