zai-org/GLM-OCR
GLM-OCR: Accurate × Fast × Comprehensive
GLM‑OCR – 用于复杂文档的多模态 OCR 模型
它是什么 – GLM‑OCR 是一个 0.9 B 参数的多模态 OCR 系统,基于 GLM‑V 编码器‑解码器架构构建。它结合了视觉编码器(CogViT)、轻量级跨模态连接器和 GLM‑0.5B 语言解码器,以及由 PP‑DocLayout‑V3 驱动的两阶段流水线(布局分析 → 并行区域识别)。该模型使用多令牌预测损失和全任务强化学习进行训练,以提高在具有挑战性的文档(表格、公式、代码、印章等)上的准确性和泛化能力。
关键能力
- 最先进的准确性 – 在 OmniDocBench V1.5 上达到 94.62 %,在多个文档理解基准测试中排名靠前。
- 紧凑且快速 – 0.9 B 参数;可使用 vLLM、SGLang 或 Ollama 提供服务,具有低延迟和低计算成本。
- 灵活部署 – 云 MaaS API(无需 GPU)、通过 vLLM/SGLang 自托管、Apple 芯片优化的 MLX 或 Ollama。还支持无 GPU 的客户端‑服务器模式。
- 易于集成 – Python SDK(
glmocr)、CLI、Flask 服务器,以及用于代理式调用的“技能”模式。
安装
# 快速、面向云的使用(无需 GPU)
pip install glmocr
# 自托管流水线(包含布局检测器)
pip install "glmocr[selfhosted]"
# 可选 Flask 服务器
pip install "glmocr[server]"
对于开发,您可以使用 uv 虚拟环境从源码安装。
典型用法
- CLI –
glmocr parse path/to/image.png(支持目录、自定义配置、布局设备选择等)。 - Python API –
from glmocr import parse, GlmOcr result = parse("image.png") result.save("./out") # 或基于类以获得更多控制 with GlmOcr(layout_device="cpu") as ocr: r = ocr.parse("image.png") - Flask 服务 –
python -m glmocr.server然后 POST JSON{"images": ["./doc.png"]}。
部署选项
- 智谱 MaaS API – 在
config.yaml中配置您的 API 密钥;SDK 转发请求,无需本地 GPU。 - 自托管 vLLM –
vllm serve zai-org/GLM-OCR --port 8080 …(支持推测性 MTP 解码)。 - 自托管 SGLang – 类似的启动命令,带有推测设置。
- Apple Silicon / MLX – 参见
examples/mlx-deploy。 - Ollama – 参见
examples/ollama-deploy。 - 无 GPU 客户端 – 在 GPU 机器上运行 SDK 服务器,并通过
api_url将其他机器指向它。
模型下载 – 托管在 Hugging Face 和 ModelScope 上(BF16 精度)。
许可证 – 代码遵循 Apache 2.0;GLM‑OCR 模型权重遵循 MIT;布局检测器遵循 Apache 2.0。
资源
- 技术报告:https://arxiv.org/abs/2603.10910
- API 文档:https://docs.z.ai/guides/vlm/glm-ocr
- 社区:README 中的微信和 Discord 链接。
相关
- 项目
- 项目
- 项目
- 项目