DeepSeek OCR: 指南
DeepSeek-OCR 提供了一种处理长文本的新颖方法。它没有直接进行文本识别,而是压缩了文档中的视觉信息,以便更有效地为下游大型语言模型(LLMs)服务。本文将探讨该模型的工作原理、安装方法和实际应用。
DeepSeek-OCR 简介
DeepSeek-OCR 在视觉上压缩文本上下文。文档页面被视为图像,并被压缩成少量的视觉 Tokens,然后被重构为文本或Markdown。团队报告称,Tokens 数量减少了七到二十倍,在中等压缩下,精度高达约 97%(取决于压缩程度)。官方代码、脚本和 vLLM 连接 均已可用。
DeepSeek-OCR 不是传统的 Tesseract 替代品。它是一个视觉-语言系统,由两部分组成:一个编码器(DeepEncoder)生成紧凑的视觉 Tokens;一个约 30 亿参数的 MoE 解码器从中重构文本或 Markdown。目的不是纯粹的字符识别,而是为下游 LLM 工作流进行上下文压缩。该
模型卡
描述了经过测试的环境(Python 3.12.9, CUDA 11.8, Torch 2.6.0, Flash-Attention 2.7.3),并展示了诸如“
安装和使用
使用 DeepSeek-OCR 需要特定的先决条件和精确的安装。
明确先决条件
需要配备最新驱动程序的 NVIDIA GPU、CUDA 11.8 和 Python 3.12.9。经过测试的软件包状态包括 torch==2.6.0, transformers==4.46.3, tokenizers==0.20.3, flash-attn==2.7.3 。该 GitHub-README 注明了相同的技术栈;官方支持 vLLM。
加载源代码
源代码通过以下方式 git clone https://github.com/deepseek-ai/DeepSeek-OCR.git 加载。然后切换到创建的文件夹。
创建环境
使用以下命令 conda create -n deepseek-ocr python=3.12.9 -y; conda activate deepseek-ocr 创建并激活 Conda 环境。
安装软件包(Transformers 路径)
所需的软件包通过以下命令安装:
pip install torch==2.6.0 torchvision==0.21.0 torchaudio==2.6.0 --index-url https://download.pytorch.org/whl/cu118
pip install transformers==4.46.3 tokenizers==0.20.3 einops addict easydict
pip install flash-attn==2.7.3 --no-build-isolation
详细信息和经过测试的组合可在 模型卡 中找到。
初步图像推理(Transformers)
要使用 Transformers 库对图像进行推理,请在 Python 中执行以下操作:
from transformers import AutoModel, AutoTokenizer
# ...
model = AutoModel.from_pretrained('deepseek-ai/DeepSeek-OCR', _attn_implementation='flash_attention_2', trust_remote_code=True).eval().cuda().to(torch.bfloat16)
一个示例 Prompt 是 "<image>\n<|grounding|>Convert the document to markdown.". 设置 model.infer(...) 后,调用。完整的代码片段可在
模型卡 中找到。
vLLM 服务以提高吞吐量(可选,官方支持)
可以使用 vLLM 来获得更高的吞吐量:
uv venv; source .venv/bin/activate
uv pip install -U vllm --pre --extra-index-url https://wheels.vllm.ai/nightly
接下来,在 Python 中使用 vLLM LLM(model="deepseek-ai/DeepSeek-OCR") 创建,将图像作为 PIL 图像传递,并使用 SamplingParams 生成。代码示例可在
README
和
模型卡.
中找到。该存储库包含诸如
README 之类的脚本,并将 A100-40G 上的“~2500 Tokens/s”作为基准。
选择 Prompts 和模式
对于文档,使用 Prompt "<image>\n<|grounding|>Convert the document to markdown." 。对于没有布局的纯 OCR,使用 "<image>\nFree OCR.".
支持包括“Tiny/Small/Base/Large”等图像尺寸以及动态的“Gundam”模式。相关信息可在
README
和
模型卡.
中找到。
处理 PDF Repo 会显示输入和输出路径。
检查结果
输出格式为 Markdown 或文本。表格和插图可以结构化文本形式重现。质量和速度取决于压缩程度、分辨率和 GPU。
故障排除
构建 flash-attn 时,应使用选项 讨论.
时间线和现状
首次发布于 2025 年 10 月 20 日在 Repo; 中;vLLM 支持已于 2025 年 10 月 23 日集成到 vLLM 的“上游”。该 论文 于 2025 年 10 月 21 日提交给 arXiv。媒体将其归类为“视觉-文本压缩”。
Quelle: YouTube
分析和评估
DeepSeek-OCR 旨在通过视觉压缩长上下文来降低 LLM 工作流的成本和延迟。
动机、上下文、兴趣
该方法的动机是长上下文的高成本。将页面作为图像压缩成少量视觉 Tokens,显著降低了下游模型的 Token 预算。vLLM 的官方集成旨在实现生产流水线中的高吞吐量。科技媒体强调了潜在的成本和延迟收益,但也警告了硬件和数据相关的差异。

Quelle: pxz.ai
DeepSeek OCR 使用上下文压缩来显著提高效率,并降低与传统视觉 LLM 相比的 Token 成本。
事实核查:证据 vs. 主张
有证据
架构(DeepEncoder + 3B-MoE-Decoder)、报告的 <10x 或 20x 压缩精度值以及“上下文压缩”的目标已在 论文 中得到证实。安装步骤、脚本和示例 Prompt 可在 README 和 模型卡; 中找到;vLLM 支持也在其中有文档记录。
不明确
没有相同硬件或数据上下文的通用“快 X 倍”的声明是不可靠的。实际吞吐量在很大程度上取决于 GPU、分辨率、Prompt 和批量大小。
错误/误导
DeepSeek-OCR 不仅仅是“更快的 OCR”。其核心目的是为 LLM 工作流进行视觉压缩。对于简单的纯文本识别,传统的 OCR(例如 Tesseract) )可能仍然更合适。

Quelle: freedeepseekocr.com
DeepSeek-OCR 演示界面允许轻松上传文档并选择不同的模型大小进行处理。
反应与对立观点
技术报告强调了 7-20 倍的 Token 节省。持怀疑态度的声音对跨布局和语言的鲁棒性以及在强压缩下的质量损失提出了疑问。开发人员记录了配置和特定硬件上的障碍。社区帖子报告了在 vLLM 下 PDF 到 Markdown 的处理速度非常快,但这只是轶事。 实际用途:如果将长 PDF、表格、表单或报告引入 LLM 流水线,如果重构保持足够精确,DeepSeek-OCR 可以降低成本和延迟。对于快速服务,vLLM 路径值得采用;对于最小配置,Transformers 推理足够。对于没有布局要求的简单、“清晰”扫描,Tesseract 可能更高效。
影响与建议
分类提示:首先查看主要来源(论文、README、模型卡),然后在硬件上进行自己的测量;比较 Prompt、分辨率和压缩程度的变体。
权衡在不同语言、手写、扫描和精细表格结构上的稳定性如何?独立的基准测试和复制研究仍有待进行。除了社区的变通方法之外,官方的 CPU/MPS 支持如何发展?讨论存在,但没有硬性保证。在真实的生产负载下,以及在 A100 硬件之外,PDF 吞吐量的鲁棒性如何?
Quelle: YouTube
开放问题
README README 提到了示例,但没有通用的 SLA 值。

Quelle: chattools.cn
详细的图表阐释了 DeepSeek OCR 令人印象深刻的压缩和性能指标,突显了其效率。
总结和建议
要有效地使用 DeepSeek-OCR,环境应与 模型卡 或 README 中所述的精确设置。从 Transformers 示例开始,然后为了更高的吞吐量切换到 vLLM。根据各自的文档调整 Prompts 和模式,并权衡质量与压缩程度。对于简单的纯 OCR 情况,传统的 OCR 仍然是一个简洁的选择;对于长而复杂的文档,视觉上下文压缩则能发挥其优势。