从0到1实现大模型智能材料审核平台
从0到1实现大模型智能材料审核平台(Vue + Django + RAG)
一、项目背景
在土地征收等政务业务中,往往需要审核大量材料,例如:
- 国民经济规划文件
- 征地预公告
- 土地调查确认表
- 勘测定界表
这些材料通常以 PDF 或扫描件图片 的形式提交,审核人员需要逐页查看内容,并检查关键字段是否符合规范,例如:
- 权属村名称是否一致
- 土地面积是否匹配
- 公告时间是否符合流程
- 是否存在公章、二维码等视觉元素
传统人工审核方式存在几个问题:
- 效率低:单份材料审核时间长
- 一致性差:不同审核人员判断标准可能不同
- 数据难沉淀:历史审核经验无法结构化利用
因此,我设计并实现了一套 基于大模型的智能材料审核平台,实现从文件上传到结构化审核结果输出的自动化流程。
系统目标包括:
- 自动解析 PDF / 图片材料
- 提取关键字段信息
- 结合历史规则进行智能审核
- 输出结构化审核结果
二、系统整体架构
整个系统采用 前后端分离 + AI服务模块化设计,核心技术架构如下:
1 | |
核心技术栈:
- 前端:Vue3 + Pinia
- 后端:Django + DRF
- 数据库:MySQL
- 向量检索:FAISS
- 图数据库:Neo4j
- 模型能力:
- OCR:PaddleOCR
- LLM:Qwen2.5-VL
三、系统核心流程
整个智能审核流程可以分为 五个阶段:
1 | |
1 文件上传
用户通过前端上传:
- PDF文件
- 图片文件
后端进行统一存储,并记录文件元数据。
2 OCR 文档解析
由于很多材料是扫描件,因此需要先进行 OCR 识别。
使用 PaddleOCR 对 PDF 页面进行识别:
1 | |
得到的文本会进行:
- 去噪
- 合并段落
- 表格文本整理
最终得到可用于后续分析的文本数据。
四、RAG:构建知识增强审核能力
在实际测试中,如果直接将 OCR 文本发送给大模型,会出现两个问题:
- 上下文过长,token消耗高
- 模型容易产生幻觉
因此系统引入 RAG(Retrieval Augmented Generation) 机制。
RAG流程如下:
1 | |
文本分块
将长文档拆分为多个语义块:
1 | |
这样可以保证:
- 语义完整
- 向量检索更精准
向量数据库构建
使用 FAISS 构建向量索引:
1 | |
当需要审核某个字段时,可以先通过语义检索找到相关文本,再交给 LLM 进行判断。
这样可以显著减少:
- token消耗
- 模型幻觉问题
五、大模型审核逻辑
系统将 OCR 文本、业务规则和检索结果整合为 Prompt 输入。
示例 Prompt:
1 | |
模型返回结果示例:
1 | |
系统随后对结果进行结构化解析,并保存到数据库。
六、知识图谱构建
为了沉淀材料之间的关系,系统引入 Neo4j 图数据库。
构建关系结构:
1 | |
示例 Cypher:
1 | |
这样可以实现:
- 项目 → 文件 → 字段 → 审核结果 的关系查询
- 不同材料之间的字段一致性分析
同时也方便前端进行 图结构展示。
七、系统接口设计
后端使用 Django + DRF 构建 RESTful API。
不同材料类型采用 模块化接口设计:
1 | |
每种材料有独立处理逻辑,但共享:
- OCR模块
- LLM服务
- 向量检索模块
这种设计方式使系统具有良好的 扩展性。
八、系统效果
在实际测试中,系统达到了以下效果:
- 审核识别准确率:约70%
- 平均响应时间:约5秒
在大量材料审核场景下,可以显著减少人工审核压力。
九、项目总结
通过这个项目,我完整实践了一套 大模型工程落地流程:
- OCR 文档解析
- RAG 知识增强
- LLM 推理
- 知识图谱构建
相比单纯调用 LLM API,这种 工程化 AI 系统设计 更能解决真实业务问题。
未来还可以进一步优化:
- 引入 Agent workflow
- 构建 审核规则学习机制
- 提升 多模态识别能力