DeepSeek-OCR-2快速上手:10行代码如何把任意文档图片精准转成Markdown
【免费下载链接】DeepSeek-OCR-2Visual Causal Flow项目地址: https://gitcode.com/gh_mirrors/de/DeepSeek-OCR-2
DeepSeek-OCR-2 是一款开源的深度学习 OCR 工具(Visual Causal Flow 架构),只需 10 行代码即可将文档图片、PDF 精准转换成 Markdown 格式,支持动态分辨率与高并发批量识别,对新手非常友好。
一、DeepSeek-OCR-2 是什么?
DeepSeek-OCR-2 的核心思想是"像人一样阅读":它通过视觉因果流按人类视觉习惯的顺序编码图片内容,并采用动态分辨率——默认最多将图片切分为 (0-6) 块 768×768 区域加 1 块 1024×1024 缩略图,只消耗 144~256 个视觉 token,既省显存又保精度。
相比传统 OCR,它最大的优势是:
- 📄 直接输出结构化 Markdown(标题、表格、公式、图片位置一应俱全)
- 🖼️ 自动切出文档中的插图并引用
- ⚡ 支持图片流式输出、PDF 高并发批量转换
二、一键安装:三步配好OCR环境
官方环境为 CUDA 11.8 + torch 2.6.0,按 README 操作只需三步:
# 1. 克隆仓库 git clone https://gitcode.com/gh_mirrors/de/DeepSeek-OCR-2 # 2. 创建 Python 3.12 环境 conda create -n deepseek-ocr2 python=3.12.9 -y conda activate deepseek-ocr2 # 3. 安装依赖(vllm-0.8.5 的 whl 包需先下载) 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其余依赖(Pillow、PyMuPDF、numpy 等)都列在 requirements.txt 中。
三、10行代码:单张图片转Markdown
最快的体验路径是 Transformers 推理,直接参考 run_dpsk_ocr2.py,核心只有 10 行:
from transformers import AutoModel, AutoTokenizer import torch model_name = 'deepseek-ai/DeepSeek-OCR-2' 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=768, crop_mode=True, save_results=True)把image_file换成你自己的文档图片路径即可,识别结果会保存到output_path。
四、vLLM 路线:图片流式识别 + PDF批量转换
追求速度就用 vLLM 推理,所有参数集中在 config.py 中修改:
| 配置项 | 作用 |
|---|---|
INPUT_PATH/OUTPUT_PATH | 输入图片/PDF 与输出目录 |
CROP_MODE | 是否启用动态分辨率切图 |
MAX_CONCURRENCY | PDF 并发数,显存不足可调小 |
cd DeepSeek-OCR2-master/DeepSeek-OCR2-vllm # 单张图片:流式输出,边识别边打印 python run_dpsk_ocr2_image.py # PDF:高并发批量转换,速度与上一代持平 python run_dpsk_ocr2_pdf.py # 基准测试批量评测(OmniDocBench v1.5) python run_dpsk_ocr2_eval_batch.py对应源码分别是 run_dpsk_ocr2_image.py、run_dpsk_ocr2_pdf.py 和 run_dpsk_ocr2_eval_batch.py。
五、识别结果长什么样?
以图片脚本为例,输出目录会生成三类文件:
result.mmd:清洗后的最终 Markdown,图片占位符已被替换为result_ori.mmd:模型原始输出(含坐标标注信息)result_with_boxes.jpg:在原图上画出标题、文本块等定位框,方便人工校对
文档中的插图还会被自动裁剪到images/子目录,配合 image_process.py 的动态分辨率逻辑,大幅面扫描件的细节也不易丢失。
六、常用Prompt速查表
| 场景 | Prompt |
|---|---|
| 完整文档转 Markdown(带布局) | <image>\n<|grounding|>Convert the document to markdown. |
| 纯文本提取(无布局) | <image>\nFree OCR. |
小技巧:识别结果出现长串重复时,可检查 ngram_norepeat.py 中的去重处理器配置——它默认禁止 20 元组重复,白名单保留表格 token<td>、</td>,让长表格识别更稳定。
七、写在最后
从克隆仓库到第一份 Markdown 产出,整个过程不到 10 分钟。如果你想深入原理,可以阅读项目自带的论文 DeepSeek_OCR2_paper.pdf。对于需要把扫描件、截图、PDF 批量转为 Markdown 的团队和个人来说,DeepSeek-OCR-2 目前是最省心的开源选择之一 🚀
【免费下载链接】DeepSeek-OCR-2Visual Causal Flow项目地址: https://gitcode.com/gh_mirrors/de/DeepSeek-OCR-2
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考