
DeepSeek-OCR 是 DeepSeek 团队开源的 LLM-centric OCR 模型:从“大语言模型主导”的视角来重构 OCR,把文档图像压缩成对语言模型最友好的视觉 token 序列,然后用 LLM 去完成结构化理解与生成。官方仓库 2025-10-20 首次公开,10-23 宣布被 vLLM 上游原生支持,这也是后来社区 WebUI 迅速冒头的关键原因。(GitHub[1])
从能力边界看,官方 README 给出了多种 原生/动态分辨率模式(如 640×640、1024×1024、以及“Gundam:n×640×640 + 1×1024×1024”混合模式),并给出若干 提示词示例,涵盖“自由 OCR”“转 Markdown”“无版面重排”“图表解析”“区域定位(ref 标注)”等常见场景。(GitHub[2])
另外,DeepSeek-OCR 在 vLLM 推理路径下提供了现成脚本:图片流式输出、PDF 高并发(A100-40G 约 2500 tokens/s)、评测批处理,也示例了如何用 vLLM 夜版 API 直接加载 deepseek-ai/DeepSeek-OCR 并设置 n-gram 处理策略,属于“装好就能跑”的级别。(GitHub[3])
小结:DeepSeek-OCR 把“视觉→语言”做了非常干净的接口,既能跑 Transformers,又被 vLLM 原生接住,因此用它做产品化 WebUI 的门槛很低,生态也就很快繁荣起来。(GitHub[4])
官方建议环境为 CUDA 11.8 + PyTorch 2.6.0,创建 Conda 环境后安装 PyTorch、vLLM(示例提供了 vllm-0.8.5+cu118 轮子)与依赖,并安装 flash-attn==2.7.3。这一套依赖组合已经在官方说明中写清楚,避免了多数兼容坑。(GitHub[5])
关键命令(节选)
•conda create -n deepseek-ocr python=3.12.9 -y && conda activate deepseek-ocr•pip install torch==2.6.0 torchvision==0.21.0 torchaudio==2.6.0 --index-url https://download.pytorch.org/whl/cu118•pip install vllm-0.8.5+cu118-...whl、pip install -r requirements.txt、pip install flash-attn==2.7.3 --no-build-isolation (GitHub[6])
官方仓库给了两种用法:
•脚本模式:run_dpsk_ocr_image.py(流式图片)、run_dpsk_ocr_pdf.py(PDF 并发)、run_dpsk_ocr_eval_batch.py(基准评测)。(GitHub[7])•API 模式:用 from vllm import LLM, SamplingParams 直接实例化模型,配置 logits_processors=[NGramPerReqLogitsProcessor]、max_tokens=8192 等参数,然后把 <image> + PIL.Image 组成批量输入,llm.generate() 一把拿结果。(GitHub[8])
贴士:官方还给出“直到 vLLM v0.11.1 发布前,用 nightly 构建”的安装方式(
pip install -U vllm --pre --extra-index-url https://wheels.vllm.ai/nightly),可获得更好的多模态支持体验。 (GitHub[9])
如果你更偏爱 HF 生态,也能用 AutoTokenizer/AutoModel 加载 deepseek-ai/DeepSeek-OCR,把 <image> 放进 prompt(如 "<image>\n<|grounding|>Convert the document to markdown."),再调用模型自带的 infer(...) 完成端到端推理。(GitHub[10])
官方给了不少例子,下面列出最“带货”的几条,拿来就能用:
•文档转 Markdown:<image>\n<|grounding|>Convert the document to markdown.•普通 OCR:<image>\nFree OCR.•不改版面:<image>\nWithout layouts: Free OCR.(无版面重排)•图表解析:<image>\nParse the figure.•区域定位/检索:<image>\nLocate <|ref|>xxxx<|/ref|> in the image. (GitHub[11])
下面我们对你给出的 3 个开源 WebUI 做一个“从部署门槛→功能点→适合谁”的系统对比。
neosun100/DeepSeek-OCR-WebUI:上手最顺滑的“现成面板”
•定位:面向非技术用户的“即开即用” WebUI,强调现代化界面、模式丰富、批处理与实时日志、响应式布局等使用体验。官方 issues/简介中明确提到“Ready-to-use Web UI|Modern Interface|7 种识别模式|批处理|实时日志|全响应式”。(GitHub[12])•功能亮点:•多模式识别(7 种模式,适配不同类型的图像/文档场景)。•批量任务与进度管理,适合处理“整批扫描件/PDF”。•实时日志与交互式反馈,便于观察推理过程和排错。•界面响应式,移动端/小屏也能较好使用。(GitHub[13])•部署与注意点:•该仓库的中文说明页 README_zh-CN.md 描述了使用方式,但仓库近期 issues 里也能看到用户询问 PDF 上传、Hugging Face / ModelScope 切换、Apple Silicon 支持、5090 适配 等问题,说明作者在持续完善兼容性;选用时关注显卡与驱动版本。(GitHub[14])•适合谁:•产品/运营/文档团队需要“低门槛、能批量、能看日志”的多场景 Web 端面板;•不想自己写前后端,只想“有个顺手的控制台”快速落地。
一句话点评:模式多、交互好,做“团队内通用的 OCR 工作台”很合适。(GitHub[15])
rdumasia303/deepseek_ocr_app:React + FastAPI,Docker 一键起•定位:更工程化、结构清晰的全栈应用,前端 React 18 + Vite + Tailwind + Framer Motion,后端 FastAPI,Docker Compose 一键拉起。README 明确“首启会下载 ~5–10GB 模型”,并提供 .env 配置范式。(GitHub[16])•快速启动(官方文档节选): 1)git clone & cp .env.example .env; 2)docker compose up --build; 3)访问前端 http://localhost:3000,API 文档 http://localhost:8000/docs。 (GitHub[17])•核心能力(4 大工作模式):•Plain OCR:纯文本提取;•Describe:智能图像描述;•Find:关键词查找并回传框选坐标;•Freeform:自定义 Prompt 做“任务型 OCR”。 同时 UI 层支持多框高亮、坐标缩放到像素级、HTML/Markdown 渲染、**拖拽上传(默认 100MB)**等。(GitHub[18])•可配置项(.env):•MODEL_NAME=deepseek-ai/DeepSeek-OCR、HF_HOME=/models;•BASE_SIZE/IMAGE_SIZE/CROP_MODE 可直接影响吞吐与显存;•前后端端口、上传大小、Nginx 反代等一应俱全。(GitHub[19])•硬件/驱动提示:•README 还分享了 RTX 5090 / Blackwell 在 Ubuntu 24.04 的驱动经验(建议 open driver 570/580、内核 6.11+、BIOS 开 Resizable BAR)。对新卡用户很有参考价值。(GitHub[20])•适合谁:•需要 Docker 化、一键部署,并希望能二次开发或接入企业网关/日志/鉴权体系的工程团队;•想要“可维护”的全栈脚手架,用来做内部服务或 SaaS 雏形。
一句话点评:工程化最好、部署最省心,上容器就能跑,还留足了二开的“地基”。(GitHub[21])
fufankeji/DeepSeek-OCR-Web:“开箱即用”的文档解析 Studio
•定位:一个带 一键脚本 的“文档解析工作室(Web Studio)”,前端 React、后端 FastAPI。强调 PDF/图片 多格式输入、表格/图表解析、版面分析、多语种、专业图样(CAD/流程图/装饰图)、可逆图表数据解析、Markdown 转换 等“上层产品能力”。(GitHub[22])•启动方式:•方法一:脚本一键起:bash install.sh(拉模型+装依赖)→ bash start.sh(起服务);•方法二:手动:从 ModelScope/HF 下权重、按官方 DeepSeek-OCR 步骤装 PyTorch/vLLM/flash-attn,再 uvicorn 起后端、npm run dev 起前端。(GitHub[23])•系统要求与限制:•要求 Linux;•显存 ≥7GB(大图/多页 PDF 建议 16–24GB);•暂不兼容 RTX 50 系列(需要换卡或等适配);•Python 3.10–3.12;CUDA 11.8 或 12.1/12.2(与驱动匹配);需要安装对应 CUDA 的 PyTorch 预编译包。(GitHub[24])•适合谁:•想要“更偏产品化”的体验:例如直接做 PDF→Markdown、表格/图表抽取、专业图纸理解,而不想自己写一堆上层逻辑的用户/团队;•对“Linux 部署 + 一键脚本”接受度高的研发或数分团队。
一句话点评:上层场景做得更满,一键脚本友好,但系统/显卡的限制要提前确认。(GitHub[25])
•追求“拿来就用、模式多、交互好” → 选 neosun100/DeepSeek-OCR-WebUI。适合团队公用的 OCR 工作台,批处理 + 实时日志很实用;但你可能需要留意 PDF 上传与不同 GPU/驱动的兼容问题,按 issues 指引迭代即可。(GitHub[26])•追求“工程化、容器化、易二开” → 选 rdumasia303/deepseek_ocr_app。Docker Compose 一键跑通、前后端技术栈主流,.env 可控项丰富,适合做企业内服务或对外 Demo。(GitHub[27])•追求“文档场景完整度与上层能力”(表格/图表/CAD/Markdown) → 选 fufankeji/DeepSeek-OCR-Web。有 install/start 脚本、功能覆盖面大,但 Linux + 显卡要求 要先满足。(GitHub[28])
•结构化导出:文档转 Markdown 常常是一切后续处理(知识库/检索/二次生成)的“最短路径”。优先尝试 "<image>\n<|grounding|>Convert the document to markdown."(版面保真,列表/表格/标题信息完整)。(GitHub[29])•精确定位:票据/表单/图像局部定位,先用 Locate <|ref|>字段名<|/ref|> 找框,再二次解析框内文本。(GitHub[30])•图表理解:Parse the figure.;若配合 WebUI 的“高亮框”显示,效果与可解释性都会更好。(GitHub[31])
•分辨率档位:在 Small(640×640) 与 Base(1024×1024) 间按需折中,越高的原生分辨率→视觉 token 更多→显存/时延更高。(GitHub[32])•动态裁剪(Gundam / crop mode):大幅面文档推荐开启,可在保留关键细节的同时控制全局 token 规模,提高吞吐;三款 WebUI 中,rdumasia303/deepseek_ocr_app 项目的 .env 直接暴露了 BASE_SIZE/IMAGE_SIZE/CROP_MODE,用来平衡“速度/质量/显存”。(GitHub[33])•vLLM 并发:官方给出的 PDF 高并发脚本在 A100-40G 实测约 2500 tokens/s,小集群可进一步水平扩展;对请求量大的应用非常重要。(GitHub[34])
1)先选 WebUI 做 PoC:
•若关注体验与多模式:用 neosun100/DeepSeek-OCR-WebUI;•若目标是“可上线的工程骨架”:用 rdumasia303/deepseek_ocr_app;•若目标是“复杂文档的一站式解析 Studio”:用 fufankeji/DeepSeek-OCR-Web。(GitHub[35])
2)打通数据流:
•WebUI 拿回 Markdown/HTML + 版面位置信息(框坐标);•存入对象存储 + 向量库/检索库;•下游接 LLM 做摘要、校对、表格结构化(CSV/JSON)等。
3)算力与成本:
•先用 Small/Base 做压测,记录各类页面的 token 消耗;•放大负载前,评估 vLLM 的 并发 + KV cache + n-gram 约束是否合适(官方示例用到了 N-gram 处理器)。(GitHub[36])
4)迭代与兼容:
•关注官方仓库的 vLLM 上游支持进展与依赖版本窗口;•如使用 50 系显卡或 Linux 内核较新,参考 rdumasia303/deepseek_ocr_app 的驱动实践(open driver 570/580、内核 6.11+、启用 ReBAR)。(GitHub[37])
DeepSeek-OCR 用“视觉压缩 → 语言理解”的范式,把传统 OCR 的“识别 + 版面重建 + 结构化”一锅端进了 LLM 工作流里。它之所以能在短时间内获得大量关注,一是 官方对 vLLM 的上游支持做得到位,二是 社区 WebUI 很快在“易用性/工程化/场景完备度”三个维度补齐了落地短板。
•想“马上用起来”:选一款 WebUI;•想“做成产品/服务”:用 rdumasia303/deepseek_ocr_app 的结构 + vLLM,把配置与驱动稳定下来;•想“复杂文档一站式解析”:试试 fufankeji/DeepSeek-OCR-Web 的 Studio。
几句话总结:模型强、生态全、门槛低。DeepSeek-OCR 已经不只是“能看懂文字”的 OCR,更像是“能读懂文档”的多模态基座。现在,就是把它嵌进你的业务流程里。
参考与延伸阅读
•DeepSeek-OCR 官方仓库(安装、vLLM/Transformers 推理、模式与 Prompt 示例)(GitHub[38])•neosun100/DeepSeek-OCR-WebUI(7 模式、批处理、实时日志、响应式)(GitHub[39])•rdumasia303/deepseek_ocr_app(React+FastAPI,Docker Compose 一键起,.env 配置、4 大模式、5090 驱动经验)(GitHub[40])•fufankeji/DeepSeek-OCR-Web(文档解析 Studio;一键脚本;Linux/显卡要求;表格/图表/CAD/Markdown 能力)(GitHub[41])
[1] GitHub - deepseek-ai/DeepSeek-OCR: Contexts Optical Compression:https://github.com/deepseek-ai/DeepSeek-OCR
[2]GitHub - deepseek-ai/DeepSeek-OCR: Contexts Optical Compression:https://github.com/deepseek-ai/DeepSeek-OCR
[3]GitHub - deepseek-ai/DeepSeek-OCR: Contexts Optical Compression:https://github.com/deepseek-ai/DeepSeek-OCR
[4]GitHub - deepseek-ai/DeepSeek-OCR: Contexts Optical Compression:https://github.com/deepseek-ai/DeepSeek-OCR
[5]GitHub - deepseek-ai/DeepSeek-OCR: Contexts Optical Compression:https://github.com/deepseek-ai/DeepSeek-OCR
[6]GitHub - deepseek-ai/DeepSeek-OCR: Contexts Optical Compression:https://github.com/deepseek-ai/DeepSeek-OCR
[7]GitHub - deepseek-ai/DeepSeek-OCR: Contexts Optical Compression:https://github.com/deepseek-ai/DeepSeek-OCR
[8]GitHub - deepseek-ai/DeepSeek-OCR: Contexts Optical Compression:https://github.com/deepseek-ai/DeepSeek-OCR
[9]GitHub - deepseek-ai/DeepSeek-OCR: Contexts Optical Compression:https://github.com/deepseek-ai/DeepSeek-OCR
[10]GitHub - deepseek-ai/DeepSeek-OCR: Contexts Optical Compression:https://github.com/deepseek-ai/DeepSeek-OCR
[11]GitHub - deepseek-ai/DeepSeek-OCR: Contexts Optical Compression:https://github.com/deepseek-ai/DeepSeek-OCR
[12]Issues · neosun100/DeepSeek-OCR-WebUI:https://github.com/neosun100/DeepSeek-OCR-WebUI/issues?utm_source=chatgpt.com
[13]Issues · neosun100/DeepSeek-OCR-WebUI:https://github.com/neosun100/DeepSeek-OCR-WebUI/issues?utm_source=chatgpt.com
[14]Issues · neosun100/DeepSeek-OCR-WebUI:https://github.com/neosun100/DeepSeek-OCR-WebUI/issues?utm_source=chatgpt.com
[15]Issues · neosun100/DeepSeek-OCR-WebUI:https://github.com/neosun100/DeepSeek-OCR-WebUI/issues?utm_source=chatgpt.com
[16]GitHub - rdumasia303/deepseek_ocr_app: A quick vibe coded app for deepseek OCR:https://github.com/rdumasia303/deepseek_ocr_app/tree/main
[17]GitHub - rdumasia303/deepseek_ocr_app: A quick vibe coded app for deepseek OCR:https://github.com/rdumasia303/deepseek_ocr_app/tree/main
[18]GitHub - rdumasia303/deepseek_ocr_app: A quick vibe coded app for deepseek OCR:https://github.com/rdumasia303/deepseek_ocr_app/tree/main
[19]GitHub - rdumasia303/deepseek_ocr_app: A quick vibe coded app for deepseek OCR:https://github.com/rdumasia303/deepseek_ocr_app/tree/main
[20]GitHub - rdumasia303/deepseek_ocr_app: A quick vibe coded app for deepseek OCR:https://github.com/rdumasia303/deepseek_ocr_app/tree/main
[21]GitHub - rdumasia303/deepseek_ocr_app: A quick vibe coded app for deepseek OCR:https://github.com/rdumasia303/deepseek_ocr_app/tree/main
[22]GitHub - fufankeji/DeepSeek-OCR-Web: Out-of-the-box DeepSeek OCR document parsing Web Studio:https://github.com/fufankeji/DeepSeek-OCR-Web
[23]GitHub - fufankeji/DeepSeek-OCR-Web: Out-of-the-box DeepSeek OCR document parsing Web Studio:https://github.com/fufankeji/DeepSeek-OCR-Web
[24]GitHub - fufankeji/DeepSeek-OCR-Web: Out-of-the-box DeepSeek OCR document parsing Web Studio:https://github.com/fufankeji/DeepSeek-OCR-Web
[25]GitHub - fufankeji/DeepSeek-OCR-Web: Out-of-the-box DeepSeek OCR document parsing Web Studio:https://github.com/fufankeji/DeepSeek-OCR-Web
[26]Issues · neosun100/DeepSeek-OCR-WebUI:https://github.com/neosun100/DeepSeek-OCR-WebUI/issues?utm_source=chatgpt.com
[27]GitHub - rdumasia303/deepseek_ocr_app: A quick vibe coded app for deepseek OCR:https://github.com/rdumasia303/deepseek_ocr_app/tree/main
[28]GitHub - fufankeji/DeepSeek-OCR-Web: Out-of-the-box DeepSeek OCR document parsing Web Studio:https://github.com/fufankeji/DeepSeek-OCR-Web
[29]GitHub - deepseek-ai/DeepSeek-OCR: Contexts Optical Compression:https://github.com/deepseek-ai/DeepSeek-OCR
[30]GitHub - deepseek-ai/DeepSeek-OCR: Contexts Optical Compression:https://github.com/deepseek-ai/DeepSeek-OCR
[31]GitHub - deepseek-ai/DeepSeek-OCR: Contexts Optical Compression:https://github.com/deepseek-ai/DeepSeek-OCR
[32]GitHub - deepseek-ai/DeepSeek-OCR: Contexts Optical Compression:https://github.com/deepseek-ai/DeepSeek-OCR
[33]GitHub - rdumasia303/deepseek_ocr_app: A quick vibe coded app for deepseek OCR:https://github.com/rdumasia303/deepseek_ocr_app/tree/main
[34]GitHub - deepseek-ai/DeepSeek-OCR: Contexts Optical Compression:https://github.com/deepseek-ai/DeepSeek-OCR
[35]Issues · neosun100/DeepSeek-OCR-WebUI:https://github.com/neosun100/DeepSeek-OCR-WebUI/issues?utm_source=chatgpt.com
[36]GitHub - deepseek-ai/DeepSeek-OCR: Contexts Optical Compression:https://github.com/deepseek-ai/DeepSeek-OCR
[37]GitHub - rdumasia303/deepseek_ocr_app: A quick vibe coded app for deepseek OCR:https://github.com/rdumasia303/deepseek_ocr_app/tree/main
[38]GitHub - deepseek-ai/DeepSeek-OCR: Contexts Optical Compression:https://github.com/deepseek-ai/DeepSeek-OCR
[39]Issues · neosun100/DeepSeek-OCR-WebUI:https://github.com/neosun100/DeepSeek-OCR-WebUI/issues?utm_source=chatgpt.com
[40]GitHub - rdumasia303/deepseek_ocr_app: A quick vibe coded app for deepseek OCR:https://github.com/rdumasia303/deepseek_ocr_app/tree/main
[41]GitHub - fufankeji/DeepSeek-OCR-Web: Out-of-the-box DeepSeek OCR document parsing Web Studio: https://github.com/fufankeji/DeepSeek-OCR-Web