DeepSeek-OCR
deepseek-ai
image-text-to-text
transformers
multilingual
deepseek-ai/DeepSeek-OCR
2,824,757
下载量
3227
收藏数
9
浏览量
mit
许可
简介
🌟 Github | 📥 Model Download | 📄 Paper Link | 📄 Arxiv Paper Link |
模型卡片
许可协议
mit
语言
multilingual
框架
transformers
任务
image-text-to-text
deepseek
vision-language
ocr
custom_code
模型配置
模型类型
deepseek_vl_v2
架构
DeepseekOCRForCausalLM
模型详情
已翻译🌟 Github |
📥 模型下载 |
📄 论文链接 |
📄 Arxiv 论文链接 |
DeepSeek-OCR:上下文光学压缩
探索视觉-文本压缩的边界。
使用方法
在 NVIDIA GPU 上使用 Huggingface transformers 进行推理。依赖项已在 python 3.12.9 + CUDA11.8 环境下测试通过:
torch==2.6.0
transformers==4.46.3
tokenizers==0.20.3
einops
addict
easydict
pip install flash-attn==2.7.3 --no-build-isolation
from transformers import AutoModel, AutoTokenizer
import torch
import 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 = "\nFree OCR. "
prompt = "\nConvert the document to markdown. "
image_file = 'your_image.jpg'
output_path = 'your/output/dir'
# infer(self, tokenizer, prompt='', image_file='', output_path = ' ', base_size = 1024, image_size = 640, crop_mode = True, test_compress = False, save_results = False):
# Tiny: base_size = 512, image_size = 512, crop_mode = False
# Small: base_size = 640, image_size = 640, crop_mode = False
# Base: base_size = 1024, image_size = 1024, crop_mode = False
# Large: base_size = 1280, image_size = 1280, crop_mode = False
# Gundam: base_size = 1024, image_size = 640, crop_mode = True
res = model.infer(tokenizer, prompt=prompt, image_file=image_file, output_path = output_path, base_size = 1024, image_size = 640, crop_mode=True, save_results = True, test_compress = True)
vLLM
关于模型推理加速及 PDF 处理等指导,请参考 🌟GitHub。
[2025/10/23] 🚀🚀🚀 DeepSeek-OCR 现已在上游 vLLM 中获得官方支持。
uv venv
source .venv/bin/activate
# Until v0.11.1 release, you need to install vLLM from nightly build
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
# Create model instance
llm = LLM(
model="deepseek-ai/DeepSeek-OCR",
enable_prefix_caching=False,
mm_processor_cache_gb=0,
logits_processors=[NGramPerReqLogitsProcessor]
)
# Prepare batched input with your image file
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 = "\nFree OCR."
model_input = [
{
"prompt": prompt,
"multi_modal_data": {"image": image_1}
},
{
"prompt": prompt,
"multi_modal_data": {"image": image_2}
}
]
sampling_param = SamplingParams(
temperature=0.0,
max_tokens=8192,
# ngram logit processor args
extra_args=dict(
ngram_size=30,
window_size=90,
whitelist_token_ids={128821, 128822}, # whitelist: ,
),
skip_special_tokens=False,
)
# Generate output
model_outputs = llm.generate(model_input, sampling_param)
# Print output
for output in model_outputs:
print(output.outputs[0].text)
可视化展示
致谢
我们感谢 Vary、GOT-OCR2.0、MinerU、PaddleOCR、OneChart、Slow Perception 提供的宝贵模型与思路。
同时感谢以下基准测试:Fox、OminiDocBench。
引用
bibtex
@article{wei2025deepseek,
title={DeepSeek-OCR: Contexts Optical Compression},
author={Wei, Haoran and Sun, Yaofeng and Li, Yukun},
journal={arXiv preprint arXiv:2510.18234},
year={2025}
}
正在翻译中,请稍候...
标签
deepseek_vl_v2
feature-extraction
deepseek
vision-language
ocr
custom_code
multilingual
arxiv:2510.18234
操作
详细信息
- 厂商
- deepseek-ai
- 任务
- image-text-to-text
- 框架
- transformers
- 模型类型
- deepseek_vl_v2
- 许可(HF)
- mit
- 语言
- multilingual