Best LLMs for Profiled Document Structure Extraction
Extracts the ordered section hierarchy of a document using caller-supplied structural conventions and terminology. Illustrative uses include applying known structural conventions to contracts, RFPs, API specifications, professional standards, research protocols, media guidelines,
Run this task on Fronset — request an invitation
Models
Frontier on this task: Meta Muse Spark 1.3 at 8.87 / 10. Quality bar at 90%: 7.98.
point-estimate floor (CI low) · upper CI (less certain) · Bars sorted by blended cost; best-value model first. Greyed rows are MEDIUM+ models whose point estimate does not clear the bar.
| Model | Quality score | CI low | Cost / 1k runs | vs best value |
|---|---|---|---|---|
| Claude Haiku 5.5 | 8.46 / 10 | 8.14 | $0.35 | best value |
| NVIDIA Nemotron-3 Super 120B | 8.68 / 10 | 8.29 | $0.93 | 2.6x more expensive |
| MiniMax M3 | 8.73 / 10 | 8.63 | $2.20 | 6.3x more expensive |
| Gemini 3.8 Flash | 8.65 / 10 | 8.27 | $3.58 | 10x more expensive |
| Meta Muse Spark 1.3 | 8.87 / 10 | 8.64 | $11.02 | 31x more expensive |
| Moonshot Kimi K3 | 8.08 / 10 | 7.75 | $20.61 | 59x more expensive |
| Tencent Hy4 Preview | 8.64 / 10 | 8.33 | $24.33 | 69x more expensive |
| Qwen 3.7 Plus | 7.72 / 10 | 7.39 | $1.14 | 3.2x more expensive |
| GPT-6 Sol | 7.93 / 10 | 7.59 | $3.37 | 9.6x more expensive |
| DeepSeek V4.1 Flash | 7.75 / 10 | 7.35 | $0.41 | 1.2x more expensive |
| GPT-6 Luna | 7.64 / 10 | 7.27 | $0.18 | 47% cheaper |
| Claude Opus 5.5 | 7.95 / 10 | 7.62 | $11.04 | 32x more expensive |
| Xiaomi MiMo V2.6 Pro | 7.86 / 10 | 7.49 | $0.69 | 2x more expensive |
| Grok 4.7 | 7.75 / 10 | 7.30 | $16.89 | 48x more expensive |
| Claude Sonnet 5.5 | 7.69 / 10 | 7.30 | $5.31 | 15x more expensive |
| Xiaomi MiMo V2.6 Flash | 7.77 / 10 | 7.46 | $0.23 | 33% cheaper |
Cost breakdown
| Model | Quality | Confidence | Cost / 1k runs | Overpay | Mode |
|---|---|---|---|---|---|
| Claude Haiku 5.5 ★ Anthropic | 8.46 / 10 CI [8.14, 8.79] | MEDIUM | $0.35 | best value | batch |
| NVIDIA Nemotron-3 Super 120B OpenRouter | 8.68 / 10 CI [8.29, 9.06] | MEDIUM | $0.93 | 2.6x | batch |
| MiniMax M3 OpenRouter | 8.73 / 10 CI [8.63, 8.83] | RANKED | $2.20 | 6.3x | batch |
| Gemini 3.8 Flash Gemini | 8.65 / 10 CI [8.27, 9.02] | MEDIUM | $3.58 | 10x | batch |
| Meta Muse Spark 1.3 best OpenRouter | 8.87 / 10 CI [8.64, 9.10] | HIGH | $11.02 | 31x | batch |
| Moonshot Kimi K3 Moonshot AI | 8.08 / 10 CI [7.75, 8.41] | MEDIUM | $20.61 | 59x | batch |
| Tencent Hy4 Preview OpenRouter | 8.64 / 10 CI [8.33, 8.95] | MEDIUM | $24.33 | 69x | batch |
Overpay shows how much more you pay than the best-value model that clears the quality bar (marked ★) — the best-value good-enough option. "16x" means you overpay 16× — 16× that reference for no quality benefit above the bar. Typical call shape for this task: 4331 input tokens → 710 output tokens, EMA-tracked from production traffic. Cost is the observed, all-in $ per 1,000 task runs: each model's own measured usage on this task — output verbosity, thinking/reasoning tokens, cache reads and writes, and the spend on its billed failures — priced at current list rates and adjusted by the billing overhead we actually reconcile against provider invoices. Models that answer tersely cost what they actually cost; models that think at length pay for it. Not comparable to providers' advertised $/1M list rates — this is what running the task costs, not a per-token price.
Evaluation rubric
Judge heading and item recognition against the supplied document profile, hierarchy, order, amendment handling, fidelity to the sample, completeness, and resistance to inventing expected sections.
Output schema
Every answer on this task is checked against this JSON Schema, whichever model wrote it. An answer that doesn't fit counts as a model failure, and the call is retried on another model.
{
"$defs": {
"TOCChapter": {
"description": "A chapter identified in the table of contents.",
"properties": {
"page_number": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"description": "Page number where the chapter starts, if available",
"title": "Page Number"
},
"section_number": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "Section number (e.g., 'Item 1', 'Part I')",
"title": "Section Number"
},
"title": {
"description": "The full title of the chapter/section",
"title": "Title",
"type": "string"
}
},
"required": [
"title",
"page_number",
"section_number"
],
"title": "TOCChapter",
"type": "object"
}
},
"description": "Table of contents extracted from S-1 filing.",
"properties": {
"chapters": {
"description": "List of chapters/sections found in the table of contents",
"items": {
"$ref": "#/$defs/TOCChapter"
},
"title": "Chapters",
"type": "array"
},
"document_type": {
"description": "Type of document (S-1, S-1/A, etc.)",
"title": "Document Type",
"type": "string"
},
"toc_found": {
"description": "Whether a clear table of contents was found",
"title": "Toc Found",
"type": "boolean"
}
},
"required": [
"chapters",
"document_type",
"toc_found"
],
"title": "TableOfContents",
"type": "object"
}Prompt templates
The published template for this task.
default ·
LLMB_PROFILED_DOCUMENT_STRUCTURE_EXTRACTION_SYSTEM +
LLMB_PROFILED_DOCUMENT_STRUCTURE_EXTRACTION_USER
(45 calls in window)
System prompt
Identify only structure present in the supplied sample. Apply document_profile to recognize its declared document-family conventions, parts, items, numbering, amendments, and repeated headings while preserving labels and order. Do not insert a section merely because the profile says it is normally expected; mark incomplete samples explicitly. Use document_profile as the sole source of document-family assumptions. Treat empty optional values as absent and return only the requested result. Your response must conform exactly to this output schema: {schema_json_string}.
User prompt
Inputs — sample_text: {sample_text}; document_profile: {document_profile}. Use only these inputs to complete the task defined by the system prompt.