本系列文章不绑定具体模型,不局限于单一技术栈,主要提供可落地的思路与可替换的方案。先说清楚这个系列的立场:不绑死某个模型,也不替哪套技术栈站台。我想写的是思路和可替换的方案------你换成别的 OCR、别的大模型、别的语言,骨架,只要测试无异常也可以实现同样功能。
为什么要做这件事?
接手一个老项目时,大概率会遇到这样一个场景:
业务跑了很多年,数据沉淀了不少,但打开数据库一看------大量的合同、单据、报表全躺在文件服务器里,以 PDF 的形式存在。系统之间传递的是文件,不是数据。想做个统计分析?先人工打开几百个PDF抄吧。
这就是我们面临的现实:数字化转型喊了很多年,但存量系统的结构化程度远比想象中低。
问题的本质
1. 老项目的"历史包袱"
很多运行了5年以上的系统,当初设计的时候压根没考虑"数据要被机器读懂"。字段散落在文档正文中,表格没有单独的结构,甚至同一类单据在不同年份的格式都不一样。
这些系统今天还在稳定跑着,不可能推倒重来。
2. 非结构化数据的管理困境
PDF 本身就是个"封闭格式"------它设计出来是为了显示一致 ,不是为了提取方便。尤其是扫描件PDF,本质上就是一张图片包了一层壳。
在当前各种系统百花齐放的环境下,每家都有自己的数据标准,跨系统对接时,非结构化文档就成了最大的拦路虎。你想对接上游的ERP、下游的档案系统,对方说"我们给你传PDF",你就得自己想办法把内容变成能用的数据。
3. 业务侧等不起
数字化转型是个长期目标,但业务部门的需求是实时的。"上个月所有合同的甲方名称统计一下"、"这批发票的金额汇总"------这些问题不能等到系统重构完再回答。
所以我们做了什么决定
在这个背景下,我们启动了一个专项:实现PDF文件的内容抽取及结构化入库。
目标很明确:
| 目标项 | 说明 |
|---|---|
| 输入 | 各类PDF文件(原生/扫描件/混合) |
| 输出 | 结构化数据,可直接入库 |
| 约束 | 尽量不侵入现有业务流程 |
| 扩展性 | 模型和技术栈可替换 |
关于这个系列
这篇只是开篇,主要把"为什么做"和"做到什么程度"交代清楚。后续文章计划覆盖:
- PDF 文件上传
- 文件拆分
- 文件识别(OCR)
- 提示词解析
- 数据入库
- 收尾:踩过的坑和一点建议
我想讲的不只是"最后跑通的版本",还有中途放弃的那些路子、为什么放弃、当时卡在哪。光看一个干净的成品,学不到多少东西,那些拐弯抹角的地方才是真经验。
整个系列就一个态度:没有银弹,只有适合你场景的方案。 你的文件长什么样、量有多大、准确率要求多高、预算给多少,决定了你该怎么做------别人的最优解搬过来未必合身。
如果你也在做类似的事情,欢迎交流。下一篇见 👋