【产品研发】基于本地OCR大模型文书自动生成软件开发

最近工作比较忙,对PostGIS相关更新较慢,栅格数据处理部分整套基本更新完毕,后续会陆续更新矢量数据处理部分。近期开发一个利用本地OCR大模型识别图片、PDF等文件,根据模版自动生成相关文书的小工具,主要是满足本地部署运行,简单总结分享一下。

一、 开发背景

在日常工作中,会遇到以下场景:发布中标公示、行政审批公示、人事任免公示、项目立项公示、行政处罚公示等多类型文书制作,文档制作过程中面临人工录入效率低、排版易出错、信息提取容易出错等情况,现有一些 OCR 手机端软件等也能从PDF、图片等非结构化原始文档中提取文字信息,但是大多基于互联网,有些文件则需要保密或者内部公开,存在一定的数据安全风险。

本软件基于本地的OCR大模型进行开发,所有识别运算与数据处理均在本地环境 ,无需将业务文档上传至第三方云端服务,从技术路径上保障数据安全,支持离线环境运行,可有效降低人工操作带来的文字与格式错误,保障文件的规范性、准确性,全面提升办公自动化水平。

二、 技术架构

软件采用 B/S 分层架构设计,整体分为四层,如图所示:

1. 前端交互层

由于功能简单,前端采用 HTML 与 JavaScript 原生技术栈开发,实现文件上传管理、识别结果展示、图文对照校验、在线文本编辑、文档导出等功能,用户通过标准浏览器即可访问操作,无需安装专用客户端。

2. 业务逻辑层

后端采用 Python、FastAPI Web 框架,文档模板使用 DocXTemplate 框架,负责请求路由、文件解析处理、字段抽取运算、模板渲染生成、大模型管理查询、数据交互等业务逻辑处理。

3. AI 处理层(基于Ollama本地化OCR大模型)

基于 Ollama 构建本地化大模型,统一管控 OCR 大模型的本地部署、加载运行、OCR 请求,全程数据不流出本地环境。

4. 数据存储层

采用本地轻量化 Sqlite 数据库对历史数据存储,模板配置采用文件管理,实现本地化存储与管理。

三、 本地化 OCR 大模型选择

本软件选取主流的三种 OCR 大模型,都使用 Ollama 进行管理并本地化,主要是百度的PaddleOCR-VL-1.6、智谱的视觉模型glm-ocr、阿里的通义千问视觉模型qwen2.5vl ,这三种模型参数都不算大,普通一般的台式机,作者在 32G内存/2G独显 可以正常跑且速度满足需要,具体实践中可以根据识别效率和识别准确率综合判断使用。

python 复制代码
AVAILABLE_MODELS = {
    "AuditAid/PaddleOCR-VL-1.6-0.9B:latest": {
        "name": "PaddleOCR-VL 0.9B",
        "description": "百度飞桨OCR视觉模型,中文识别精准",
        "size": "0.9B",
    },
    "glm-ocr:latest": {
        "name": "glm-ocr:latest",
        "description": "智谱开源发布了专为复杂文档理解设计的多模态 OCR 模型 GLM-OC",
        "size": "0.9B",
    },
    "qwen2.5vl:7b": {
        "name": "Qwen2.5-VL 7B",
        "description": "通义千问视觉模型",
        "size": "7B",
    }
}

四、 软件部分截图

主界面:

使用示例:

相关推荐
skywalk81631 天前
用ollama启动duan-translator 小模型
服务器·ollama·段言
行者-全栈开发4 天前
【码动四季】Spring AI + RAG 电商知识库:AtomCode 如何让 Embedding 对齐从 3 天缩短到 4 小时
embedding·向量检索·ollama·spring ai·pgvector·atomcode·rag电商知识库
weipt5 天前
用Ollama开发聊天程序实战
python·ollama
闲猫8 天前
Ollama 本地部署,Python、SpringAI对接Ollama
人工智能·python·ollama·spring ai
zhou1352848226711 天前
Linux 系统安装 Ollama 详细教程
linux·ubuntu·wsl·ollama
xifangge202512 天前
用 Ollama 本地部署 Codex + 接入 DeepSeek-R1 零成本避坑指南(附桥接配置)
ai编程·codex·ollama·deepseek
Koma-forever16 天前
OpenClaw-使用本地Ollamam模型(opencalw config+ ollama launch)
ollama·openclaw
2301_7671139818 天前
Ollama 本地部署与运维使用指南
人工智能·ollama
leonshi20 天前
使用embedchain快速建立rag知识库,本地大模型
ai·rag·ollama