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"]}。

部署选项

  1. 智谱 MaaS API – 在 config.yaml 中配置您的 API 密钥;SDK 转发请求,无需本地 GPU。
  2. 自托管 vLLM – vllm serve zai-org/GLM-OCR --port 8080 …(支持推测性 MTP 解码)。
  3. 自托管 SGLang – 类似的启动命令,带有推测设置。
  4. Apple Silicon / MLX – 参见 examples/mlx-deploy。
  5. Ollama – 参见 examples/ollama-deploy。
  6. 无 GPU 客户端 – 在 GPU 机器上运行 SDK 服务器,并通过 api_url 将其他机器指向它。

模型下载 – 托管在 Hugging Face 和 ModelScope 上(BF16 精度)。

许可证 – 代码遵循 Apache 2.0;GLM‑OCR 模型权重遵循 MIT;布局检测器遵循 Apache 2.0。

资源

関連

  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト