DeepSeek-OCR-WebUI部署指南:7种识别模式,GPU加速大模型应用!

DeepSeek-OCR-WebUI部署指南:7种识别模式,GPU加速大模型应用!

前一章调试了官方推理代码,官方代码并没有UI界面,输入输出都不直观。DeepSeek-OCR-WebUI 是一个基于DeepSeek-OCR 模型的图像识别web应用,提供直观的用户界面和识别功能。

相当于给官方的推理代码套了一层外衣。

仓库地址:https://github.com/neosun100/DeepSeek-OCR-WebUI

1.DeepSeek-OCR-WebUI介绍

1.1核心亮点

  • • 🎯 7 种识别模式 - 文档、OCR、图表、查找、自定义等
  • • 🖼️ 边界框可视化 - Find 模式自动标注位置
  • • 📦 批量处理 - 支持多张图片逐一识别
  • • 📄 PDF 支持 - 上传 PDF 文件,自动转换为图片
  • • 🎨 现代化 UI - 炫酷的渐变背景和动画效果
  • • 🌐 多语言支持 - 简体中文、繁体中文、英语、日语
  • • 🍎 Apple Silicon 支持 - Mac M1/M2/M3/M4 原生 MPS 加速
  • • 🐳 Docker 部署 - 一键启动,开箱即用
  • • ⚡ GPU 加速 - 基于 NVIDIA GPU 的高性能推理
  • • 🌏 ModelScope 自动切换 - HuggingFace 不可用时自动切换

1.2 功能特性

7 种识别模式

模式图标说明适用场景
文档转Markdown📄保留格式和布局合同、论文、报告
通用OCR📝提取所有可见文字图片文字提取
纯文本提取📋纯文本不保留格式简单文本识别
图表解析📊识别图表和公式数据图表、数学公式
图像描述🖼️生成详细描述图片理解、无障碍
查找定位🔍查找并标注位置发票字段定位
自定义提示自定义识别需求灵活的识别任务

📄 PDF 支持(v3.2 新功能)

DeepSeek-OCR-WebUI 现已支持 PDF 文件上传!上传 PDF 文件后,系统会自动将每一页转换为独立的图片,并保持后续的所有处理逻辑(OCR识别、批量处理等)。

📈 技术架构

  • 引擎: transformers(稳定可靠)
  • 模型: deepseek-ai/DeepSeek-OCR
  • GPU: NVIDIA L40S (自动检测)
  • 推理模式: bfloat16
  • 批处理: 逐一顺序处理

作者使用的是 transformers而非 vLLM, 理由是:

特性transformersvLLM
稳定性⭐⭐⭐⭐⭐⭐⭐⭐
兼容性⭐⭐⭐⭐⭐⭐⭐⭐
速度⭐⭐⭐⭐⭐⭐⭐⭐⭐
功能支持⭐⭐⭐⭐⭐⭐⭐⭐⭐
部署难度⭐⭐⭐⭐⭐⭐⭐

作者结论:transformers 引擎更稳定,兼容性更好,非常适合生产环境。

2.环境准备(Docker)/下载代码

操作系统环境为环境为 ubuntu-24.04.3 Server

2.1安装Docker

# 1. 更新软件包索引:sudo apt-get update# 2. 安装必要的软件包,以允许apt通过HTTPS使用仓库:sudo apt-get install apt-transport-https ca-certificates curl software-properties-common# 3. 添加Docker的官方GPG密钥:curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -# 4. 添加Docker的稳定仓库sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"# 5. 再次更新软件包索引sudo apt-get update# 6. 安装最新版本的Docker CE(社区版)sudo apt-get install docker-ce# 7. 验证Docker是否安装成功并运行:sudo systemctl status docker# 查看docker版本sudo docker --version# 8. 非root用户也能运行Docker# *********这句代码执行后,请重新登录SSH 连接*********sudo usermod -aG docker ${USER}# 9. 镜像加速 下载的docker镜像将会被存放到 /data/docker 目录中sudo tee /etc/docker/daemon.json <<-'EOF'{ "data-root": "/data/docker", "exec-opts":["native.cgroupdriver=systemd"], "registry-mirrors": ["https://docker.1ms.run","https://dockerpull.org","https://cjie.eu.org","https://docker.1panel.dev","https://docker.foreverlink.love","https://dytt.online","https://func.ink","https://lispy.org","https://docker.xiaogenban1993.com","https://docker.xn--6oq72ry9d5zx.cn","https://docker.zhai.cm","https://docker.5z5f.com","https://a.ussh.net","https://docker.cloudlayer.icu","https://docker.linkedbus.com","https://hub.littlediary.cn","https://hub.crdz.gq","https://docker.unsee.tech","https://docker.kejilion.pro","https://registry.dockermirror.com","https://hub.rat.dev","https://dhub.kubesre.xyz","https://docker.nastool.de","https://docker.udayun.com","https://docker.rainbond.cc","https://hub.geekery.cn","https://docker.1panelproxy.com","https://docker.m.daocloud.io","https://mirror.ccs.tencentyun.com","https://4hxooktm.mirror.aliyuncs.com","https://ginger20240704.asia","https://lynn520.xyz","https://docker.mrxn.net","https://dockerhub.icu","https://hub.rat.dev","https://docker.wanpeng.top","https://doublezonline.cloud","https://atomhub.openatom.cn","https://docker.fxxk.dedyn.io","https://hub.geekery.cn"], "log-driver":"json-file", "log-opts": {"max-size":"100m", "max-file":"3"} }EOFsudo systemctl daemon-reload && sudo systemctl restart docker && sudo systemctl enable docker

2.2下载代码

源代码中已经为我们编写好了docker-compose.yml文件

cd ~git clone https://github.com/neosun100/DeepSeek-OCR-WebUI.gitcd DeepSeek-OCR-WebUI

2.3环境检查

该项目要求GPU驱动版本必须大于等于580.82

2.4 VS Code 连接项目代码

下载到的源代码需要修改一下,我们用vs code进行连接。

项目提供了 Dockerfile, 这样我们可以在本地服务器上构建docker 镜像,但是在构建docker镜像之前,我们需要修改一下Dockerfile,添加一些依赖和 pip 国内镜像加速

添加这段代码:

RUN apt-get update && apt-get install -y \ libgl1 \ libglib2.0-0 \ pkg-config \ python3-dev \ build-essential \ && rm -rf /var/lib/apt/lists/* # 添加pip国内镜像加速RUN pip config set global.index-url https://mirrors.huaweicloud.com/repository/pypi/simple/ 

4.安装 NVIDIA Container Toolkit[重要]

Docker 默认不支持直接访问 GPU。要让容器使用 NVIDIA GPU,必须安装并配置 NVIDIA Container Toolkit(以前叫 nvidia-docker2)。如果没有正确安装或配置,当你在 docker run 命令中使用 --gpus all 或在 docker-compose.yml 中指定 deploy.resources.reservations.devices 等 GPU 相关选项时,Docker 就无法找到名为 "nvidia" 的设备驱动,从而报错。

官方文档: https://docs.nvidia.com/datacenter/cloud-native/container-toolkit/latest/install-guide.html#installing-with-apt

# 1:确认已安装 NVIDIA 驱动# 如果命令成功输出 GPU 信息(驱动版本、GPU 型号等),说明驱动已装好。# 如果提示命令未找到或驱动未加载,请先安装 NVIDIA 官方驱动。nvidia-smi# 2.安装 NVIDIA Container Toolkit# 安装依赖工具sudo apt-get update && sudo apt-get install -y --no-install-recommends curl gnupg2# 添加 NVIDIA Container Toolkit 的 GPG 密钥和软件源# 从 NVIDIA 官方地址下载 GPG 公钥, 下载 NVIDIA 提供的 APT 源列表文件curl -fsSL https://nvidia.github.io/libnvidia-container/gpgkey | sudo gpg --dearmor -o /usr/share/keyrings/nvidia-container-toolkit-keyring.gpg \ && curl -s -L https://nvidia.github.io/libnvidia-container/stable/deb/nvidia-container-toolkit.list | \ sed 's#deb https://#deb [signed-by=/usr/share/keyrings/nvidia-container-toolkit-keyring.gpg] https://#g' | \ sudo tee /etc/apt/sources.list.d/nvidia-container-toolkit.list# 启用 experimental 软件源(可选)sudo sed -i -e '/experimental/ s/^#//g' /etc/apt/sources.list.d/nvidia-container-toolkit.listsudo apt-get update# 设置环境变量 NVIDIA_CONTAINER_TOOLKIT_VERSION=1.18.0-1(方便统一指定版本)。# libnvidia-container1:底层库,用于在容器内设置 NVIDIA 驱动环境。# libnvidia-container-tools:配套工具(如 nvidia-container-cli)。# nvidia-container-toolkit-base:基础运行时钩子(hook)配置。# nvidia-container-toolkit:集成到 Docker 的 CLI 工具,提供 --gpus 支持。export NVIDIA_CONTAINER_TOOLKIT_VERSION=1.18.0-1 sudo apt-get install -y \ nvidia-container-toolkit=${NVIDIA_CONTAINER_TOOLKIT_VERSION} \ nvidia-container-toolkit-base=${NVIDIA_CONTAINER_TOOLKIT_VERSION} \ libnvidia-container-tools=${NVIDIA_CONTAINER_TOOLKIT_VERSION} \ libnvidia-container1=${NVIDIA_CONTAINER_TOOLKIT_VERSION} 
NVIDIA 官方驱动 安装请参考 我前面的文章:《DeepSeek-OCR实战(01):基础运行环境搭建-Ubuntu》
  • • 查看是否安装成功
nvidia-ctk --versionNVIDIA Container Toolkit CLI version 1.18.0commit: f8daa5e26de9fd7eb79259040b6dd5a52060048c 
  • • 设置docker默认使用nvidia-runtime
# 这个命令实际上是把配置写到 daemon.json文件中sudo nvidia-ctk runtime configure --runtime=dockersudo cat /etc/docker/daemon.json{ ... "runtimes": { "nvidia": { "args": [], "path": "nvidia-container-runtime" } }} 
  • • 重启docker
sudo systemctl restart docker 
  • • 测试容器内是否可以使用GPU
docker run --rm --gpus all nvidia/cuda:13.0.1-runtime-ubuntu22.04 nvidia-smi 
要用NVIDIA官方发布的镜像进行测试,因为内置了 **nvidia-smi** 工具

输出类似以下内容(显示 GPU 型号、驱动版本、CUDA 版本):说明配置正确

3.启动服务

cd ~/DeepSeek-OCR-WebUI# 此时会按照docker-comoose.yml 中的配置 构建镜像docker compose up -d # 下面命令只显示了 NAME, STATUS , PORTS 字段docker compose ps --format "table {{.Name}}\t{{.Status}}\t{{.Ports}}"NAME STATUS PORTSdeepseek-ocr-webui Up 2 minutes (health: starting) 6006/tcp, 8888/tcp, 0.0.0.0:8001->8001/tcp# 查看docker日志docker logs -f deepseek-ocr-webui 
首次启动会很久,因为要下载各种依赖。 服务启动的时候,会到 HUGGINGFACE 和 ModelScope 去加载模型。 如果没有魔法上网,可能 HUGGINGFACE 的模型无法加载到。

所以首次启动,要等待模型下载完毕。模型文件被下载到了
~/DeepSeek-OCR-WebUI/models/ 文件夹中

3.1GPU监控:

# 实时监控 GPU 使用watch -n 1 nvidia-smi# 查看当前 GPU 使用nvidia-smi 

3.2容器管理

# 重启服务(代码已更新后)docker restart deepseek-ocr-webui# 完全重启(重新加载模型)docker compose restart# 停止服务docker compose down# 重新构建并启动docker compose up -d --build# 查看资源使用docker stats deepseek-ocr-webui 

5.访问UI页面

  • • http://192.168.6.133:8001/ UI界面
  • • http://192.168.6.133:8001/docs API文档
  • • http://192.168.6.133:8001/health 健康检查

5.1 通用OCR测试

选中通用OCR,然后上传一张图片。

识别结果:

============================================================图片 1: fCOdj4aJI.png============================================================慢慢来,你又不差你所有的压力,都是因为你太想要了,你所有的痛苦,都是因为你太较真了。有些事,不能尽你心意,就是在提醒了该转变了。如果事事都如意,那就不叫生活了,所以睡前原谅一切,醒来不问过证,珍惜所有的不期而遇,看游所有的不详而别。人生一站有一站的风景,一岁有一岁的味道,你的年龄应该成为你生命的勋章,而不是你伤感的理由。生活嘛,慢慢来,你又不差。 

5.2 图像描述测试

选中“图像描述”,上传一张从互联网上找到的图片:

识别结果,目前输出的是英文(中文是我翻译过来的文字):

An outdoor winter scene where snow is falling gently against a clear blue sky backdrop. In the foreground stands a young woman dressed warmly for cold weather; she wears a black coat adorned with white polka dots on her sleeves and gloves that match her coat's color scheme. Her long brown hair cascades down past her shoulders as she smiles broadly at the camera while extending both arms outward to catch or play with the swirling snowflakes around her hands. Behind her are several houses covered lightly by fresh snow, indicating recent snowfall. The closest house has light-colored siding and dark roofing, partially obscured behind utility poles running vertically across the frame from left to right. A fence made up of wooden posts connected by wire stretches horizontally nearer to the bottom edge of the photo, separating what appears to be someone’s yard from another area beyond it. Power lines crisscross above everything else, adding depth to the composition through perspective lines leading towards distant structures barely visible due to the focus being primarily on the central figure amidst the serene wintry setting.一幅冬日户外场景:雪花轻柔飘落,背景是清澈的蓝天。前景中站着一位年轻女子,她穿着保暖的冬装——一件黑色外套,袖子上点缀着白色波点;她的手套也与外套的配色相呼应。她留着长长的棕色秀发,披散至肩下,正对着镜头灿烂微笑,同时张开双臂,仿佛要接住或嬉戏于围绕双手飞舞的雪花之中。她身后是几栋覆盖着薄薄新雪的房屋,表明刚刚下过雪。最近处的房子外墙为浅色,屋顶为深色,部分被从画面左侧延伸至右侧的电线杆遮挡。靠近照片底部边缘处,一道由木桩和铁丝组成的围栏横向延伸,将一处庭院与远处区域分隔开来。上方纵横交错的电线进一步增强了画面的纵深感,其透视线条引向远方隐约可见的建筑,而整个画面的焦点则集中在雪景中这位神情愉悦的中心人物身上,营造出宁静祥和的冬日氛围。 

5.3 定位查找

如何系统的学习大模型 AI ?

由于新岗位的生产效率,要优于被取代岗位的生产效率,所以实际上整个社会的生产效率是提升的。

但是具体到个人,只能说是:

“最先掌握AI的人,将会比较晚掌握AI的人有竞争优势”。

这句话,放在计算机、互联网、移动互联网的开局时期,都是一样的道理。

我在一线互联网企业工作十余年里,指导过不少同行后辈。帮助很多人得到了学习和成长。

我意识到有很多经验和知识值得分享给大家,也可以通过我们的能力和经验解答大家在人工智能学习中的很多困惑,所以在工作繁忙的情况下还是坚持各种整理和分享。但苦于知识传播途径有限,很多互联网行业朋友无法获得正确的资料得到学习提升,故此将并将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。

一直在更新,更多的大模型学习和面试资料已经上传带到ZEEKLOG的官方了,有需要的朋友可以扫描下方二维码免费领取【保证100%免费】👇👇

在这里插入图片描述

01.大模型风口已至:月薪30K+的AI岗正在批量诞生

在这里插入图片描述

2025年大模型应用呈现爆发式增长,根据工信部最新数据:

国内大模型相关岗位缺口达47万

初级工程师平均薪资28K(数据来源:BOSS直聘报告)

70%企业存在"能用模型不会调优"的痛点

真实案例:某二本机械专业学员,通过4个月系统学习,成功拿到某AI医疗公司大模型优化岗offer,薪资直接翻3倍!

02.大模型 AI 学习和面试资料

1️⃣ 提示词工程:把ChatGPT从玩具变成生产工具
2️⃣ RAG系统:让大模型精准输出行业知识
3️⃣ 智能体开发:用AutoGPT打造24小时数字员工

📦熬了三个大夜整理的《AI进化工具包》送你:
✔️ 大厂内部LLM落地手册(含58个真实案例)
✔️ 提示词设计模板库(覆盖12大应用场景)
✔️ 私藏学习路径图(0基础到项目实战仅需90天)

在这里插入图片描述


在这里插入图片描述


在这里插入图片描述
在这里插入图片描述


在这里插入图片描述


在这里插入图片描述

第一阶段(10天):初阶应用

该阶段让大家对大模型 AI有一个最前沿的认识,对大模型 AI 的理解超过 95% 的人,可以在相关讨论时发表高级、不跟风、又接地气的见解,别人只会和 AI 聊天,而你能调教 AI,并能用代码将大模型和业务衔接。

  • 大模型 AI 能干什么?
  • 大模型是怎样获得「智能」的?
  • 用好 AI 的核心心法
  • 大模型应用业务架构
  • 大模型应用技术架构
  • 代码示例:向 GPT-3.5 灌入新知识
  • 提示工程的意义和核心思想
  • Prompt 典型构成
  • 指令调优方法论
  • 思维链和思维树
  • Prompt 攻击和防范

第二阶段(30天):高阶应用

该阶段我们正式进入大模型 AI 进阶实战学习,学会构造私有知识库,扩展 AI 的能力。快速开发一个完整的基于 agent 对话机器人。掌握功能最强的大模型开发框架,抓住最新的技术进展,适合 Python 和 JavaScript 程序员。

  • 为什么要做 RAG
  • 搭建一个简单的 ChatPDF
  • 检索的基础概念
  • 什么是向量表示(Embeddings)
  • 向量数据库与向量检索
  • 基于向量检索的 RAG
  • 搭建 RAG 系统的扩展知识
  • 混合检索与 RAG-Fusion 简介
  • 向量模型本地部署

第三阶段(30天):模型训练

恭喜你,如果学到这里,你基本可以找到一份大模型 AI相关的工作,自己也能训练 GPT 了!通过微调,训练自己的垂直大模型,能独立训练开源多模态大模型,掌握更多技术方案。

到此为止,大概2个月的时间。你已经成为了一名“AI小子”。那么你还想往下探索吗?

  • 为什么要做 RAG
  • 什么是模型
  • 什么是模型训练
  • 求解器 & 损失函数简介
  • 小实验2:手写一个简单的神经网络并训练它
  • 什么是训练/预训练/微调/轻量化微调
  • Transformer结构简介
  • 轻量化微调
  • 实验数据集的构建

第四阶段(20天):商业闭环

对全球大模型从性能、吞吐量、成本等方面有一定的认知,可以在云端和本地等多种环境下部署大模型,找到适合自己的项目/创业方向,做一名被 AI 武装的产品经理。

  • 硬件选型
  • 带你了解全球大模型
  • 使用国产大模型服务
  • 搭建 OpenAI 代理
  • 热身:基于阿里云 PAI 部署 Stable Diffusion
  • 在本地计算机运行大模型
  • 大模型的私有化部署
  • 基于 vLLM 部署大模型
  • 案例:如何优雅地在阿里云私有部署开源大模型
  • 部署一套开源 LLM 项目
  • 内容安全
  • 互联网信息服务算法备案

学习是一个过程,只要学习就会有挑战。天道酬勤,你越努力,就会成为越优秀的自己。

如果你能在15天内完成所有的任务,那你堪称天才。然而,如果你能完成 60-70% 的内容,你就已经开始具备成为一名大模型 AI 的正确特征了。

这份完整版的大模型 AI 学习资料已经上传ZEEKLOG,朋友们如果需要可以微信扫描下方ZEEKLOG官方认证二维码免费领取【保证100%免费
在这里插入图片描述

Read more

前端如何调用后端接口(HTML + JS & Vue )

本文将以 Go 语言后端 为例,详细介绍: * Go 后端接口如何设计 * 接口的请求 / 响应结构 * 前端如何用 HTML + JS 调用 Go 接口 * 前端如何用 Vue 工程模式 调用 Go 接口 * 两种方式的区别与适用场景 一、整体架构说明 前后端分离架构 浏览器   |   | HTTP 请求(JSON)   ↓ 前端(HTML / Vue)   |   | HTTP 请求   ↓ Go 后端(API)   |   | JSON 响应   ↓ 前端渲染页面 * 前端:负责 页面 + 交互 * 后端(Go):负责 业务逻辑 + 数据处理 * 通信方式:

YOLO可视化界面,目标检测前端QT页面。

YOLO可视化界面,目标检测前端QT页面。

使用PySide6/QT实现YOLOv8可视化GUI页面 在人工智能和计算机视觉领域,YOLO(You Only Look Once)是一种广泛使用的实时目标检测算法。为了直观地展示YOLO算法的检测效果,我们可以使用Python中的PySide6库来创建一个简单的GUI应用程序,将检测结果实时可视化。 本文将指导你如何使用PySide6实现这一功能。 1. 原视频/图片区:上半部分左边区域为原视频/图片展示区; 2. 检测区:上半部分右边区域为检测结果输出展示区; 3. 日志文本框:打印输出操作日志; 4. 加载模型:从本地选择模型pt文件进行加载; 5. 置信度阈值:自定义检测区的置信度阈值; 6. 文件上传:选择目标文件; 7. 开始检测:执行检测程序; 8. 停止:终止检测程序; 一、工具介绍 1、PySide6 PySide6是一款功能强大的GUI(图形用户界面)开发框架,它允许Python开发者使用Qt库的功能来构建跨平台的桌面应用程序。PySide6作为Qt的Python绑定版本,继承了Qt的跨平台特性,支持在Windows、

双剑破天门:攻防世界Web题解之独孤九剑心法(三)

双剑破天门:攻防世界Web题解之独孤九剑心法(三)

免责声明:用户因使用公众号内容而产生的任何行为和后果,由用户自行承担责任。本公众号不承担因用户误解、不当使用等导致的法律责任 **本文以攻防世界部分题为例进行演示,后续会对攻防世界大部分的web题目进行演示,如果你感兴趣请关注** 目录 一:攻防世界web-Fileinclude 二:攻防世界web-Easyupload 三:总结 一:攻防世界web-Fileinclude 打开为如下图所示 Flag在flag.php 我们查看源码发现如下 代码审计如下 <?php // 检查是否开启了错误显示,如果没有,则开启 if( !ini_get('display_errors') ) { ini_set('display_errors', 'On'); } // 设置错误报告级别为显示所有错误 error_reporting(E_ALL); // 从 cookie

百度天气:空气质量WebGIS可视化的创新实践 —— 以湖南省为例

百度天气:空气质量WebGIS可视化的创新实践 —— 以湖南省为例

目录 前言 一、空气质量展示需求 1、满城火辣味周末 2、空气质量状况 二、WebGIS展示百度天气 1、关于空气质量等级 2、数据查询实现 3、Leaflet集成百度空气质量 三、成果展示 1、整体展示 2、中、重污染地区 3、低、优质地区 4、污染严重前10区县 5、质量优前10区县 四、总结 前言         在当今数字化时代,地理信息系统(GIS)技术与网络技术的深度融合,催生了 WebGIS 这一强大的信息展示与分析平台。它能够将复杂的空间数据以直观、交互的方式呈现给用户,极大地提高了信息的可理解性和可用性。空气质量作为与人们生活息息相关的重要环境指标,其数据的可视化呈现对于公众健康、环境管理和决策支持都具有极为重要的意义。基于百度天气开展空气质量 WebGIS 可视化实践,正是这一领域创新探索的生动体现。