一个接口调用十款文档解析模型:OpenDocRouter 拆解
原文:LlamaIndex Blog - 《Introducing OpenDocRouter: every document model under one API》(https://www.llamaindex.ai/blog/introducing-opendocrouter)
一、文档解析的难点,其实不在"解析"
在 HuggingFace 上搜 ocr,能翻出上千个模型;前沿实验室也几乎每个月都在推能读文档的新模型——只是价格常常不便宜。
真正麻烦的是围绕它们的那些重复劳动。想让一个模型把 PDF 转成 markdown,你大概都要走同样几步:琢磨提示词(如果有的话)、处理限流、管理部署与随之而来的成本,以及在新模型出来之后重新跑一遍评测,看看要不要换。
LlamaIndex 在 2026 年 10 月 7 日发布 OpenDocRouter,就是把这部分工作产品化:一个把文档转成 markdown 的平台,用统一的接口去调最新的开源模型和前沿模型。每个模型背后配一套版本化的 recipe——提示词、处理流程和设置都被固化下来。
这篇按原文拆开看:它的接口长什么样、十款模型的价格差多少、怎么把不同模型的版面信息对齐,以及它和 LlamaParse 的分工。
二、最小调用只有三个字段
官方给的调用示例很直白:
curlhttps://www.opendocrouter.ai/v1/parse\-H"Authorization: Bearer$API_KEY"\-H"Content-Type: application/json"\-d'{ "model": "opendatalab/mineru2.5-pro", "document": { "url": "https://arxiv.org/pdf/1706.03762" }, "layout": true }'三个字段各管一件事:model 选模型,document 给输入,layout 决定要不要带版面信息。
几个边界值得先记住:
- 输入接受 PDF、PNG、JPEG,或者指向这些文件的 URL。
- 支持同步与异步两种返回。同步直接返回结果,最长 50 页;异步会建一个任务,需要轮询取结果。
- 单次请求的输入上限是 500 页或 50MB。
接口形态之所以这么简单,是因为"麻烦的部分"被收进了平台侧:每个模型对应一套版本化的 recipe,你不需要自己去追提示词,也不用为换模型重写一遍管线。
三、十款模型,每千页成本差了 60 倍
OpenDocRouter 上线时选了十款模型,覆盖官方评测的两端:五款前沿模型,五款开源模型。
前沿模型包括 Claude Opus 5.5、Gemini 3 Flash、Gemini 3.8 Flash、GPT-5.6 Terra、GPT-6 Luna;开源模型包括 Infinity-Parser2-Flash、MinerU2.5-Pro、TeleOCR、dots.mocr、PaddleOCR-VL-1.6。
价格(截至 2026 年 10 月 7 日,单位美元):
| 模型 | 输入 /1M | 缓存输入 /1M | 输出 /1M | 每千页成本(ParseBench) |
|---|---|---|---|---|
| Claude Opus 5.5 | 4.00 | 0.20 | 20.00 | 48.82 |
| Gemini 3 Flash | 0.50 | 0.05 | 3.00 | 19.67 |
| Gemini 3.8 Flash | 0.75 | 0.08 | 3.75 | 5.91 |
| GPT-5.6 Terra | 2.00 | 0.20 | 12.00 | 19.89 |
| GPT-6 Luna | 0.10 | 0.01 | 0.50 | 0.80 |
| Infinity-Parser2-Flash | 0.24 | - | 1.16 | 4.34 |
| MinerU2.5-Pro | 0.08 | - | 0.39 | 0.86 |
| TeleOCR | 0.25 | - | 1.22 | 2.70 |
| dots.mocr | 0.31 | - | 1.53 | 3.97 |
| PaddleOCR-VL-1.6 | 0.24 | - | 1.20 | 2.17 |
这张表最该看的是最后一列。**最贵的 Claude Opus 5.5 每千页 48.82 美元,最便宜的 GPT-6 Luna 只要 0.80 美元,两者相差超过 60 倍。**这就是"统一接口"真正的价值:把换模型的成本从"重写管线 + 重新评测"降到改一个字段,你才有资格按质量和价格去挑。
计费方式也很直接:纯按 token 计费,起充 25 美元。开启 layout 会额外按每百万 token 加 0.2 美元;处理过程中失败的页面不计费。
四、把版面信息拉齐:grounding engine
不同模型对 bounding box 和版面结构的保证差别很大。有的原生就能输出坐标框,有的需要靠提示词催,还有的干脆做不到。
为此平台做了一个 grounding engine,可以套在任意模型上。请求里把 layout 置为 true,返回的 markdown 就会带上带坐标依据的 bounding box,以及按阅读顺序排好的版面元素。
更关键的是类别被统一了。所有模型输出同一套版面类别:title、section_header、text、list_item、table、picture、chart、formula、caption、footnote、page_header、page_footer、code、form 和 key_value。
这对下游管线的影响比看上去大。RAG 索引最怕的就是每种解析器产出一套自己的结构——今天按模型 A 的字段切块,明天换成模型 B,切片逻辑和元数据映射全得跟着改。统一类别之后,切换模型不再意味着重写下游。
五、新模型进来之前,先过一遍 ParseBench
平台的模型接入流程说得比较克制:新模型一旦能提供,就会先跑一遍 ParseBench,用评测结果去标定提示词、成本和其他设置,再放出来给用户。
每一个模型都会在 ParseBench 上从质量和成本两个维度评测,这也是选型页面的主要依据。原文没有承诺具体的更新频率,只说会持续改进热门模型——包括更好的提示词、更低延迟的托管方式。想确认某个模型是否已上线,直接看官方模型与评测列表最稳妥。
六、它和 LlamaParse 的分工
这两个产品容易被混在一起,原文把边界划得很清楚。
OpenDocRouter 的定位是"快速托管最新模型",让开发者方便地在已有模型之间切换和路由,并且只为实际用量付费。它强调的是接口简单、模型覆盖广。
LlamaParse 则是托管文档平台,带的是手工调优的解析档位、企业级控制、自托管部署,以及 schema 抽取、索引这类额外 API。
一句话区分:想要"最新的模型 + 按量付费 + 自己控管线",看 OpenDocRouter;想要"开箱可用的解析质量 + 企业治理能力",看 LlamaParse。
七、这类"模型路由器"值不值得接
我的判断是分场景的。
如果文档解析只是管线里的一环,而你的痛点是"不知道该选哪个模型、换一次成本太高",那么这种统一接口确实能省下不少事——尤其是它把评测和价格摊在同一张表上的做法。
但如果你的场景对解析质量有明确的硬要求(比如特定版式的合同、票据),或者有严格的数据合规约束,那还是得自己拿真实样本跑一轮:平台给的是 ParseBench 上的通用结论,不等于你的文档分布上的结论。
还有一个现实提醒:这类平台的模型清单和价格变动很快,文中的价格只是 10 月 7 日的快照,未验证最新版本,接入前请以官方文档和定价页面为准。
八、小结
OpenDocRouter 这套设计的可学之处,不在"支持十个模型"这个数量,而在它把三件容易被忽略的事做成了接口的一部分:
第一,把评测和计费放在一起展示,让选型从"感觉"变成"算账";第二,用 grounding engine 把各家模型的版面输出对齐成同一套类别,换模型不等于重写下游;第三,把每个模型的提示词与设置固化成版本化 recipe,新增模型有明确入口。
写 RAG 或文档类 Agent 的时候,这三条思路可以直接借用——哪怕你不接这个平台。