Loading...

文章背景图

DeepSeek-OCR:文档/表格转 Markdown 模型部署与 vLLM 推理指南

2026-10-27
0
- 字
- 分钟
|

DeepSeek-OCR 是 DeepSeek 从「以 LLM 为中心」视角研究视觉编码器作用的 OCR 模型,2025 年 10 月开源,2026 年 1 月已发布 OCR2。原生支持多分辨率,可把文档、表格、图片转成 Markdown,A100-40G 上 PDF 并发约 2500 tokens/s。

一、项目官方信息

项目 信息
GitHub 仓库 https://github.com/deepseek-ai/DeepSeek-OCR
官方网站 https://www.deepseek.com
Hugging Face https://huggingface.co/deepseek-ai/DeepSeek-OCR
论文 https://arxiv.org/abs/2510.18234
开源协议 MIT(代码与模型)
主要语言 Python(约 100%)
Star 数 约 10k(接口曾限流,以仓库页为准)

二、官方图片

DeepSeek-OCR 架构与视觉压缩示意:

DeepSeek-OCR 架构

文档识别效果:

DeepSeek-OCR 识别示例

三、环境要求

  • 官方环境:CUDA 11.8 + PyTorch 2.6.0;
  • Python 3.12.9(conda 建环境);
  • vLLM 0.8.5(cu118 whl);
  • flash-attn 2.7.3;
  • 显存:A100-40G 可跑 PDF 并发。

四、完整部署步骤

1. 克隆仓库

git clone https://github.com/deepseek-ai/DeepSeek-OCR.git

2. 建 conda 环境

conda create -n deepseek-ocr python=3.12.9 -y
conda activate deepseek-ocr

3. 安装依赖

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-cp38-abi3-manylinux1_x86_64.whl
pip install -r requirements.txt
pip install flash-attn==2.7.3 --no-build-isolation

注:vllm 0.8.5 要求 transformers>=4.51.1,若想 vllm 与 transformers 同环境跑,该报错可忽略。

4. 用官方 vLLM 脚本推理

cd DeepSeek-OCR-master/DeepSeek-OCR-vllm

改 config.py 里的 INPUT_PATH / OUTPUT_PATH。

图片流式输出:

python run_dpsk_ocr_image.py

PDF 并发(A100-40G,约 2500 tokens/s):

python run_dpsk_ocr_pdf.py

批量 benchmark:

python run_dpsk_ocr_eval_batch.py

5. 用上游 vLLM 跑

uv venv
source .venv/bin/activate
uv pip install -U vllm --pre --extra-index-url https://wheels.vllm.ai/nightly
from vllm import LLM, SamplingParams
from vllm.model_executor.models.deepseek_ocr import NGramPerReqLogitsProcessor
from PIL import Image

llm = LLM(model="deepseek-ai/DeepSeek-OCR",
          enable_prefix_caching=False,
          mm_processor_cache_gb=0,
          logits_processors=[NGramPerReqLogitsProcessor])

image_1 = Image.open("path/to/your/image_1.png").convert("RGB")
image_2 = Image.open("path/to/your/image_2.png").convert("RGB")
prompt = "<image>\nFree OCR."
model_input = [
    {"prompt": prompt, "multi_modal_data": {"image": image_1}},
    {"prompt": prompt, "multi_modal_data": {"image": image_2}},
]
sp = SamplingParams(temperature=0.0, max_tokens=8192,
                    extra_args=dict(ngram_size=30, window_size=90,
                                    whitelist_token_ids={128821, 128822}),
                    skip_special_tokens=False)
for o in llm.generate(model_input, sp):
    print(o.outputs[0].text)

6. 用 Transformers 推理

from transformers import AutoModel, AutoTokenizer
import torch, os
os.environ["CUDA_VISIBLE_DEVICES"] = "0"
model_name = "deepseek-ai/DeepSeek-OCR"
tokenizer = AutoTokenizer.from_pretrained(model_name, trust_remote_code=True)
model = AutoModel.from_pretrained(model_name, _attn_implementation="flash_attention_2",
                                  trust_remote_code=True, use_safetensors=True)
model = model.eval().cuda().to(torch.bfloat16)

prompt = "<image>\n<|grounding|>Convert the document to markdown."
res = model.infer(tokenizer, prompt=prompt, image_file="your_image.jpg",
                  output_path="your/output/dir", base_size=1024, image_size=640,
                  crop_mode=True, save_results=True, test_compress=True)

五、使用方法

支持的分辨率

  • Native:Tiny 512×512(64 vision tokens)、Small 640×640(100)、Base 1024×1024(256)、Large 1280×1280(400);
  • Dynamic:Gundam,n×640×640 + 1×1024×1024。

常用 Prompt

# 文档转 Markdown
<image>\n<|grounding|>Convert the document to markdown.
# 通用 OCR
<image>\n<|grounding|>OCR this image.
# 无版面
<image>\nFree OCR.
# 图中图表
<image>\nParse the figure.
# 描述
<image>\nDescribe this image in detail.
# 定位
<image>\nLocate <|ref|>xxxx<|/ref|> in the image.

六、常见问题 FAQ

1. vLLM 版本? 官方脚本用 vllm 0.8.5+cu118;上游 vLLM 从 v0.11.1 起原生支持,可用 nightly。

2. 显存要多少? A100-40G 可跑 PDF 并发。

3. OCR2 是什么? 2026/01/27 发布,仓库见 deepseek-ai/DeepSeek-OCR-2。

4. 支持中文吗? 支持,中文文档/表格识别是强项。

5. 输出格式? Markdown,含表格、公式、版面。

6. 与 PaddleOCR/GOT-OCR 区别? DeepSeek-OCR 以 LLM 为中心压缩视觉 token,支持动态分辨率与长文档。

七、跳转链接

评论交流

文章目录