Dharma-AI 发布 2B 参数 Field Extractor 模型,文档图片直出结构化 JSON
Dharma Field Extractor: Any Document In, Structured Fields in JSON Out
Dharma-AI 发布 20 亿参数的 Field Extractor 模型,输入文档图片后按开放式或 schema 定向两种模式输出结构化 JSON,缺失字段返回 null 而非编造。
一个 20 亿参数的模型,能从任何文档类型中精确提取你所要求的字段,性能超过我们测试过的所有前沿 LLM,而成本只是其一小部分。
今年 4 月,我们发布了 DharmaOCR-LITE,一个专用于各类文档 OCR 的模型,涵盖合同、法院文书、发票、证件和表单等。其背后的论文为领域专业化提供了一个范围有限但测量严谨的论证:一个更贴近任务训练的较小模型,在该任务上击败了通用前沿 API。
OCR 为你提供页面上的文本,忠实于原始格式。当任务针对的是整个文档时——比如你要从头到尾阅读的合同,或正在数字化的手稿——这正是你想要的。
然而还有另一种使用场景:你不需要整个页面,而是要从中提取特定字段,以下游系统可以直接使用的形式呈现。发票上的每个明细项,以列表形式呈现;医疗检查申请单上的患者姓名、检查类型和日期,以便直接安排日程;证件上的字段,映射到员工记录的各列。
把文档跑一遍 OCR,你会逐行得到页面上印的所有内容,但没有任何指示告诉你哪个字符串是检查类型、哪个是日期、哪个数字是总额。在数据进入数据库之前,仍然需要有人编写代码把每个值映射到正确的字段。
如今通用 LLM 可以通过精心设计的提示词完成这项工作。但在前沿 API 的价格和延迟下,对于一个许多企业需要高吞吐量运行的任务,这种做法很快就会成为解决一个明确定义问题的昂贵方式。
所以我们为此专门构建了一个模型。Field Extractor 接收一张文档图像,加上一个“提取所有能找到的内容”的请求或一个待填写的精确 schema,然后返回结构化的 JSON:带类型、逐字段、按文档的嵌套结构嵌套。发票返回时每个明细项都是有序列表,各自带有数量和金额,并附总额。证件返回时就是你将存储的字段,字段名与你的系统已使用的名称一致。同一个检查点处理所有这些,无需针对每种类型微调。
你可以在这里亲自试用。
模型做什么
假设每天早上都会收到一批供应商发票,你需要从每张发票中提取四项信息推送到你的系统:供应商、发票号、到期日、总额。进入排程系统的医疗检查申请单、或输入合规系统的合同也是如此,其中重要的是当事方、期限、罚则和罚款金额。你不需要整个页面,只需要某些字段。使用 Field Extractor,有两种方式来请求这些字段:
- 开放模式:不提供 schema。模型阅读页面,根据上下文和版面布局(而非固定的字段名列表)判断哪些部分是结构化字段(标签后跟值、表头行覆盖各列的表格),并以键值对形式返回它找到的所有内容。
- Schema 驱动:你逐字段指定想要的确切结构,为每个字段指定类型(字符串、数字或布尔值),并使用你的系统已经在用的键名。请求 "service_provider" 和 "client_company",返回的就是这两个确切的键。请求一个表格,它就按行按列填充,将每个单元格对应到所属的键。请求文档上不存在的字段时,它返回 null 而不是编造一个值。
选择取决于你已经知道什么。当你不知道文档里有什么时,发送开放请求。当输出必须匹配其他地方已有的结构时,发送 schema。
无论哪种方式,返回的都是 JSON:字段作为键,值按请求的类型标注,文档中没有所请求内容的地方则是 null。当你发送 schema 时,输出严格遵循它,键相同且没有额外字段,因此可以直接进入下一个系统。
训练方式
基础模型是 DharmaOCR-LITE v1.1,这是一个新的 20 亿参数版本,由论文中的模型优化而来,并已通过监督微调和 DPO 专门针对 OCR 进行了训练。在该检查点之上,我们使用 43,384 条训练样本训练了一个 LoRA 适配器,涵盖两种请求模式。
数据组织为三个流:
- 英语多领域数据:从公共网络收集的多样化文档,涵盖多种文档类型。
- 巴西领域数据:内部来源的真实巴西文档,为葡萄牙语。
- 多语言数据:占比较小,涵盖其他欧洲和亚洲语言,以在英语和葡萄牙语之外实现更广泛的泛化。
所有三个流都在字段级别进行了标注。这个混合数据集特意做到多领域:收据、商业发票、表单、银行对账单、身份证件和合成文档,而不是单一的归档类型。
基准测试的边界在哪里
完整的基准测试涵盖 546 份文档,分为三种请求场景,总计 1,638 个用例:不带 schema 提取所有字段、仅命名真实字段的部分 schema,以及还包含故意设置的不存在字段的 schema。分数为字段级 F1(按路径匹配,包括表格内的位置),乘以匹配值上的 Levenshtein 相似度,再乘以返回有效 JSON 的输出占比。
我们用四个通用前沿配置运行了同一个基准测试。
与通用 LLM 相比,质量差距从 1.8 分(Claude Opus 5,最接近的)到 9.3 分(GPT-5.6 Luna,差距最大的)不等。
成本大约低 6 倍(GPT-5.6 Luna)到大约低 147 倍(GPT-5.6 Sol)不等。双方的定价方式不同。前沿模型的数字来自每页实测的平均输入和输出 token(包括推理 token),对照各提供商公布的定价。所有前沿模型都以低推理档位运行;Claude Opus 5 使用自适应努力程度,在较简单的页面上可以跳过推理,同时保持低档位。我们的模型不按 token 计费:模型自托管运行,因此该数字是单块 L40S 上每小时 2.24 美元的 GPU 时间。
这不是销售价格。自托管成本取决于每次部署所需的硬件、流量和延迟。这个对比是为了说明,一个部署在你自己基础设施上的主权 SSLM,是前沿 API 的真正替代方案。
泛化能力测试
SROIE 和 FUNSD 是我们基准测试中的两个公开数据集,未用于训练。以下是各自的一个示例。
在一张 SROIE 收据上,我们要求提取其上印有的全部 18 个字段,这次没有虚构字段,返回的每个字段都正确:多行、无标签的账单地址被捕获为单个字段,两个空白字段(salesperson 和 ref)正确返回为 null,收据上的每个数字都精确到分毫。
在一份 FUNSD 复印差异表单上,包含十二个布尔字段的检查清单和一组嵌套的五个子选项,模型恰好将唯一被勾选的框(复印件质量差,旁边有手写的“faded”字样)标记为 true,其余十一个标记为 false,与表单完全一致。它还正确读取了页面上的手写 Bates 编号,并对两个留空的字段返回 null。
质量与成本,兼得
一个 20 亿参数的模型得分为 0.834,高于我们测试的所有前沿配置,从得分 0.816 的 Claude Opus 5 到得分 0.741 的 GPT-5.6 Luna,同时在单块 L40S 上运行时,每次提取的成本低于对比中的所有 API。更高的质量和更低的成本,在同一个基准上、同一轮运行中测得。
这不是我们第一次测得这样的结果。我们的 OCR 论文将第一代 DharmaOCR-LITE(一个 30 亿参数的模型)在巴西葡萄牙语上的表现排在所有受测商业前沿 API 之上;三个月后,更新、资源更充足的模型相继问世,差距依然保持。现在一个 20 亿参数的模型在字段提取上再次做到这一点。每一项结果都为我们创立 Dharma-AI 时的论点增添了证据:在范围有限的任务上,针对该任务训练的小模型,胜过被要求通用地完成同一任务的前沿模型。在这个基准上,它的运行成本还低了 6 到 147 倍。
参数量决定上限;训练决定模型在你的任务上能达到上限的多大比例。你的企业不需要可获得的最大模型,而需要一个为你的问题训练过的模型。
在这里用你自己的文档试试。想了解更多关于 Dharma-AI 及我们构建的专用模型,请访问 dharma-ai.com。
资料来源
- BID. Brazilian Identity Document Dataset. Soares, Neves Jr., Bezerra (2020), "BID Dataset: a challenge dataset for document processing tasks," Anais Estendidos XXXIII SIBGRAPI. github.com/ricardobnjunior/Brazilian-Identity-Document-Dataset
- CORD. Park et al., NAVER CLOVA (2019). huggingface.co/datasets/naver-clova-ix/cord-v2
- DocVQA. Mathew et al., WACV 2021 (ICDAR 2019). huggingface.co/datasets/lmms-lab/DocVQA
- WildReceipt. Sun et al., IJCAI 2021. huggingface.co/datasets/Theivaprakasham/wildreceipt
- SROIE (ICDAR 2019). 未用于训练,仅用于评估。 huggingface.co/datasets/darentang/sroie(镜像);上游 rrc.cvc.uab.es/?ch=13
- FUNSD. Jaume et al. 未用于训练,仅用于评估。 huggingface.co/datasets/nielsr/funsd(镜像);guillaumejaume.github.io/FUNSD
- Zenodo Invoices (PT). Cruz & Castelli, NOVA IMS (2022). zenodo.org/records/6371710
- line_items. Sagarjha456, Hugging Face. huggingface.co/datasets/Sagarjha456/line_items
- Katanaml Invoices (Donut)。Kozłowski & Weichbroth (2021),Mendeley Data doi:10.17632/tnj49gpmtz.2。huggingface.co/datasets/katanaml-org/invoices-donut-data-v1
- HumynLabs 巴西账单与发票数据集。huggingface.co/datasets/HumynLabs/Brazilian_Bills_and_Invoices_Dataset
- Tech4Humans BR-Doc Extraction。huggingface.co/datasets/tech4humans/br-doc-extraction
- Cardoso, Gabriel Pimenta de Freitas 等,《DharmaOCR: Specialized Small Language Models for Structured OCR that outperform Open-Source and Commercial Baselines》,arXiv 预印本 arXiv:2604.14314 (2026)。
延伸阅读
- 如何通过为 SLM 定制词表,在实际应用中将推理成本降低 77%
- 同一集群,利用率提升 33 个百分点:改变的只是顺序
- GPU 管理:为什么闲置 GPU 是新时代的停飞飞机
- 更新的模型,同样的优势
- 为什么专业化是必然趋势
- 专业化胜过规模化:多数 AI 采购决策忽视的战略变量
- 文本退化:大多数基准测试未追踪的生产故障模式
- 超越聊天机器人的直接偏好优化
欢迎探索 Hugging Face 上的 Dharma AI,试用我们的交互式演示,下载我们的开源模型,了解专业化 AI 系统如何在真实企业应用中超越通用模型。
来源: Hugging Face Blog · huggingface.co





