跳到主要内容
极客日志极客日志面向AI+效率的开发者社区
首页博客GitHub 精选镜像工具UI配色美学隐私政策关于联系
搜索内容 / 工具 / 仓库 / 镜像...⌘K搜索
注册
博客列表
PythonAI算法

DeepSeek-OCR-WebUI 部署指南:支持 7 种识别模式与 GPU 加速

综述由AI生成DeepSeek-OCR-WebUI 部署流程涵盖环境准备、Docker 配置及 GPU 加速设置。文章重点讲解了 Docker 安装、NVIDIA Container Toolkit 配置以及 GPU 加速设置,并演示了文档转 Markdown、通用 OCR 等 7 种识别模式的使用。通过容器化部署,可实现本地化大模型推理,避免网络依赖问题。

接口猎人发布于 2026/4/7更新于 2026/5/2216 浏览
DeepSeek-OCR-WebUI 部署指南:支持 7 种识别模式与 GPU 加速

DeepSeek-OCR-WebUI 部署指南

在之前的调试中我们发现官方推理代码缺乏 UI 界面,输入输出都不够直观。DeepSeek-OCR-WebUI 是一个基于 DeepSeek-OCR 模型的图像识别 Web 应用,相当于给官方推理代码套了一层外衣,提供直观的用户界面和识别功能。

文章配图

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

1. 项目简介

核心亮点

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

7 种识别模式

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

技术架构说明

该项目主要使用 transformers 引擎而非 ,理由如下:

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

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

2. 环境准备

操作系统环境建议为 Ubuntu 24.04.3 Server

安装 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
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://mirror.ccs.tencentyun.com",
    "https://4hxooktm.mirror.aliyuncs.com"
  ],
  "log-driver": "json-file",
  "log-opts": {"max-size": "100m", "max-file": "3"}
}
EOF
sudo systemctl daemon-reload && sudo systemctl restart docker && sudo systemctl enable docker

下载代码

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

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

环境检查

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

文章配图

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/

3. 安装 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.list
sudo 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 官方驱动安装请参考相关文档。

  • 查看是否安装成功
nvidia-ctk --version
  • 设置 docker 默认使用 nvidia-runtime
# 这个命令实际上是把配置写到 daemon.json 文件中
sudo nvidia-ctk runtime configure --runtime=docker
sudo cat /etc/docker/daemon.json
  • 重启 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 版本):说明配置正确。

文章配图

4. 启动服务

cd ~/DeepSeek-OCR-WebUI
# 此时会按照 docker-compose.yml 中的配置 构建镜像
docker compose up -d
# 下面命令只显示了 NAME, STATUS , PORTS 字段
docker compose ps --format "table {{.Name}}\t{{.Status}}\t{{.Ports}}"
NAME STATUS PORTS
deepseek-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/ 文件夹中。

文章配图

文章配图

GPU 监控

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

文章配图

容器管理

# 重启服务(代码已更新后)
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 健康检查

通用 OCR 测试

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

文章配图

文章配图

识别结果:

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

图像描述测试

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

文章配图

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

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.
一幅冬日户外场景:雪花轻柔飘落,背景是清澈的蓝天。前景中站着一位年轻女子,她穿着保暖的冬装——一件黑色外套,袖子上点缀着白色波点;她的手套也与外套的配色相呼应。她留着长长的棕色秀发,披散至肩下,正对着镜头灿烂微笑,同时张开双臂,仿佛要接住或嬉戏于围绕双手飞舞的雪花之中。她身后是几栋覆盖着薄薄新雪的房屋,表明刚刚下过雪。最近处的房子外墙为浅色,屋顶为深色,部分被从画面左侧延伸至右侧的电线杆遮挡。靠近照片底部边缘处,一道由木桩和铁丝组成的围栏横向延伸,将一处庭院与远处区域分隔开来。上方纵横交错的电线进一步增强了画面的纵深感,其透视线条引向远方隐约可见的建筑,而整个画面的焦点则集中在雪景中这位神情愉悦的中心人物身上,营造出宁静祥和的冬日氛围。

定位查找

文章配图

目录

  1. DeepSeek-OCR-WebUI 部署指南
  2. 1. 项目简介
  3. 核心亮点
  4. 7 种识别模式
  5. 技术架构说明
  6. 2. 环境准备
  7. 安装 Docker
  8. 1. 更新软件包索引
  9. 2. 安装必要的软件包,以允许 apt 通过 HTTPS 使用仓库
  10. 3. 添加 Docker 的官方 GPG 密钥
  11. 4. 添加 Docker 的稳定仓库
  12. 5. 再次更新软件包索引
  13. 6. 安装最新版本的 Docker CE(社区版)
  14. 7. 验证 Docker 是否安装成功并运行
  15. 8. 非 root 用户也能运行 Docker
  16. 执行后请重新登录 SSH 连接
  17. 9. 镜像加速配置
  18. 下载的 docker 镜像将会被存放到 /data/docker 目录中
  19. 下载代码
  20. 环境检查
  21. VS Code 连接项目代码
  22. 3. 安装 NVIDIA Container Toolkit
  23. 1: 确认已安装 NVIDIA 驱动
  24. 如果命令成功输出 GPU 信息(驱动版本、GPU 型号等),说明驱动已装好。
  25. 如果提示命令未找到或驱动未加载,请先安装 NVIDIA 官方驱动。
  26. 2. 安装 NVIDIA Container Toolkit
  27. 安装依赖工具
  28. 添加 NVIDIA Container Toolkit 的 GPG 密钥和软件源
  29. 从 NVIDIA 官方地址下载 GPG 公钥,下载 NVIDIA 提供的 APT 源列表文件
  30. 启用 experimental 软件源(可选)
  31. 设置环境变量 NVIDIACONTAINERTOOLKIT_VERSION=1.18.0-1(方便统一指定版本)。
  32. libnvidia-container1:底层库,用于在容器内设置 NVIDIA 驱动环境。
  33. libnvidia-container-tools:配套工具(如 nvidia-container-cli)。
  34. nvidia-container-toolkit-base:基础运行时钩子(hook)配置。
  35. nvidia-container-toolkit:集成到 Docker 的 CLI 工具,提供 --gpus 支持。
  36. 这个命令实际上是把配置写到 daemon.json 文件中
  37. 4. 启动服务
  38. 此时会按照 docker-compose.yml 中的配置 构建镜像
  39. 下面命令只显示了 NAME, STATUS , PORTS 字段
  40. 查看 docker 日志
  41. GPU 监控
  42. 实时监控 GPU 使用
  43. 查看当前 GPU 使用
  44. 容器管理
  45. 重启服务(代码已更新后)
  46. 完全重启(重新加载模型)
  47. 停止服务
  48. 重新构建并启动
  49. 查看资源使用
  50. 5. 访问 UI 页面
  51. 通用 OCR 测试
  52. 图像描述测试
  53. 定位查找
  • 💰 8折买阿里云服务器限时8折了解详情
  • Magick API 一键接入全球大模型注册送1000万token查看
  • 🤖 一键搭建Deepseek满血版了解详情
  • 一键打造专属AI 智能体了解详情
极客日志微信公众号二维码

微信扫一扫,关注极客日志

微信公众号「极客日志V2」,在微信中扫描左侧二维码关注。展示文案:极客日志V2 zeeklog

更多推荐文章

查看全部
  • 前端框架选型指南:React、Vue 与 Angular 深度对比
  • Python 常量折叠机制解析与性能优化
  • OpenClaw 对接 QQ 机器人教程:本地与云端部署方案
  • AI 提示词工程:原理、策略与实战指南
  • Web IM 聊天信息加密的三种实现方案
  • 基于 Neeshck-Z-lmage_LYX_v2 镜像构建 AI 绘画 API 服务
  • C++ 实战:构建基于对话的搜索引擎
  • 基于 SSM 和 Vue 的在线投稿系统设计与实现
  • HarmonyOS 6.0 Camera Kit 微距状态监听详解
  • MCP 协议详解:与 Function Call 的区别及实战
  • MCP 协议详解:与 Function Call 的区别及 Python 实战
  • MCP 协议详解:与 Function Call 的区别及使用方式
  • Swin Transformer 架构解析及 UCI-HAR 行为识别实战
  • Java 实现 Word 与 TXT 文档互相转换
  • 基于 AI 辅助的在线图书借阅平台设计与实现
  • Spatial Joy 2025 全球 AR&AI 赛事参赛指南:资源、玩法与避坑
  • 人工智能时代的产品经理:挑战、机遇与转型路径
  • Flutter 三方库 whatsapp_bot_flutter 在鸿蒙系统下的适配与实战指南
  • 基于 Flask 的酒店管理系统开发指南(PyCharm 环境)
  • 基于 RetinaFace 与 CurricularFace 的多模态身份验证系统实现

相关免费在线工具

  • 加密/解密文本

    使用加密算法(如AES、TripleDES、Rabbit或RC4)加密和解密文本明文。 在线工具,加密/解密文本在线工具,online

  • RSA密钥对生成器

    生成新的随机RSA私钥和公钥pem证书。 在线工具,RSA密钥对生成器在线工具,online

  • Mermaid 预览与可视化编辑

    基于 Mermaid.js 实时预览流程图、时序图等图表,支持源码编辑与即时渲染。 在线工具,Mermaid 预览与可视化编辑在线工具,online

  • 随机西班牙地址生成器

    随机生成西班牙地址(支持马德里、加泰罗尼亚、安达卢西亚、瓦伦西亚筛选),支持数量快捷选择、显示全部与下载。 在线工具,随机西班牙地址生成器在线工具,online

  • Gemini 图片去水印

    基于开源反向 Alpha 混合算法去除 Gemini/Nano Banana 图片水印,支持批量处理与下载。 在线工具,Gemini 图片去水印在线工具,online

  • curl 转代码

    解析常见 curl 参数并生成 fetch、axios、PHP curl 或 Python requests 示例代码。 在线工具,curl 转代码在线工具,online