【产品研发】基于本地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",
    }
}

四、 软件部分截图

主界面:

使用示例:

相关推荐
csdn_aspnet42 分钟前
Copilot能换成本地吗?VSCode接本地大模型本地化接入方案
ide·vscode·ai·ollama
k4m7v2pz9 天前
16GB Mac 本地跑大模型:ollama 局域网 OpenAI 兼容 API 实战(一:需求与配置)
llm·openai·api·mac·ollama·本地·atomcode
元Y亨H11 天前
大模型技术 Ollama 概述
llm·ollama
张青贤20 天前
Centos7离线部署K8s集群V1.28.8
云原生·容器·kubernetes·containerd·kubekey·离线部署
liwulin050620 天前
【ollama】自定义结构化输出
linux·前端·数据库·ollama
做个文艺程序员20 天前
Linux第27篇:在Linux服务器部署本地大模型:Ollama+开源LLM实战
linux·服务器·开源·大模型·ollama
寒水馨20 天前
Windows下载、安装ollama-v0.32.1(附安装包OllamaSetup.exe)
windows·llm·大语言模型·llama·本地部署·ollama·模型运行
skywalk816321 天前
用ollama启动duan-translator 小模型
服务器·ollama·段言
行者-全栈开发24 天前
【码动四季】Spring AI + RAG 电商知识库:AtomCode 如何让 Embedding 对齐从 3 天缩短到 4 小时
embedding·向量检索·ollama·spring ai·pgvector·atomcode·rag电商知识库