extract_structured
Dele al extractor un JSON Schema y un prompt en lenguaje natural. El LLM lee la página y devuelve datos que coinciden con su esquema. Cuando no hay un proveedor de LLM configurado, recurre a la extracción con selectores CSS usando sus indicaciones.
Casos de uso
Extracción de productos basada en esquema
Defina los campos que desea una sola vez; el LLM asigna cualquier sitio de comercio electrónico a su esquema.
Análisis de currículos y documentos
Extraiga nombres de candidatos, habilidades e historial laboral directamente en un objeto tipado.
Carga inicial de grafos de conocimiento
Extraiga entidades y relaciones de los artículos en JSON estructurado para cargadores de grafos.
Endpoint
/api/v1/tools/extract_structuredParameters
llmConfig para usar la extracción impulsada por LLM. Sin ella, la herramienta usa selectorHints para una extracción CSS determinista — más económica y sin necesidad de API key de LLM.| Name | Type | Required | Default | Description |
|---|---|---|---|---|
url | string | Required | - | URL de la que extraer datos Example: https://example.com/product/123 |
schema | object | Required | - | JSON Schema que describe los datos a extraer Example: {"type":"object","properties":{"title":{"type":"string"},"price":{"type":"number"}},"required":["title"]} |
prompt | string | Optional | - | Instrucciones en lenguaje natural que guían la extracción con LLM Example: Extract the product name, current price, and whether it is in stock |
llmConfig | object | Optional | - | Configuración opcional del proveedor de LLM (provider, apiKey). Omítala para usar el respaldo de selectores CSS. Example: {"provider": "openai", "apiKey": "sk-..."} |
selectorHints | object | Optional | - | Indicaciones de selectores CSS para guiar la extracción (también usadas por el respaldo de selectores) Example: {"title": "h1.product-title", "price": ".price"} |
fallbackToSelectors | boolean | Optional | true | Recurrir a la extracción con selectores CSS cuando el LLM no esté disponible Example: true |
Ejemplos de solicitud
cURL — extracción con LLM
TypeScript — respaldo de selectores
Python
Ejemplo de respuesta
{ "success": true, "data": { "url": "https://example.com/product/123", "extracted": { "title": "Premium Wireless Headphones", "price": 299.99, "in_stock": true }, "extraction_method": "llm", "schema_fields": 3, "required_fields": 2, "llm_provider": "openai", "confidence": 0.92 }, "credits_used": 3, "credits_remaining": 997, "processing_time": 1240}data.extractedCoincide con el JSON Schema que proporcionódata.extraction_method"llm" cuando hay un proveedor configurado, "selector_fallback" en caso contrariodata.confidenceConfianza del extractor (confianza del LLM o tasa de coincidencia de selectores)credits_used3 credits fijos por llamadaCosto en credits
Consejo: Combínela con scrape_structured (2 credits, solo CSS) cuando ya tenga selectores estables y no necesite la flexibilidad de un LLM.