智谱开源基于GLM-V编码器-解码器架构的多模态OCR模型——GLM-OCR

简介

GLM-OCR是一款基于GLM-V编码器-解码器架构的多模态OCR模型,专注于复杂文档理解。该模型通过引入多令牌预测(MTP)损失和稳定的全任务强化学习,显著提升了训练效率、识别准确率和泛化能力。其核心架构包含基于大规模图文数据预训练的CogViT视觉编码器、采用高效令牌降采样的轻量级跨模态连接器,以及GLM-0.5B语言解码器。结合基于PP-DocLayout-V3的两阶段流程(版面分析+并行识别),GLM-OCR能在各类文档布局场景中提供稳定优质的OCR性能。

核心优势

  • 顶尖性能表现:在OmniDocBench V1.5评测中获得94.62分综合排名第一,在公式识别、表格识别、信息抽取等主流文档理解任务中均达到SOTA水平

  • 真实场景优化:针对实际业务场景进行专项设计和优化,在复杂表格、代码密集文档、印章等具有挑战性的真实版面中保持稳健表现

  • 高效推理部署:仅0.9B参数量,支持通过vLLM/SGLang/Ollama等多种方案部署,显著降低推理延迟和计算成本,适合高并发服务和边缘端部署

  • 开箱即用体验 :完全开源并配备完整SDK和推理工具链,提供简易安装、单行调用能力,可快速接入现有生产流程

使用指南

vLLM方案

  1. 安装依赖:
bash 复制代码
pip install -U vllm --extra-index-url https://wheels.vllm.ai/nightly

或使用Docker镜像:

复制代码
docker pull vllm/vllm-openai:nightly
  1. 启动服务:
bash 复制代码
pip install git+https://github.com/huggingface/transformers.git
vllm serve zai-org/GLM-OCR  --allowed-local-media-path /  --port 8080

SGLang方案

  1. 使用Docker镜像:
bash 复制代码
docker pull lmsysorg/sglang:dev

或源码安装:

bash 复制代码
pip install git+https://github.com/sgl-project/sglang.git#subdirectory=python
  1. 启动服务:
bash 复制代码
pip install git+https://github.com/huggingface/transformers.git
python -m sglang.launch_server --model zai-org/GLM-OCR --port 8080

Ollama方案

  1. 下载Ollama
  2. 运行命令:
bash 复制代码
ollama run glm-ocr

拖拽图片至终端时自动识别文件路径:

bash 复制代码
ollama run glm-ocr Text Recognition: ./image.png

Transformers方案

安装依赖:

复制代码
pip install git+https://github.com/huggingface/transformers.git

示例代码:

python 复制代码
from transformers import AutoProcessor, AutoModelForImageTextToText
import torch

MODEL_PATH = "zai-org/GLM-OCR"
messages = [
    {
        "role": "user",
        "content": [
            {
                "type": "image",
                "url": "test_image.png"
            },
            {
                "type": "text",
                "text": "Text Recognition:"
            }
        ],
    }
]
processor = AutoProcessor.from_pretrained(MODEL_PATH)
model = AutoModelForImageTextToText.from_pretrained(
    pretrained_model_name_or_path=MODEL_PATH,
    torch_dtype="auto",
    device_map="auto",
)
inputs = processor.apply_chat_template(
    messages,
    tokenize=True,
    add_generation_prompt=True,
    return_dict=True,
    return_tensors="pt"
).to(model.device)
inputs.pop("token_type_ids", None)
generated_ids = model.generate(**inputs, max_new_tokens=8192)
output_text = processor.decode(generated_ids[0][inputs["input_ids"].shape[1]:], skip_special_tokens=False)
print(output_text)

提示词规范

GLM-OCR当前支持两类提示场景:

  1. 文档解析 - 提取文档原始内容,支持任务类型包括:
python 复制代码
{
    "text": "Text Recognition:",
    "formula": "Formula Recognition:",
    "table": "Table Recognition:"
}
  1. 信息抽取 - 从文档提取结构化信息,提示词需严格遵循JSON格式。例如提取身份证信息:
python 复制代码
请按下列JSON格式输出图中信息:
{
    "id_number": "",
    "last_name": "",
    "first_name": "",
    "date_of_birth": "",
    "address": {
        "street": "",
        "city": "",
        "state": "",
        "zip_code": ""
    },
    "dates": {
        "issue_date": "",
        "expiration_date": ""
    },
    "sex": ""
}

⚠️ 注意:使用信息抽取功能时,输出必须严格符合预设JSON结构,以确保下游处理兼容性。

GLM-OCR开发套件

我们提供了开箱即用的SDK工具包,可更高效便捷地使用GLM-OCR模型,详见GitHub仓库

致谢

本项目受以下优秀开源项目和社区启发:

许可证

GLM-OCR模型基于MIT许可证发布。

完整的OCR流程整合了PP-DocLayoutV3用于文档版面分析,该组件遵循Apache 2.0许可证。用户在使用本项目时需同时遵守两项许可协议。

相关推荐
2501_933329554 分钟前
技术深度拆解:Infoseek媒体发布系统的分布式架构与自动化实现
分布式·架构·媒体
麦聪聊数据9 分钟前
数据流通的最后一公里:SQL2API 在企业数据市场中的履约架构实践
数据库·sql·低代码·微服务·架构
学嵌入式的小杨同学1 小时前
嵌入式硬件开发入门:PCB 设计核心流程 + 基础元器件实战指南
vscode·后端·嵌入式硬件·架构·vim·智能硬件·pcb工艺
AI大模型..6 小时前
Dify 本地部署安装教程(Windows + Docker),大模型入门到精通,收藏这篇就足够了!
人工智能·程序员·开源·llm·github·deepseek·本地化部署
摆烂小白敲代码9 小时前
腾讯云智能结构化OCR在物流行业的应用
大数据·人工智能·经验分享·ocr·腾讯云
亿坊电商11 小时前
不用花钱-免费CMS建站系统-亿坊|实现一站式建站!
开源·开源软件
凌云拓界12 小时前
前端开发的“平衡木”:在取舍之间找到最优解
前端·性能优化·架构·前端框架·代码规范·设计规范
冬奇Lab12 小时前
一天一个开源项目(第33篇):MyCodeAgent - 面向学习的 Claude Code 风格代码代理框架
人工智能·开源·资讯
nbsaas-boot13 小时前
多租户低代码 SaaS 平台架构白皮书
低代码·架构
葡萄城技术团队13 小时前
从 Shortcut 的爆火,看 AI 时代电子表格的技术底座与架构演进
人工智能·架构