2026-10-07 LlamaIndex 上线 OpenDocRouter,把 10 个解析模型收进一个 /v1/parse。本文用官方数据拆每千页成本($0.80–$48.82,差 61 倍),给三档场景选型、三条路由策略及其失败模式,以及解析层验收口径。
LlamaIndex 在 2026 年 10 月 7 日上线 OpenDocRouter,把 10 个解析模型收进一个 /v1/parse 接口。文档解析选型,从此从「挑模型」变成「算每千页成本」。
结论先给:解析层不该再按「哪个模型最强」来选,而该按「页面类型 → 成本档 → 可替换性」来选。下面用官方公布的数据把账算一遍,并给三条能直接落地的路由策略。
把 PDF 变成 markdown,看上去只是摄入管道最前面的一小步,但它决定了后面所有环节的上限。解析阶段产生的误差有三类,且都会一路传到召回:
这三类误差的共同点是:在解析层只要花一次成本就能避免,进了向量库之后几乎无法低成本修复。这就是它被称为「第一笔沉没成本」的原因——你后面买多少算力做重排、多少预算做人工复核,很大程度都是在为解析层的省事买单。
这套平台的定价是纯 token 计费,开启 layout 额外 +$0.2 / 百万 token,失败页不计费。下表是发布当天(2026-10-07)官方博客公布的每千页成本,按 ParseBench 跑出来的:
| 解析器 | 类型 | Input $/1M | Cached $/1M | Output $/1M | 每千页 |
|---|---|---|---|---|---|
| Claude Opus 5.5 | 前沿 | 4.00 | 0.20 | 20.00 | $48.82 |
| GPT-5.6 Terra | 前沿 | 2.00 | 0.20 | 12.00 | $19.89 |
| Gemini 3 Flash | 前沿 | 0.50 | 0.05 | 3.00 | $19.67 |
| Gemini 3.8 Flash | 前沿 | 0.75 | 0.08 | 3.75 | $5.91 |
| GPT-6 Luna | 前沿 | 0.10 | 0.01 | 0.50 | $0.80 |
| Infinity-Parser2-Flash | 开源 | 0.24 | — | 1.16 | $4.34 |
| dots.mocr | 开源 | 0.31 | — | 1.53 | $3.97 |
| TeleOCR | 开源 | 0.25 | — | 1.22 | $2.70 |
| PaddleOCR-VL-1.6 | 开源 | 0.24 | — | 1.20 | $2.17 |
| MinerU2.5-Pro | 开源 | 0.08 | — | 0.39 | $0.86 |
最贵的与最便宜的差 61 倍($48.82 对 $0.80)。这里要划一条线:单价不等于质量分。质量排序请直接看 ParseBench 官方榜单——它会随模型更新,本文只搬成本,不搬结论。真正要做的,是按页面类型分档:
| 场景 | 判据 | 成本档 | 可用模型带 |
|---|---|---|---|
| 有版面框选需求(合同、表单、密集表格) | 需要 bounding box 与阅读顺序,错一格就影响下游字段 | 高:$5.91 – $48.82 | Claude Opus 5.5 / GPT-5.6 Terra / Gemini 3.8 Flash |
| 纯文本(数字排版 PDF、论文、手册) | 版式规整、表格少、无手写 | 低:$0.80 – $0.86 | MinerU2.5-Pro / GPT-6 Luna |
| 混合扫描(扫描件与数字页混排) | 同一文档里既有清晰文本页又有低质扫描页 | 中:$2.17 – $4.34 | PaddleOCR-VL-1.6 / TeleOCR / Infinity-Parser2-Flash / dots.mocr |
做框选时别忽略一个细节:并不是所有模型原生产出 bounding box,有些要靠提示词引导,有些根本做不到。官方的做法是叠一层 grounding 引擎,请求里设 layout: true 就统一输出带坐标的 markdown,并把版面类收敛成同一套(title / section_header / text / list_item / table / picture / chart / formula / caption / footnote / page_header / page_footer / code / form / key_value)。这意味着你换模型时,下游解析版面结构的代码不用改——这就是「可替换性」的具体价值。
该 API 支持按页处理,每页独立计费、失败页免费重试,也可以指定 pages 跳过已解析页。这为路由留出了空间,但每条策略都有代价。
先用便宜模型对每页做一次轻量判断(纯文本 / 扫描 / 表格密集),再决定该页交给哪个模型解析。省钱的逻辑是「贵的那档只处理真正需要的页」。失败模式:页型判错的页会静默降质——没有报错、没有告警,问题只在召回阶段才以「答非所问」的形式暴露,排查成本远高于省下的费用。
给每份文档或每天设 token 预算,逼近上限就自动换到更便宜的档。失败模式:降级往往发生在文档中途,结果同一份文档里出现两种质量——前半部分的表格有结构,后半部分变成一行行纯文本。索引里出现这种「半结构化」文档,比整篇都差更难处理。
关键文档用两个不同模型各跑一遍,比对版面结构与字段差异,超过阈值才转人工。失败模式:成本直接翻倍;更麻烦的是「两个结果一致」不等于「对」——它们可能犯同一个错,抽检比例设低了等于没抽。
把某个模型 id 直接写死在摄入管道里,是很多团队踩过的坑。它的问题不是「选错了」,而是换模型的代价被放大了:模型升级、供应商调价、某天质量问题暴露,你面对的都不是「改一行配置」,而是「重跑全量索引」——解析结果变了,分块变了,embedding 全变了,权限映射、引用锚点、缓存全部要重建。
可操作的解法,是把解析层做成有版本的产物,而不是管道里的一步:
raw_file、parser_model_id、parser_version 与 parsed_at;这类统一 API 的价值正在于此:模型 id 变成一个可配置的路由参数,而不是埋在代码里的常量。它也提供同步与异步两种返回方式——同步适合 50 页以内的请求,异步则轮询作业,单请求上限 500 页或 50MB,适合批量摄入。
不要用「看起来还行」验收解析层。建议只盯三个指标:
举个算例:假设一个 1 万页的合同库,其中 20% 的页需要精确框选、其余是纯文本。全量走 Claude Opus 5.5 约 $488;改成「贵的那档只跑那 2000 页 + 其余走 MinerU2.5-Pro」,约 $104,省掉近八成——但这个省法成立的前提,是页型路由的准确率足够高,也就是策略一的那个失败模式没有发生。所以顺序是:先做字段级准确率基线,再谈路由省钱。
OpenDocRouter 和 LlamaParse 有什么区别?
前者的定位是「快速托管最新模型 + 让你在模型之间切换和路由」,按用量计费;LlamaParse 是托管文档平台,带手工调优的档位、企业控制、自托管部署,以及 schema 抽取与索引等额外接口。一个解决「选哪个模型」,一个解决「企业内怎么合规地跑」。
每千页花费从 $0.80 到 $48.82,差 61 倍,贵在哪里?
差在输出 token 的单价与每页的 token 消耗。前沿模型按 provider 原价透传,输出单价高;开源模型走托管推理价格,量级低一档。贵的那档通常用在需要精确框选、复杂表格与跨页推理的页面上,不要全量上。
扫描件 OCR 选型该看什么?
先看你的扫描件质量分布,再看候选是否原生产出 bounding box。PaddleOCR-VL-1.6 与 MinerU2.5-Pro 都在这次的开源带里,属于中等花费档;具体在中文与繁体扫描件上的表现,请以 ParseBench 上你自己的真实文档集为准,不要用别人的均值替代自己的验收。
解析失败的页会收费吗?
不会。失败页不计费,并支持只重试失败页、跳过已解析页——这让你可以放心用「先跑一遍看失败率」的方式做迁移。
这篇文章为什么只讲解析层?
因为解析、向量化、权限过滤、多模态检索是四件独立的事。本文只谈解析层:怎么选、怎么算花费、怎么路由、怎么验收。向量索引与权限过滤属于另外两层,我们在 企业知识库 AI 检索架构进化:从玩具 RAG 到 Retrieval Harness 的工程化跃迁 与 企业知识库 AI 的三代演进:从 RAG 到 Agent 原生记忆系统 里单独拆过,不在这里重复。