news 2026/9/27 7:56:01

DeepSeek-OCR-2快速上手:10行代码如何把任意文档图片精准转成Markdown

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
DeepSeek-OCR-2快速上手:10行代码如何把任意文档图片精准转成Markdown

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_CONCURRENCYPDF 并发数,显存不足可调小
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,图片占位符已被替换为![](images/0.jpg)
  • 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),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/27 7:42:16

“高并发”对于Python爬虫有多重要?反封控的底层逻辑在这!

很多人做Python爬虫时&#xff0c;往往会忽视动态代理的基础变量——并发。为什么&#xff1f;打个比方&#xff0c;同样是爬10万条数据&#xff0c;串行跑可能得花8小时以上&#xff1b;但如果并发数拉到500&#xff0c;即使网络条件不变&#xff0c;时间可能只要十几分钟。更…

作者头像 李华