Dharma 字段提取器:任何文档输入,JSON 结构输出
一款拥有 20 亿参数的模型能够在各种文件类型中精确提取所需字段,其性能优于当前测试中的前沿大语言模型(LLM)。该模型由 Dharma-AI 团队开发,旨在解决从合同、法庭文件到发票、身份证及表格等场景下的结构化数据提取问题。

相关论文展示了一个关于领域专业化的案例:通过针对特定任务进行更精细的训练,较小的专用模型在特定任务上击败了通用的大型 API。传统的 OCR 技术仅能忠实还原页面上的文本格式,这对于需要通读全文的场景(如审阅合同或数字化手稿)非常适用。然而,下游系统往往不需要整页文本,而是需要特定的字段以结构化形式呈现,例如发票中的每一行项目列表、医疗单据中的患者姓名与检查类型,或是身份证件映射至员工记录的具体列值。
若仅使用 OCR,输出的文本缺乏语义标记,无法直接指示哪个字符串对应“考试类型”等具体字段,后续仍需编写代码将每个值映射到正确的数据库字段。虽然通用 LLM 可以通过精心设计的提示词完成此任务,但在高容量企业级应用中,这种方式的延迟和成本往往难以接受。
Dharma 字段提取器直接输出结构化的 JSON 数据:字段逐一对应,嵌套在文档中的位置清晰可见。每一行项目都作为有序列表返回,包含数量和价值;字段名称与用户系统中已使用的名称保持一致。同一模型权重即可处理多种文档类型,无需为每种类型单独微调。
模型功能与应用场景
在实际业务中,例如每日接收供应商发票时,通常只需提取四个关键信息:供应商、发票号码、到期日期和总额。同样的逻辑适用于进入日程安排的医疗单据或合规系统中的合同。面对此类需求,主要有两种提取方式:
- 开放模式(Open):不提供预定义 Schema。模型根据上下文和布局自动识别页面中的结构化字段(如标签跟随的值、带有标题行的表格),并返回所有发现的内容作为键-值对。
- 指定模式(Schema-based):用户指定确切的数据形状,包括字段名称及其类型(字符串、数字或布尔值)。如果询问“服务提供者”和“客户公司”,返回的密钥即为这些名称。每个单元格都与对应的密钥匹配;若字段缺失,模型返回 null 而非编造数值。
选择哪种模式取决于已知信息的多少。若不清楚文档具体内容,可使用开放请求;当输出必须匹配现有系统的结构时,则使用指定模式。无论何种模式,返回结果均为 JSON 格式,无多余字段,可直接接入下游系统。
训练方法
基础模型采用 DharmaOCR-LITE v1.1,这是一个基于论文优化后的 20 亿参数版本,已通过监督微调和直接偏好优化(DPO)专门用于 OCR 任务。在此基础上,团队训练了一个 LoRA 适配器,使用了 43,384 个训练样本。
训练数据分为三大来源:
- 英语多域数据:从公共网络收集的涵盖多种文档类型的多样化数据。
- 巴西域名数据:来自内部来源的真实巴西葡萄牙语文件。
- 多语言数据:较小比例的其他欧洲和亚洲语言数据,以提升除英语和葡萄牙语之外的泛化能力。
所有数据均在字段层面进行了标注。这种混合策略是故意设计为多领域的,涵盖了收据、商业发票、表格、银行账单、身份证件和合成文件等多种类型,而非单一文件类别。
基准测试结果
完整的基准测试涵盖 546 份文档和三种请求场景,共计 1,638 个案例:无 Schema 时的全字段提取、仅提供包含真实字段的局部 Schema,以及提供包含故意不存在字段的 Schema。评分标准采用字段级 F1(按路径匹配,包括表格内位置),并结合已匹配值的 Levenshtein 相似度以及输出为有效 JSON 的比例进行加权。
团队对四种通用前沿配置进行了相同的基准测试。结果显示,与通用 LLM 相比,质量差距从最接近的 Claude Opus 5(1.8 分)到差距最大的 GPT-5.6 Luna(9.3 分)不等。
在成本方面,该模型的运行成本比 GPT-5.6 Luna 低约 6 倍,比 GPT-5.6 Sol 低约 147 倍。需要注意的是,前沿 API 的价格基于每个页面的平均输入和输出代币(含推理代币)对比各提供商公布的清单定价计算得出。所有前沿模型均以低推理设置运行;其中 Claude Opus 5 未使用自适应努力机制,尽管它在简单页面上可以跳过推理以保持低成本。而 Dharma 模型自主托管,不按代币收费,其成本核算基于单个 L40S GPU 的时间,每小时费用为 2.24 美元。
这一成本并非最终售价。自主托管的实际成本取决于部署所需的硬件、数量和延迟要求。对于希望替代前沿 API 的企业而言,部署主权小语言模型(SLM)是一种可行的选择。
泛化能力测试
SROIE 和 FUNSD 是两个未用于训练的公共数据集,常被用作泛化能力的考验。
在 SROIE 收据测试中,模型被要求提取打印出的全部 18 个字段。结果显示,所有字段均正确返回,无幻觉字段。多行无标签的计费地址被捕获为单一字段,两个空白字段(销售人员和引用)正确返回为零,收据上的每个数字均与百分比匹配。
在 FUNSD 复制差异表单测试中,涉及一个包含 12 个布尔值字段的检查列表和一个嵌套的五子选项组。模型正确标记了被勾选的框(原件质量较差,旁边有手写注释)为真,其余 11 个为假,与表单完全匹配。此外,模型还正确读取了页面上的手写 Bates ID,并将两个空白字段返回为 null。
质量与成本的平衡
这款 20 亿参数的模型得分为 0.834,高于测试中的所有前沿配置,从 Claude Opus 5 的 0.816 到 GPT-5.6 Luna 的 0.741。在同一基准测试和同一运行周期内,它实现了更高的质量和更低的成本。
这并非首次测量。Dharma-AI 团队的 OCR 论文曾介绍过第一个 DharmaOCR-LITE 模型,当时是一个 30 亿参数的版本。三个月后,经过资源优化的新车型出现,性能差距依然存在。如今,一个 20 亿参数的模型在现场提取任务上达到了这一水平。每一个结果都为 Dharma-AI 提出的论点提供了证据:在有界限的任务上,专业化的小模型不仅性能更优,而且运行成本低 6 至 147 倍。
参数数量设定了上限,但训练决定了模型在具体任务中能达到的实际高度。企业不一定需要最大的模型,更需要的是经过良好训练、能解决特定问题的模型。
资料来源
- BID. 巴西身份证件数据集。Soares, Neves Jr., Bezerra (2020), "BID Dataset: a challenge dataset for document processing tasks," Anais Estendidos XXXIII SIBGRAPI.
- CORD. Park et al., Naver Clova (2019).
- DocVQA. Mathew et al., WACV 2021 (ICDAR 2019).
- WildReceipt. Sun et al., IJCAI 2021.
- SROIE (ICDAR 2019). 仅用于评估,不参与训练。
- FUNSD. 仅用于评估,不参与训练。
- Zenodo Invoices (PT). Cruz & Castelli, NOVA IMS (2022).
- Line Items. Sagarjha 456, Hugging Face.
- Katanaml Invoices (Donut). Kozlowski and Wieczbrowski (2021).
- Brazilian Bills and Invoices.
- Tech4Human BR-Doc Extraction.
- Cardoso, Gabriel Pimenta de Freitas Cardoso et al. "DharmaOCR: Specialized Small Language Models for Structured OCR Outperforming Open Source and Commercial Baselines." arXiv preprint arXiv:2604.14314 (2026).





