大家好,我是小悟。

腾讯混元全新开源的HunyuanOCR模型横空出世,参数仅1B却直接拿下多项OCR应用榜单的SOTA。

这波操作确实厉害,毕竟在动辄百亿参数的AI模型江湖里,1B的“轻量级选手”能打出如此漂亮的组合拳,确实让人眼前一亮。

图片

传统OCR模型像流水线工人,文字检测、识别、结构化分析得一步步来,任何一个环节掉链子,最终结果都得翻车。

而HunyuanOCR直接“开挂”:原生分辨率视频编码器负责抓取图像细节,自适应视觉适配器像“翻译官”把视觉信号转成机器能懂的语言,轻量化混元语言模型再一锤定音输出结果。整个过程单次前向推理就能完成,效率比级联方案高出一大截。

图片

举个例子,以前识别一张复杂票据,得先定位文字区域,再逐个字符识别,最后拼凑成结构化数据,整个流程下来像拆盲盒,你永远不知道哪一步会卡壳。

现在用HunyuanOCR,输入图片后模型直接输出JSON格式的字段,姓名、地址、金额一目了然,连公式表格都能自动转成LaTeX/HTML代码。

图片

如果说效率是HunyuanOCR的“快”,那性能就是它的“狠”。在OmniDocBench复杂文档解析评测中,直接砍下94.1分,把谷歌Gemini3-pro等一众大佬甩在身后。

图片

它自建的9大场景基准测试(文档、艺术字、街景、手写、广告、票据、截屏、游戏、视频)里,文字检测识别准确率像坐了火箭一样飙升,连商业OCR模型都得喊一声“前辈”。

看下测试数据:在OCRBench榜单上,HunyuanOCR以1B参数斩获总参数3B以下模型的SOTA,总分860分。

图片

这什么概念?相当于用五菱宏光的油耗跑出了法拉利的速度,还顺便拿了节能奖。

更绝的是,它连小语种翻译都没放过,德语、西班牙语、阿拉伯语……这些让开发者头疼的“冷门语言”,现在都能一键翻译。

图片

技术再牛,得落地才有价值。HunyuanOCR的实战表现也没让人失望,票据字段抽取能精准定位关键信息。

图片

视频字幕识别支持中英双语自动生成,拍照翻译功能覆盖14种语言,连街景广告里的手写体都能准确识别。

图片

1B参数这么小的模型,真能扛住复杂场景的考验?

通过规模化高质量数据训练+在线强化学习,小参数模型照样能玩出花。这种设计思路其实暗合了当前AI落地的核心需求:不是所有场景都需要“大力出奇迹”,很多时候我们更需要的是“小而美”的解决方案。

比如跨境电商的商品描述翻译、金融行业的票据自动化处理、教育领域的课件字幕生成……这些场景不需要百亿参数的“巨无霸”,但需要高效、稳定、易部署的轻量化模型。

图片

作为技术圈的“吃瓜群众”,这种端到端设计、多场景适配、小语种支持……这些细节背后,是对开发者真实需求的深度洞察。

开源只是第一步,至少现在,它已经给轻量化OCR模型树立了一个标杆,原来1B参数也能这么“能打”。

本地安装与使用,源代码部署,更多详细步骤和用法,详见仓库文档:

1、安装
使用 pip:
pip install vllm --pre --extra-index-url https://wheels.vllm.ai/nightly

使用 uv
uv pip install vllm --extra-index-url https://wheels.vllm.ai/nightly

2、模型推理
from vllm import LLM, SamplingParams
from PIL import Image
from transformers import AutoProcessor

def clean_repeated_substrings(text):
    """Clean repeated substrings in text"""
    n = len(text)
    if n<8000:
        return text
    for length in range(2, n // 10 + 1):
        candidate = text[-length:] 
        count = 0
        i = n - length

        while i >= 0 and text[i:i + length] == candidate:
            count += 1
            i -= length

        if count >= 10:
            return text[:n - length * (count - 1)]  

    return text

model_path = "tencent/HunyuanOCR"
llm = LLM(model=model_path, trust_remote_code=True)
processor = AutoProcessor.from_pretrained(model_path)
sampling_params = SamplingParams(temperature=0, max_tokens=16384)

img_path = "/path/to/image.jpg"
img = Image.open(img_path)
messages = [
    {"role": "user", "content": [
        {"type": "image", "image": img_path},
        {"type": "text", "text": "检测并识别图片中的文字,将文本坐标格式化输出。"}
    ]}
]
prompt = processor.apply_chat_template(messages, tokenize=False, add_generation_prompt=True)
inputs = {"prompt": prompt, "multi_modal_data": {"image": [img]}}
output = llm.generate([inputs], sampling_params)[0]
print(clean_repeated_substrings(output.outputs[0].text))

开源地址:

在这里插入图片描述

在这里插入图片描述

谢谢你看我的文章,既然看到这里了,如果觉得不错,随手点个赞、转发、在看三连吧,感谢感谢。那我们,下次再见。

您的一键三连,是我更新的最大动力,谢谢

山水有相逢,来日皆可期,谢谢阅读,我们再会

我手中的金箍棒,上能通天,下能探海

Logo

火山引擎开发者社区是火山引擎打造的AI技术生态平台,聚焦Agent与大模型开发,提供豆包系列模型(图像/视频/视觉)、智能分析与会话工具,并配套评测集、动手实验室及行业案例库。社区通过技术沙龙、挑战赛等活动促进开发者成长,新用户可领50万Tokens权益,助力构建智能应用。

更多推荐