DeepSeek-OCR 本地部署(上):CUDA 升级 12.9,vLLM 升级至最新稳定版
大家好,我是 Ai 学习的老章
大模型 OCR 的黄金时代来了,小红书 dots.ocr-3b、deepseek-ocr-3b、阿里 qwen3-vl-2b、百度 paddleocr-vl-0.9B......
模型越做越小,精度越来越高
刚刚,OCR 领域迎来新选手,腾讯的文档理解模型——混元 OCR 开源了
在文档解析、视觉问答和翻译方面达到 SOTA 1B 参数,端到端运行,大幅降低了部署成本
一个很离谱的成绩是 HunyuanOCR 仅使用 1B 参数量,在拍照翻译任务上取得了与 Qwen3-VL-235B 相当的效果。
它可以处理街道视图、手写体、艺术文本的文字识别,复杂文档处理(HTML/LaTeX 中的表格/公式),视频字幕提取,以及端到端的照片翻译(支持 14 种语言)
放几个高清的案例
最后这个案例,后面做论文翻译,又有新玩法了👍
官方提供了不同任务下的提示词模板
| 任务 | 提示词 |
|---|---|
· 把图中的表格解析为 HTML · 解析图中的图表,对于流程图使用 Mermaid 格式表示,其他图表使用 Markdown 格式表示。 · 提取文档图片中正文的所有信息用 markdown 格式表示,其中页眉、页脚部分忽略,表格用 html 格式表达,文档中公式用 latex 格式表示,按照阅读顺序组织进行解析 | |
· 提取图片中的:['key1','key2', ...] 的字段内容,并按照 JSON 格式返回 · 提取图片中的字幕 | |
在线体验
🌐 https:///spaces/tencent/HunyuanOCR
我试了一下,拍照图片 + 双排显示 + 公式、图表情况下,识别的蛮精准的
看前端样式是用 Gradio 实现的,如果模型本地化部署了的话,可以直接把代码 copy 下来,python 运行就能在本机实现这个应用了
代码:https:///spaces/tencent/HunyuanOCR/blob/main/app.py
功能上挺齐全的:多场景文字检测与识别、多粒度文档解析、卡证票据识别和结构化输出、视觉问答、跨语言翻译
本地部署
模型文件只有 2GB,比 DeepSeek-OCR 的 6.7GB 小太多了
不过我看 HunyuanOCR@GitHub 的 README 中写需要 GPU 显存是 80GB,有点离谱啊
它会不会把显存和硬盘容量搞反了😯❓
国内镜像:https:///models/deepseek-ai/DeepSeek-OCR
官方建议 vLLM 部署模型以获取更好的推理性能和精度,因为 Transformers 相比 vLLM 框架存在一定的性能下滑
但是目前只能安装 vLLM nightly 了,稳定版的 vLLM 要支持 HunyuanOCR 估计需要 v0.11.3 了
pip install vllm --extra-index-url https://wheels./nightly
在线推理
vllm serve tencent/HunyuanOCR
--no-enable-prefix-caching
--mm-processor-cache-gb 0
OpenAI API 接口调用
from openai import OpenAI
client = OpenAI(
api_key="EMPTY",
base_url="http://localhost:8000/v1",
timeout=3600
)
messages = [
{
"role": "user",
"content": [
{
"type": "image_url",
"image_url": {
"url": "https:///datasets/huggingface/documentation-images/resolve/main/chat-ui/tools-dark.png"
}
},
{
"type": "text",
"text": (
"Extract all information from the main body of the document image "
"and represent it in markdown format, ignoring headers and footers."
"Tables should be expressed in HTML format, formulas in the document "
"should be represented using LaTeX format, and the parsing should be "
"organized according to the reading order."
)
}
]
}
]
response = client.chat.completions.create(
model="tencent/HunyuanOCR",
messages=messages,
temperature=0.0,
)
print(f"Generated text: {response.choices[0].message.content}")
我实测的话,模型已下载,准备等 vLLM:v0.11.3 出来之后了
参考:
官方简介:https://hunyuan.tencent.com/vision/zh?tabIndex=0
HunyuanOCR 项目 README:https:///tencent/HunyuanOCR
vLLM 官方文档:https://docs./projects/recipes/en/latest/Tencent-Hunyuan/HunyuanOCR.html