跳到主要内容
返回开发者精选

Reconciliation Workbench:小模型读财报,确定性引擎抓 OCR 错误

作者:niuniu869模型:MiniCPM-V 4.6

MiniCPM-V 读财报,确定性引擎抓出 OCR 数字错误

Reconciliation Workbench 是一张搭在真实财务报表上的审计“勾稽”工作台。小模型 MiniCPM-V 4.6(约 1.3B)只负责读取财报,所有算术都交给确定性引擎,用来抓 OCR 带进来的数字错误:首位多出数字、末位被截断、列错位、乱码字符等等。每个数字都能追溯到源 PDF 里的位置,并说明它参与了哪条勾稽关系。完整版本还支持人工修正、重新校验,留下可导出的审计轨迹。

它是 Hugging Face Build Small Hackathon 的参赛作品,参加 Backyard AI 赛道。

要解决的问题​

这是审计人员天天碰到、却不太上台面的现实问题:一份 300 页的中文年报或招股说明书过一遍 OCR,只要有一个数字读错,资产负债表就会悄无声息地对不上。Reconciliation Workbench 要把这些错误找出来,而且绝不“好心”改写原文。

为什么用小模型​

审一份财务报表,用不着巨大的 LLM。

  • 读取交给小模型:MiniCPM-V 4.6 约 1.3B 参数,远低于 Tiny Titan 的 4B 门槛。
  • 算术交给代码:每一次加总、小计和交叉核对,都在纯函数式的确定性引擎里完成。

把容易出错的计算从模型里移出去,它才能发现 OCR 错误,而不是制造新错误。一个“既读又算”的模型,很容易幻觉出一个看着合理、其实错误的合计数。

示例体验​

Space 内置两份示例,不需要任何密钥:

  1. 三木集团 2024 年年度报告:真实 PDF,逐位数字像素级高亮。三种状态叠在一起:绿色是已勾稽,红色是疑似 OCR 错误,灰色是规则没覆盖。
  2. 一份招股说明书:引擎发现合并资产负债表里的小计勾稽错误,并提供可以逐条查看的核验队列。

在右上角选示例,逐条打开发现项;点一下被标记的数字,它会在 PDF、实时表格和焦点卡片里同时高亮。

这是一个只读的公开演示。实时上传 PDF,以及“人工修正 → 重新计算 → 审计轨迹”这条流程,都依赖确定性引擎。这个引擎是专有组件,未包含在公开演示中,相关功能可以在下面的演示视频里看到。

工作原理​

Plain Text
单个自定义 gr.HTML 岛(pdf.js + 实时表格 + 核验面板 + 全部交互)
└─ 数据:小模型读取并结构化 → 确定性引擎勾稽 → 三态发现项
  • 定制界面:不是把默认 Gradio 组件堆起来,而是一个带 server_functions 的自定义 gr.HTML 岛,里面是真正的 pdf.js 阅读器、三态 bbox 叠加层和键盘驱动的审阅队列。
  • 铁律:抽取和算术分开;OCR 原始值不可变;人工修正算一笔新的、可追溯的事务,原值始终作为参照列保留。
  • 失败要显式:界面会提示“定位阶段丢弃了 N 张表 · 0 个发现项 ≠ 没有错误”,绝不把“抽取失败”伪装成“一切正常”。

演示视频​

3 分钟演示视频 走完了完整流程:1.3B 模型读取真实年报 PDF → 确定性引擎标出一个对不上的资产负债表小计 → 应用引擎推断的修正 → 重新计算、重新勾稽(✓ Closed),同时留下完整、防篡改的审计轨迹。

局限​

  • 公开演示只包含前端和预先计算好的示例结果。
  • 确定性勾稽引擎和抽取管线是专有组件,没有开源,也没放进 Space;所以公开版本不支持上传自己的 PDF,也不支持人工修正流程。

相关链接​

项目作者:niuniu869。

项目信息

基于模型
MiniCPM-V 4.6
作者
niuniu869