En esta página
Una tarea de extracción web no debería requerir enviar tus datos extraídos a OpenAI. Con extract_with_llm y una instalación local de Ollama, la extracción estructurada ahora se ejecuta por completo en tu máquina -- sin API key, sin coste por token, sin que un tercero vea tu contenido. Esta publicación es el análisis a fondo: por qué importa lo local, cómo configurarlo y cuándo usarlo frente a las alternativas.
Tabla de contenidos
- ¿Qué es la extracción web con LLM?
- ¿Por qué Ollama local (y no OpenAI)?
- Configuración: Ollama + extract_with_llm en 5 minutos
- list_ollama_models: descubre qué hay en tu máquina
- Extracción basada en esquemas
- Cuándo usar Ollama vs OpenAI vs Anthropic
- Comparación de costes
- Limitaciones y precisión
¿Qué es la extracción web con LLM?
La extracción web con LLM es el flujo de trabajo en el que le entregas al modelo dos cosas -- el HTML en bruto de una página y un esquema que describe lo que quieres -- y el modelo devuelve JSON estructurado. Es el reemplazo moderno de los selectores CSS escritos a mano. Cuando cambia el diseño de un sitio, los selectores se rompen; el LLM se adapta.
CrawlForge lleva tiempo ofreciendo esto como extract_structured (primero CSS, con LLM de respaldo). La nueva herramienta extract_with_llm es LLM-first: cada extracción es una llamada al LLM. Lo que cambió en la v4.2.2 es el proveedor por defecto. Antes necesitabas una API key de OpenAI o Anthropic. Ahora no.
¿Por qué Ollama local (y no OpenAI)?
Tres razones, en orden descendente de importancia para la mayoría de los equipos.
1. Tus datos extraídos se quedan en tu máquina. Cuando llamas a OpenAI, el contenido de la página va a OpenAI. Para inteligencia competitiva, documentos legales, datos de clientes o cualquier cosa regulada, eso suele ser un impedimento absoluto. Ollama local significa solo localhost.
2. El LLM es gratis. Una llamada a gpt-4o-mini cuesta alrededor de $0.0001 por extracción a escala. Suena a nada -- hasta que estás ejecutando 10.000 extracciones al día. Ollama cuesta $0 más electricidad. Sigues pagando 3 credits de CrawlForge por llamada, sin importar el proveedor.
3. No hay una nueva API key que gestionar. Si tienes Ollama, tienes un proveedor. Sin registro, sin alertas de facturación, sin rotación.
El compromiso es la calidad del modelo. Un llama3.1:8b en una laptop no igualará a gpt-4o en páginas difíciles. Para el 80% de los casos (HTML limpio, esquema simple), va bien. Para el 20% (muy formateado, ambiguo), puedes recurrir a OpenAI o Anthropic en la misma llamada.
Configuración: Ollama + extract_with_llm en 5 minutos
Eso es del lado de Ollama. Ahora desde CrawlForge (vía la CLI, el MCP server o la API -- cualquier vía funciona):
Desde la CLI:
list_ollama_models: descubre qué hay en tu máquina
Antes de ejecutar un lote grande, comprueba qué hay realmente instalado:
O vía MCP/SDK:
Esto cuesta 0 credits. Es un ayudante de descubrimiento, no una llamada de extracción. Útil en flujos de onboarding, pruebas de humo de CI ("¿está Ollama bien configurado?") y como primer paso en cualquier pipeline de LLM local.
Extracción basada en esquemas
El esquema es un objeto JSON Schema estándar. El LLM lo lee y produce una salida que coincide. Dos patrones funcionan bien:
Patrón 1: esquema plano para datos simples
Patrón 2: esquema anidado para datos más ricos
Cuanto más pequeño sea el esquema, más fiable será la extracción -- especialmente en modelos locales de 8B. Si encuentras que un modelo alucina campos, simplifica.
Cuándo usar Ollama vs OpenAI vs Anthropic
| Escenario | Proveedor recomendado | Por qué |
|---|---|---|
| Extracción por lotes de alto volumen | Ollama | Coste marginal del LLM = $0 |
| Datos sensibles o regulados | Ollama | Solo localhost |
| Razonamiento complejo de varias páginas | OpenAI (gpt-4o) | El mejor razonamiento en páginas difíciles |
| Contexto largo (50K+ tokens) | Anthropic (Claude) | Ventana de contexto de 200K |
| Prototipo rápido, bajo volumen | Ollama | Cero configuración más allá de la instalación |
| Contenido ambiguo (sarcasmo, jerga) | OpenAI o Anthropic | Modelo más grande = mejor desambiguación |
La buena noticia: cambiar de proveedor es un solo cambio de parámetro. Puedes prototipar con Ollama, toparte con una página difícil, cambiar a provider: "openai" para esa única llamada y continuar.
Comparación de costes
Coste por cada 1.000 extracciones, asumiendo una página promedio (~3K tokens de entrada, ~200 tokens de salida):
| Proveedor | Modelo | Coste de LLM por 1K | Credits de CrawlForge por 1K | Total por 1K |
|---|---|---|---|---|
| Ollama (local) | llama3.1:8b | $0 (electricidad) | 3.000 credits | 3.000 credits |
| Ollama (local) | llama3.1:70b | $0 (electricidad, más) | 3.000 credits | 3.000 credits |
| OpenAI | gpt-4o-mini | ~$0.45 | 3.000 credits | 3.000 credits + $0.45 |
| OpenAI | gpt-4o | ~$8.50 | 3.000 credits | 3.000 credits + $8.50 |
| Anthropic | claude-haiku-4-5 | ~$0.30 | 3.000 credits | 3.000 credits + $0.30 |
| Anthropic | claude-sonnet-4-6 | ~$4.50 | 3.000 credits | 3.000 credits + $4.50 |
Los credits de CrawlForge son fijos entre proveedores -- pagas por la orquestación, no por el modelo. En nuestro plan Hobby (10.000 credits/$19/mes), eso son aproximadamente 3.300 extracciones con LLM al mes por $19 + $0 (si usas Ollama).
Limitaciones y precisión
Lo que Ollama local (llama3.1:8b) hace bien en nuestros benchmarks internos:
- Páginas de producto limpias (Amazon, Shopify): ~95% de precisión en los campos
- Metadatos de artículos (Substack, Medium): ~92%
- Hilos de foros (HN, Reddit): ~88%
Con lo que tiene dificultades:
- Páginas con mucho renderizado JS y HTML mínimo (usa
scrape_with_actionsprimero, luego extrae) - Páginas con estructura ambigua (usa un modelo de frontera)
- Esquemas con 20+ campos (divídelos en varias extracciones)
- Contenido que no esté en inglés (usa un modelo multilingüe como
mistral)
Si la precisión es crítica y Ollama omite campos, la solución suele ser: un esquema más simple, o subir a provider: "openai" para esa llamada.
¿Listo para extraer datos sin que salgan de tu máquina? Empieza gratis con 1.000 credits y prueba extract_with_llm con tu Ollama local. ¿Nuevo en CrawlForge? Lee el anuncio de lanzamiento de la v4.2.2 para tener contexto, o la guía de la CLI para un flujo de trabajo centrado en la terminal.