OCR 终于不用搭流水线了:腾讯混元 HyOCR-1.5 开源,1B 参数笔记本就能跑
做 OCR 这件事,过去几年一直挺折腾的。传统方案是流水线模式:先用检测模型找到文字位置,再用识别模型把文字读出来,最后用后处理脚本拼版面、纠错、格式化。三个模型串起来,中间还要处理表格、公式、多语言混排,光搭环境就够喝一壶。商业 API 倒是省事,但按页收费,文档量一大,账单就不好看了。
7月7日,腾讯混元团队把自家的 OCR 模型 HyOCR-1.5 完整开源了——模型权重、训练配方、数据流水线、推理加速代码,一股脑全放出来。1B 参数,端到端架构,从图片直接到结构化文本,不用拼接任何中间模型。在 OmniDocBench v1.6 基准上拿了 94.74 分,端到端方案里排名第一。更关键的是,它可以通过 llama.cpp 在普通笔记本的 CPU 上跑——不用 GPU,不用云服务,本地就能用。
先搞清楚它是什么
HyOCR-1.5 是一个端到端的 OCR 视觉语言模型(VLM)。所谓”端到端”,就是你扔给它一张图片,它直接输出结构化的文本结果——Markdown 格式的正文、HTML 格式的表格、LaTeX 格式的公式,一步到位,不用先检测再识别再拼版面。
核心参数一览:
- 1B 参数:轻量级,消费级显卡甚至 CPU 都能跑
- 4K 分辨率输入:大幅扫描件、高清海报都能处理
- 128K 上下文窗口:长文档、多页 PDF 不在话下
- 12 种任务类型:文档解析、文本检测、信息抽取、文本-图像翻译等
- DFlash 推测解码加速:Transformers 下 6.37 倍提速,vLLM 下 2.14 倍
开源内容包括模型权重(基础模型 + DFlash draft model)、完整训练代码和配方、推理部署代码(vLLM / Transformers / llama.cpp 三套),以及数据格式说明和打包流水线。许可证是腾讯混元社区许可协议(Tencent Hunyuan Community License Agreement),商用前需要看一下具体条款。
三条部署路径
HyOCR-1.5 提供了三种部署方式,从生产环境到笔记本电脑,覆盖不同需求。
路径一:vLLM 部署(推荐生产环境)
如果你有 NVIDIA GPU(建议 8GB+ 显存),vLLM 是最快上手的方式。装好环境后三行命令搞定:
# 下载模型
huggingface-cli download tencent/HunyuanOCR --local-dir ./HunyuanOCR --exclude "v1.0/*"
# 启动服务
MODEL_PATH=./HunyuanOCR GPU=0 PORT=8000 bash inference/vllm_0_18_1/serve.sh
# 验证服务是否就绪
curl -sf http://127.0.0.1:8000/v1/models服务启动后,任何兼容 OpenAI API 的客户端都能直接调用:
from openai import OpenAI
import base64
client = OpenAI(api_key="EMPTY", base_url="http://127.0.0.1:8000/v1")
# 图片转 base64
with open("document.png", "rb") as f:
data_url = f"data:image/png;base64,{base64.b64encode(f.read()).decode()}"
resp = client.chat.completions.create(
model="tencent/HunyuanOCR",
messages=[{
"role": "user",
"content": [
{"type": "image_url", "image_url": {"url": data_url}},
{"type": "text", "text": "请提取图片中的文字内容。"}
]
}],
max_tokens=32768,
temperature=0.0,
)
print(resp.choices[0].message.content)vLLM 还支持批量推理和多端口并发,适合企业级大批量文档处理。官方仓库里提供了 `batch_infer.py` 脚本,支持断点续跑。
路径二:HuggingFace Transformers(开发调试用)
如果你要微调模型或者深入调试,用原生 Transformers 更灵活。这个路径还支持 DFlash 加速,长文档推理能快 6 倍多。
from transformers import AutoModelForCausalLM, AutoProcessor
import torch
model = AutoModelForCausalLM.from_pretrained(
"tencent/HunyuanOCR",
torch_dtype=torch.float16,
device_map="auto"
)
processor = AutoProcessor.from_pretrained("tencent/HunyuanOCR")从开发者社区实测数据来看,在 RTX 4060(16GB 显存)上开启 DFlash 后,处理 4K 分辨率文档大约 200ms 一页,速度相当能打。
DFlash 的核心思路跟之前写过的 DeepSeek DSpark 推理加速框架 是一路的——用一个小模型(DFlash 的 draft model 只有 90.7M 参数)先猜一批 token,大模型再批量验证,猜对了就跳过逐 token 生成的等待。区别是 DSpark 服务于通用大模型,DFlash 专门针对 OCR 的长结构化输出场景做了优化。
路径三:llama.cpp 部署(笔记本 / 纯 CPU)
这是最让人兴奋的一条路径。没有 GPU?没关系。HyOCR-1.5 支持通过 llama.cpp 在纯 CPU 环境下运行,普通笔记本就能跑。
# 1. 编译 llama.cpp
git clone https://github.com/ggml-org/llama.cpp.git && cd llama.cpp
cmake -B build -DLLAMA_BUILD_EXAMPLES=ON
# 如果有 NVIDIA GPU,加上 -DGGML_CUDA=ON
cmake --build ./build --config Release -j
# 2. 转换模型为 GGUF 格式
hf download tencent/HunyuanOCR --local-dir ./HunyuanOCR
python3 convert_hf_to_gguf.py --outfile ./HunyuanOCR/hyocr-f16.gguf --outtype f16 ./HunyuanOCR
python3 convert_hf_to_gguf.py --outfile ./HunyuanOCR/mmproj-hyocr-f16.gguf --outtype f16 --mmproj ./HunyuanOCR
# 3. 启动 OpenAI 兼容服务
build/bin/llama-server \
--model ./HunyuanOCR/hyocr-f16.gguf \
--mmproj ./HunyuanOCR/mmproj-hyocr-f16.gguf \
--host 0.0.0.0 --port 8080 \
--ctx-size 10240 --n-predict 4096需要提醒一点:官方 README 里明确标注了 llama.cpp 路径”精度尚未与 vLLM/Transformers 对齐,仅限功能试验”。也就是说,CPU 跑出来的结果可能跟 GPU 跑出来的有细微差异。体验效果、验证流程没问题,但生产环境还是建议用 vLLM 或 Transformers。
如果你之前用 Ollama 或 LM Studio 部署过大语言模型,llama.cpp 的流程应该很熟悉——本质上是一回事,都是把模型转成 GGUF 格式后在本地跑。
四种典型任务怎么用
HyOCR-1.5 通过不同的 prompt 指令来切换任务类型,官方提供了 12 种预设任务。最常用的四种:
文档解析(默认任务)。 直接把图片扔进去,不用写复杂 prompt,模型默认就会按这个格式输出:
提取文档图片中正文的所有信息用markdown格式表示,其中页眉、页脚部分忽略,表格用html格式表达,文档中公式用latex格式表示,按照阅读顺序组织进行解析。
输出就是一份结构完整的 Markdown——正文、表格、公式各归各位。扫描件、合同、财报、学术论文都能这么处理。
表格提取。 专门针对复杂表格场景,能把合并单元格、跨页表格正确还原成 HTML 格式。财务报表、统计年鉴这种密集表格场景特别实用。
信息抽取。 不是把所有文字都提出来,而是根据你的指令抽取特定信息。比如”提取这张发票上的购买方名称、金额和日期”,模型直接返回结构化结果,不用再写正则或者规则引擎。
文本-图像翻译。 图片上的中文直接翻成英文,或者反过来。拍照翻译、海报翻译、截图翻译这类场景一步搞定。
和其他 OCR 方案比怎么样
| 维度 | HyOCR-1.5 | Tesseract | PaddleOCR | 商业 API |
|---|---|---|---|---|
| 部署方式 | 本地/自建服务 | 本地 | 本地 | 云 API |
| 费用 | 免费(开源) | 免费 | 免费 | 按页/次收费 |
| 表格/公式 | 支持(HTML+LaTeX) | 不支持 | 基础支持 | 部分支持 |
| 多语言 | 100+语言 | 100+语言 | 中英文为主 | 取决于服务商 |
| 精度 | OmniDocBench 94.74 | 一般 | 良好 | 高(黑盒) |
| 硬件要求 | GPU推荐/CPU可跑 | CPU即可 | CPU即可 | 无(云端) |
| 端到端 | 是(图片到结构化文本) | 否(需后处理) | 部分 | 是 |
Tesseract 胜在轻量和成熟,但面对复杂版式和表格基本无能为力。PaddleOCR 在中英文场景表现不错,但端到端能力不如 HyOCR-1.5。商业 API 精度高但持续产生费用,数据还要过第三方。
HyOCR-1.5 的核心优势是”端到端 + 本地部署 + 免费”三个属性同时满足。如果你的文档包含大量表格、公式、复杂版式,又不想把数据传到云端,它目前几乎是最优解。
适合谁用
- 开发者和技术团队:需要在产品里集成 OCR 能力,又不想依赖第三方 API,vLLM 部署一条线打通
- 数据处理从业者:合同、财报、档案的批量数字化,用批量推理脚本一次跑完
- 学术研究者:开源了完整训练配方和数据流水线,可以在自有数据上微调
- 个人开发者和极客:llama.cpp 路径让笔记本也能跑 OCR 大模型,体验端到端识别的效果
不太适合的场景:如果你只需要简单的纯文字识别(比如验证码、简单截图),Tesseract 或 PaddleOCR 可能更轻量更快。HyOCR-1.5 的优势在复杂版式和结构化输出,简单场景用它有点杀鸡用牛刀。
另外提一句,腾讯混元这阵子动作很密——前几天刚把旗舰模型 Hy3 开放了预览,7月14日又放出 Hy3 的量化版本(295B 参数压缩到 1bit/4bit,单卡可部署),现在 OCR 模型也开源了。如果你在关注国产开源模型生态,DeepSeek V4 和 Google Gemma 4 也是最近开源的重磅模型,可以一起看看。
上手建议
1. 先试在线 Demo:不想部署的话,先去 腾讯混元在线 Demo 传几张图试试效果,确认满足需求再投入部署
2. 有 GPU 走 vLLM:生产环境推荐 vLLM + NVIDIA GPU,安装简单、性能好、支持批量
3. 没 GPU 走 llama.cpp:个人体验或功能验证,笔记本 CPU 也能跑,但精度有差异
4. 要微调走 Transformers:在自有数据上做 LoRA 微调,官方开放了完整训练代码和超参数配置
模型权重和代码都在 GitHub 和 HuggingFace 上,技术报告见 arXiv 论文。
更多 AI 工具的实战指南,可以翻翻 AI 实战应用指南,里面有各个场景下工具选型和部署的详细方法。




发表回复