DeepSeek-OCR开源可以本地部署,96.5%的识别准确率

其实工作中,就是跟各种文档死磕的过程。

笔录、证据照片、监控截图、聊天记录、财务凭证…

人生苦短,堆在桌上的材料,吞没了你下班陪老婆孩子的幸福时光。

直到把DeepSeek-OCR部署内网服务器/工作站上。

这玩意,能解决部分问题。

首先,为什么要用这个?

你可能会问,市面上OCR工具那么多,百度的、阿里的、腾讯的,为啥非要折腾本地部署?

答案很简单:数据安全(无需解释)

而且,很多商业OCR服务,你根本不知道你的数据会被怎么用。训练模型?改进算法?天知道。

所以,本地部署,数据不出内网,这是硬性要求

而DeepSeek-OCR,开源、免费、可控,完美符合需求。

技术优势特性:

DeepSeek-OCR采用的处理方式是这样的。

AI系统会将最新的10轮对话内容,以纯文字形式存储在内存当中。

对于更早期的990轮对话数据,系统会自动将这些文字内容转化为可视化的图像形式,类似于对聊天界面进行截屏操作,生成一幅或多幅长条状的画面。

紧接着,系统启动内置的DeepEncoder编码模块,将这种承载着大量文本信息的图像进行压缩处理,转换为原始数据量约十分之一的图像Token,随后与最近的对话一并加载到上下文存储空间。

到了实际调用阶段,假设你提出这样的询问:“三天前我最开始说了什么?”

此时系统的上下文区域包含了两部分内容:最近10轮对话的文字Token以及早期990轮对话的图像Token。

接下来,系统的解码组件——一个名为DeepSeek-3B的混合专家模型(激活参数量达到570M),在经过OCR相关任务的训练后,已经掌握了识别图像Token并将其还原为文本内容的技能。

因此,它扫描了那些图像Token,定位到三天前的首条消息,并给出了相应的答复。

以上,便是DeepSeek-OCR的完整工作机制。

这代表着处理上下文信息的全新技术路径。

因此尽管与百度推出的PaddleOCR-VL在命名上都包含OCR字样,但实际上,二者的本质完全不同。

DeepSeek-OCR,其核心作用便是数据压缩。

论文里给出的数据是,在保持96.5%的识别准确率的前提下,压缩比可以达到惊人的10倍

真实场景:这玩意到底能干啥?

场景一:某类案的聊天记录提取

某类案子,最头疼的就是聊天记录。

嫌疑人的手机里,微信、QQ、Telegram,各种APP的聊天记录,少则几千条,多则几万条。

以前怎么办?

民警要么一条一条手动截图,然后再一条一条录入系统。

要么用传统OCR工具,但问题是,这些工具只能识别文字,聊天记录里的转账截图、红包记录、表情包,全都识别不了。

而且,传统OCR输出的是纯文本,你根本看不出谁说的、什么时间说的、上下文是啥。

DeepSeek-OCR的解决方案:

我直接把聊天记录的长截图扔给它,它能干嘛?

它会生成一个结构化的Markdown文档

文档里,每条消息的时间、发送人、内容,清清楚楚。

转账记录?它能识别出金额,甚至把转账截图里的信息,提取成表格。

表情包?它能描述出表情包的内容。

最关键的是,这个Markdown文档,可以直接导入到我们的办案系统里,自动关联到案件档案。

一张长截图,5秒钟,搞定。

场景二:财务凭证的批量处理

经济犯罪案件,最烦的就是财务凭证。

银行流水、发票、合同、收据…堆成山。

以前,财务人员要把这些凭证一张一张扫描,然后录入Excel表格。

一个案子,几千张凭证,录入要好几天。

DeepSeek-OCR的解决方案:

把所有凭证拍成照片,批量扔给DeepSeek-OCR。

它不仅能识别出凭证上的文字,还能自动把这些信息,转换成Excel表格

日期、金额、收款方、付款方、摘要,全都自动提取,自动归类。

而且,它还能识别发票的真伪,比如增值税发票的代码、号码,它都能提取出来,方便后续核验。

场景三:监控截图的文字提取

交通肇事案、盗窃案,经常要从监控录像里截图。

车牌号、店铺招牌、路牌、嫌疑人衣服上的文字…

这些信息,往往是破案的关键。

但问题是,监控画质差啊。

模糊、晃动、逆光,传统OCR根本识别不出来。

DeepSeek-OCR的解决方案:

能识别清晰的文字,对模糊、倾斜、变形的文字,识别率也很高。

而且,它能理解图像的上下文。

比如,它能识别出"这是一个车牌号",然后自动提取车牌号的信息。

它还能识别出"这是一个路牌",然后告诉你这是哪条路。

这对破案来说,太关键了。

场景四:案卷数字化

老案子的卷宗,都是纸质的。

要查阅,得去档案室翻,翻半天。

而且,纸质卷宗,容易损坏、丢失。

DeepSeek-OCR的解决方案:

把纸质卷宗扫描成图片,批量扔给DeepSeek-OCR。

它能把这些图片,转换成结构化的数字档案。

笔录、证据清单、审讯记录,全都变成可检索的文本。

而且,它还能保留原文档的格式,表格还是表格,标题还是标题。

以后查案子,直接搜索关键词,秒出结果。

硬件配置推荐(仅供参考)

以上配置建议基于当前硬件市场价格和DeepSeek-OCR的性能测试数据,实际性能可能因具体使用场景、图片质量、系统优化程度等因素有所差异。建议在正式采购前进行小规模测试验证。

部署步骤

1 系统准备

首先需要对服务器进行基础环境配置。使用apt包管理器更新系统包到最新版本,然后安装必要的编译工具和开发库,包括build-essential、git、wget、curl等基础工具。

接着安装Python 3.10及其相关组件。Ubuntu 22.04的官方仓库包含Python 3.10,直接使用apt安装即可,同时需要安装python3-venv用于创建虚拟环境,以及python3-pip用于包管理。

2 安装CUDA和cuDNN(GPU环境)

对于需要使用GPU加速的部署环境,必须先安装NVIDIA的CUDA Toolkit。建议安装CUDA 12.1或更高版本,以获得更好的性能和兼容性。

从NVIDIA官网下载对应版本的CUDA安装包,执行安装程序。安装过程中会提示选择安装组件,建议全部安装。安装完成后,需要配置环境变量,将CUDA的bin目录添加到PATH,将lib64目录添加到LD_LIBRARY_PATH。配置完成后,使用nvcc和nvidia-smi命令验证安装是否成功。

cuDNN是CUDA的深度学习加速库,需要单独安装。访问NVIDIA开发者网站,注册账号后下载与CUDA版本匹配的cuDNN。下载得到的是一个压缩包,解压后将include和lib64目录中的文件分别复制到CUDA对应的目录下即可。

3 配置Python环境

为了避免污染系统Python环境,建议使用虚拟环境。在项目目录下使用python3.10的venv模块创建一个独立的虚拟环境,命名为venv。

激活虚拟环境后,首先升级pip到最新版本,以确保能正确安装所有依赖包。

接下来安装PyTorch。需要根据CUDA版本选择对应的PyTorch版本。对于CUDA 12.1,从PyTorch官网获取正确的安装命令,安装torch、torchvision和torchaudio三个核心包。

然后安装项目的requirements.txt中列出的所有依赖包。这个过程可能需要几分钟时间,取决于网络速度。

最后安装一些额外的必要包,包括transformers用于模型加载、accelerate用于加速、bitsandbytes用于模型量化等。

4 下载模型文件

DeepSeek-OCR的模型文件约30GB,下载需要较长时间。首先在项目目录下创建models子目录用于存放模型。

如果服务器能够访问Hugging Face,可以使用transformers库的AutoModel类直接下载模型。只需运行简单的Python代码,指定模型名称和缓存目录即可自动下载。

如果无法访问Hugging Face(这在国内环境中比较常见),可以使用ModelScope作为替代。先安装modelscope库,然后使用snapshot_download函数从ModelScope镜像站下载模型。ModelScope的下载速度在国内通常比较稳定。

下载过程中可以使用du命令监控models目录的大小变化,确认下载是否正常进行。

5 功能测试

模型下载完成后,需要进行基本的功能测试。项目自带测试脚本test_ocr.py,可以用于验证部署是否成功。

准备一张测试图片,可以使用项目examples目录中的示例图片,也可以使用实际业务中的图片。运行测试脚本,指定输入图片路径和输出文件路径。

如果部署正确,脚本会在指定位置生成Markdown格式的识别结果。查看输出文件,检查文字识别是否准确,格式是否正确。如果结果符合预期,说明基础部署已经成功。

1 个赞

很受用的方法!很实用!