2025年完整指南:如何用 HunyuanOCR 构建端到端 OCR 能力
🎯 核心要点 (TL;DR)
- 单一 1B 级多模态架构即可覆盖检测、识别、解析、翻译等完整 OCR 流程
- vLLM 与 Transformers 双推理路径,配合高效指令模板,可快速落地业务需求
- 自研基准在文本检测、文档解析、信息抽取等任务上全面领先传统 OCR 与通用 VLM
目录
- HunyuanOCR 是什么?
- HunyuanOCR 为什么这么强?
- 如何快速部署 HunyuanOCR?
- 如何设计面向业务的提示词?
- 有哪些性能评估数据?
- 如何理解推理流程?
- 常见问题解答
- 总结与行动建议
HunyuanOCR 是什么?
HunyuanOCR 是腾讯混元团队推出的端到端 OCR 专用视觉语言模型(VLM),基于原生多模态架构,仅 1B 参数即可在文本检测、复杂文档解析、信息抽取、字幕提取、图像翻译等任务上获得行业领先结果(来源:项目 README)。
✅ 最佳实践
当需要跨语言、多模态、复杂版式统一处理时,优先选用具备“单次提示+单次推理”能力的端到端模型,可显著降低系统级延迟。

HunyuanOCR 为什么这么强?
轻量化却覆盖全模态
- 1B 原生多模态架构:通过自研训练策略实现 SOTA 性能,同时降低推理成本。
- 任务覆盖全面:文本检测与识别、复杂文档解析、开放域信息抽取、字幕提取、图片翻译等都可在单模型内完成。
- 多语言支持:覆盖 100+ 语言,适配文档、街景、手写、票据等混合场景。
端到端体验
- 单指令-单推理:避免传统级联 OCR 的多阶段误差累积。
- 灵活输出:可在一次推理中输出坐标、LaTeX、HTML、Mermaid、Markdown、JSON 等多种结构化结果。
- 视频友好:直接抽取双语字幕,便于后处理或翻译。

💡 专业提示
结合业务自定义提示词(如指定输出 HTML 表格、JSON 字段、双语字幕)能最大化发挥端到端模型的结构化产出能力。
如何快速部署 HunyuanOCR?
系统依赖
- 操作系统:Linux
- Python:3.12+
- CUDA:12.8
- PyTorch:2.7.1
- GPU:80GB 显存的 NVIDIA CUDA GPU
- 磁盘空间:6GB
vLLM 部署(推荐)
pip install vllm --extra-index-url https://wheels.vllm.ai/nightly- 载入
tencent/HunyuanOCR模型与AutoProcessor - 构造带图像+指令的 messages,通过
apply_chat_template生成 prompt - 使用
SamplingParams(temperature=0, max_tokens=16384)控制输出 - 调用
llm.generate并执行后处理(如去重函数clean_repeated_substrings)
Transformers 部署
- 安装特定分支:
pip install git+https://github.com/huggingface/transformers@82a06d... - 使用
HunYuanVLForConditionalGeneration+AutoProcessor - 通过
model.generate(..., max_new_tokens=16384, do_sample=False)获取结果 - 提示:该路径目前相较 vLLM 有性能差距(官方正在修复)
⚠️ 注意
README 中的推理脚本默认使用 bfloat16 与device_map="auto",在多 GPU 环境需留意显存分配策略,避免触发分布式 OOM。
如何设计面向业务的提示词?
常用任务提示对照
| 任务 | 英文指令 | 中文指令 |
|---|---|---|
| Spotting | Detect and recognize text in the image, and output the text coordinates in a formatted manner. | 检测并识别图片中的文字,将文本坐标格式化输出。 |
| Document Parsing | Identify formulas (LaTeX)、表格 (HTML)、流程图 (Mermaid) 并按阅读顺序解析正文 | 识别图片中的公式/表格/图表并按要求输出 |
| General Parsing | Extract the text in the image. | 提取图中的文字。 |
| Information Extraction | Extract specified fields in JSON; extract subtitles | 提取字段并按 JSON 返回;提取字幕 |
| Translation | First extract text, then translate; formulas→LaTeX, tables→HTML | 先提取文字,再翻译成英文或中文 |
可复用提示策略
- 结构先行:明确指定输出格式(JSON/HTML/Markdown),减少后处理难度。
- 字段枚举:在信息抽取任务中列举关键字段,避免遗漏。
- 语言限定:翻译或字幕任务中指定目标语言,确保符合本地化需求。
- 冗余清理:对超长结果使用字符串去重函数,避免重复段落。

有哪些性能评估数据?
文本检测/识别(自建基准)
| 模型类型 | 方法 | Overall | Art | Doc | Game | Hand | Ads | Receipt | Screen | Scene | Video |
|---|---|---|---|---|---|---|---|---|---|---|---|
| 传统方法 | PaddleOCR | 53.38 | 32.83 | 70.23 | 51.59 | 56.39 | 57.38 | 50.59 | 63.38 | 44.68 | 53.35 |
| 传统方法 | BaiduOCR | 61.90 | 38.50 | 78.95 | 59.24 | 59.06 | 66.70 | 63.66 | 68.18 | 55.53 | 67.38 |
| 通用 VLM | Qwen3VL-2B-Instruct | 29.68 | 29.43 | 19.37 | 20.85 | 50.57 | 35.14 | 24.42 | 12.13 | 34.90 | 40.10 |
| 通用 VLM | Qwen3VL-235B-Instruct | 53.62 | 46.15 | 43.78 | 48.00 | 68.90 | 64.01 | 47.53 | 45.91 | 54.56 | 63.79 |
| 通用 VLM | Seed-1.6-Vision | 59.23 | 45.36 | 55.04 | 59.68 | 67.46 | 65.99 | 55.68 | 59.85 | 53.66 | 70.33 |
| OCR VLM | HunyuanOCR | 70.92 | 56.76 | 73.63 | 73.54 | 77.10 | 75.34 | 63.51 | 76.58 | 64.56 | 77.31 |
文档解析(OmniDocBench 等)
| 类型 | 方法 | 参数 | OmniDocBench Overall | 文本 | 公式 | 表格 | Wild Overall | 文本 | 公式 | 表格 | DocML |
|---|---|---|---|---|---|---|---|---|---|---|---|
| 通用 VLM | Gemni-2.5-pro | - | 88.03 | 0.075 | 85.92 | 85.71 | 80.59 | 0.118 | 75.03 | 78.56 | 82.64 |
| 通用 VLM | Qwen3-VL-235B | 235B | 89.15 | 0.069 | 88.14 | 86.21 | 79.69 | 0.090 | 80.67 | 68.31 | 81.40 |
| 模块化 VLM | MonkeyOCR-pro-3B | 3B | 88.85 | 0.075 | 87.50 | 86.78 | 70.00 | 0.211 | 63.27 | 67.83 | 56.50 |
| 模块化 VLM | MinerU2.5 | 1.2B | 90.67 | 0.047 | 88.46 | 88.22 | 70.91 | 0.218 | 64.37 | 70.15 | 52.05 |
| 模块化 VLM | PaddleOCR-VL | 0.9B | 92.86 | 0.035 | 91.22 | 90.89 | 72.19 | 0.232 | 65.54 | 74.24 | 57.42 |
| 端到端 VLM | Mistral-OCR | - | 78.83 | 0.164 | 82.84 | 70.03 | - | - | - | - | 64.71 |
| 端到端 VLM | Deepseek-OCR | 3B | 87.01 | 0.073 | 83.37 | 84.97 | 74.23 | 0.178 | 70.07 | 70.41 | 57.22 |
| 端到端 VLM | dots.ocr | 3B | 88.41 | 0.048 | 83.22 | 86.78 | 78.01 | 0.121 | 74.23 | 71.89 | 77.50 |
| 端到端 VLM | HunyuanOCR | 1B | 94.10 | 0.042 | 94.73 | 91.81 | 85.21 | 0.081 | 82.09 | 81.64 | 91.03 |
信息抽取与 VQA
| 模型 | Cards | Receipts | Video Subtitles | OCRBench |
|---|---|---|---|---|
| DeepSeek-OCR | 10.04 | 40.54 | 5.41 | 430 |
| PP-ChatOCR | 57.02 | 50.26 | 3.10 | - |
| Qwen3-VL-2B | 67.62 | 64.62 | 3.75 | 858 |
| Seed-1.6-Vision | 70.12 | 67.50 | 60.45 | 881 |
| Qwen3-VL-235B | 75.59 | 78.40 | 50.74 | 920 |
| Gemini-2.5-Pro | 80.59 | 80.66 | 53.65 | 872 |
| HunyuanOCR | 92.29 | 92.53 | 92.87 | 860 |
图文翻译
| 方法 | Size | Other2En | Other2Zh | DoTA (en2zh) |
|---|---|---|---|---|
| Gemini-2.5-Flash | - | 79.26 | 80.06 | 85.60 |
| Qwen3-VL-235B | 235B | 73.67 | 77.20 | 80.01 |
| Qwen3-VL-8B | 4B | 75.09 | 75.63 | 79.86 |
| Qwen3-VL-4B | 4B | 70.38 | 70.29 | 78.45 |
| Qwen3-VL-2B | 2B | 66.30 | 66.77 | 73.49 |
| PP-DocTranslation | - | 52.63 | 52.43 | 82.09 |
| HunyuanOCR | 1B | 73.38 | 73.62 | 83.48 |
💡 专业提示
在需要跨语种票据、证件、字幕等场景时,可优先调用 HunyuanOCR,利用其在 Cards/Receipts/Subtitle 指标上的领先表现。
如何理解推理流程?
📊 实施流程
✅ 最佳实践
在流水线末端增加质量检查(如检测空输出、JSON schema 校验),可减少异常结果对业务的影响。
🤔 常见问题解答
Q: HunyuanOCR 需要多大显存?
A: 官方推荐 80GB GPU 以在 16K token 输出时保持稳定;较小显存可通过减少 max_tokens、裁剪图像分辨率或开启张量并行来适配。
Q: vLLM 与 Transformers 推理有何差异?
A: vLLM 在性能与吞吐上表现更佳,是推荐路径;Transformers 版本目前存在一定性能回退,后续将合入主干。若需自定义算子或调试,可先用 Transformers 验证。
Q: 如何确保输出结构正确?
A: 使用明确的提示模板,要求模型输出指定格式;对结果执行 schema 校验或正则检查,并结合 README 中的 clean_repeated_substrings 之类函数处理冗余。
总结与行动建议
- 在需要多语言、多格式并行解析的 OCR 场景,优先评估 HunyuanOCR 的单模型端到端方案,以降低系统复杂度。
- 推荐首先使用 vLLM 路径完成 PoC,基于 README 提供的 prompts 与示例脚本快速验证;随后根据业务对模型输出的结构化程度进行提示词和后处理优化。
- 如需更深入的技术细节,可参考项目附带的《HunyuanOCR Technical Report》与 Hugging Face Demo,或复现 README 中展示的视觉示例。

参考资源
- HunyuanOCR 官方 README 与 README_zh
- Hugging Face Demo: https://huggingface.co/spaces/tencent/HunyuanOCR
- 模型下载:https://huggingface.co/tencent/HunyuanOCR
- 技术报告:HunyuanOCR_Technical_Report.pdf
浙公网安备 33010602011771号