zai-org /GLM-OCR

GLM-OCR: Accurate × Fast × Comprehensive

★ 7,571⑂ 676👁 28▤ 5
PythonCreated 2026-02-02
7,571
stars
+0+2+80
676
forks
28
watchers
–
prs
–
issues
5
releases
–
discussions

README

GLM-OCR

Read this in English





    👋 加入我们的 微信群
    
    📖 查看 GLM-OCR 技术报告
    
  📍 使用 GLM-OCR 的 API


 模型介绍

GLM-OCR 是一款面向复杂文档理解的多模态 OCR 模型,基于 GLM-V 编码器—解码器架构构建。它引入 Multi-Token Prediction(MTP)损失与稳定的全任务强化学习训练策略,以提升训练效率、识别精度与泛化能力。模型集成了在大规模图文数据上预训练的 CogViT 视觉编码器、带高效 token 下采样的轻量跨模态连接器,以及 GLM-0.5B 语言解码器。结合基于 PP-DocLayout-V3 的“两阶段”流程——先做版面分析,再进行并行识别——GLM-OCR 能在多样化文档布局下提供稳健且高质量的 OCR 表现。

关键特性

- 业界领先的效果:在 OmniDocBench V1.5 上取得 94.62 分,综合排名第一;并在公式识别、表格识别、信息抽取等主流文档理解基准上达到 SOTA 水平。

- 面向真实场景优化:针对实际业务需求进行设计与优化,在复杂表格、代码密集文档、印章等各类真实且高难版面场景中依然保持稳定表现。

- 高效推理:总参数量仅 0.9B,支持通过 vLLM、SGLang 与 Ollama 部署,显著降低推理时延与算力成本,适用于高并发服务与端侧部署。

- 上手简单:全面开源,并提供完整 SDK 与推理工具链,支持便捷安装、一行调用、以及与现有生产流程的顺滑集成。

 最新动态

- [2026.3.12] GLM-OCR SDK 新增 Agent Skill 模式 — pip install glmocr + 配置 API Key,即可通过 CLI 或 Python 直接使用,无需 GPU 和 YAML 配置。详情见:GLM-OCR Skill
- [2026.3.12] GLM-OCR 技术报告已上线,详情见:GLM-OCR 技术报告
- [2026.2.12] 基于 LLaMA-Factory 的微调教程上线,详情见: GLM-OCR 微调教程

 下载模型

| 模型    | 下载链接                                                                                                                    | 精度 |
| ------- | --------------------------------------------------------------------------------------------------------------------------- | ---- |
| GLM-OCR | 🤗 Hugging Face 🤖 ModelScope | BF16 |

 GLM-OCR SDK

我们提供了 SDK,帮助你更高效、更便捷地使用 GLM-OCR。

 安装 SDK

按场景选择最轻量的安装方式:

bash
 云端 / MaaS + 本地图片/PDF(安装最快)
pip install glmocr

 自部署完整流水线(版面分析)
pip install "glmocr[selfhosted]"

 Flask 服务支持
pip install "glmocr[server]"


从源码安装, 方便修改:

bash
git clone https://github.com/zai-org/glm-ocr.git
cd glm-ocr
uv venv --python 3.12 --seed && source .venv/bin/activate
uv pip install -e .


 模型服务部署

提供三种方式使用 GLM-OCR:

 方式 1:智谱 MaaS API(推荐快速上手)

使用云端托管 API,无需 GPU。云端服务已内置完整的 GLM-OCR 流水线,SDK 只做请求中转,直接返回结果。

1. 在 https://open.bigmodel.cn 获取 API Key
2. 配置 config.yaml:

yaml
pipeline:
  maas:
    enabled: true  启用 MaaS 模式
    api_key: your-api-key  必填


配置完成!当 maas.enabled=true 时,SDK 作为轻量级封装:

- 将文档转发到智谱云端 API
- 直接返回结果(Markdown + JSON 版面详情)
- 无需本地处理,无需 GPU

输入说明(MaaS):上游接口的 file 支持传 URL 或 data:;base64,... 形式的 data URI。
如果你手上只有“纯 base64”(没有 data: 前缀),建议先包装成 data URI。SDK 在 MaaS 模式下会自动
把本地文件路径 / bytes / 纯 base64 包装成 data URI 再发送。

API 文档:https://docs.bigmodel.cn/cn/guide/models/vlm/glm-ocr

 方式 2:使用 vLLM / SGLang 自部署

本地部署 GLM-OCR 模型,完全掌控。SDK 提供完整的处理流水线:版面检测、并行区域 OCR、结果格式化。

请先安装自部署依赖:

bash
pip install "glmocr[selfhosted]"


 使用 vLLM

安装 vLLM:

bash
docker pull vllm/vllm-openai:v0.19.0-ubuntu2404


或者使用 pip:

bash
pip install -U "vllm=0.19.0"


启动服务:

bash
pip install "transformers=5.3.0"

vllm serve zai-org/GLM-OCR  --port 8080 --speculative-config '{"method": "mtp", "num_speculative_tokens": 3}' --served-model-name glm-ocr


 Note
 可按机器配置增加 --max-model-len 与 --gpu-memory-utilization 参数,以更好处理大图/大 PDF。

 使用 SGLang

安装 SGLang:

bash
docker pull lmsysorg/sglang:v0.5.10


或者使用 pip:

bash
pip install "sglang=0.5.10"


启动服务:

bash
SGLANG_ENABLE_SPEC_V2=1 sglang serve --model-path zai-org/GLM-OCR --port 8080 --speculative-algorit

Snapshot: 2026-11-04T14:00:00Z · Data license Apache-2.0 · JSON