**GLM‑OCR:正確さ × 高速さ × 網羅性**

2026/02/07 23:15

**GLM‑OCR:正確さ × 高速さ × 網羅性**

RSS: https://news.ycombinator.com/rss

要約

Japanese Translation:


要約

GLM‑OCR は、軽量でオープンソースのマルチモーダル OCR システムです。最先端の性能を提供しつつ、デプロイが容易です。GLM‑V エンコーダ–デコーダアーキテクチャに基づき、Multi‑Token Prediction (MTP) ロスと安定したフルタスク強化学習を組み込んでおり、効率的なトレーニングと精度向上が実現されています。ビジュアル フロントエンドは CogViT を使用し、軽量なクロスモーダルコネクタとしてトークンを効率的にダウンサンプルします;言語デコーダは 0.5 B パラメータの GLM モデルです。レイアウト解析には PP‑DocLayout‑V3 を二段階パイプラインで統合しています。

主な実績

  • OmniDocBench V1.5 で 94.62(総合 #1)を達成し、数式認識・表認識・情報抽出ベンチマーク全てでトップの結果を示しました。
  • パラメータはわずか 0.9 B で、vLLM、SGLang、Ollama を通じた低レイテンシ推論が可能。高同時実行サービスやエッジデバイスに適しています。

デプロイと統合

  • Hugging Face と ModelScope(BF16)で Apache 2.0(コード)/MIT(モデル)のライセンスの下で公開されています。
  • SDK は単一行 CLI コマンド (
    glmocr parse
    )、Python API(
    parse()
    関数または
    GlmOcr
    クラス)、Flask サービス (
    python -m glmocr.server
    ) を提供し、ホスト・ポート・タイムアウト・ロギングを設定可能です。
  • 出力は構造化 JSONMarkdown。レイアウトモードが有効な場合は切り出した画像領域も返します。
  • モジュラーアーキテクチャ(PageLoader、OCRClient、PPDocLayoutDetector、ResultFormatter)によりカスタム拡張が容易です。

デプロイオプション

  1. クラウドホスト型 Zhipu MaaS API – GPU不要で Markdown + JSON レイアウト情報を返します。
  2. vLLM または SGLang で自己ホストし、フルコントロールを実現。MTP スペクタティブデコードもオプションで使用可能です。
  3. エッジシナリオ向けにローカル Ollama/MLX デプロイメント。

オープンソースライセンスと包括的 SDK により、GLM‑OCR は業界横断で迅速かつコスト効率の高い OCR ソリューションを提供し、推論を軽量化・スケーラブルに保ちます。

本文

GLM‑OCR

コミュニティに参加しよう

  • 👋 WeChat
  • 🤝 Discord

GLM‑OCR API の利用方法


モデル紹介

GLM‑OCR は、複雑な文書理解を目的としたマルチモーダル OCR モデルで、GLM‑V エンコーダ―デコーダーアーキテクチャに基づいて構築されています。主な特徴は以下の通りです。

  • Multi‑Token Prediction (MTP) 損失
  • 安定したフルトスクール学習

主要コンポーネント:

  • 大規模画像・テキストデータで事前学習された CogViT ビジュアルエンコーダー
  • 効率的なトークンダウンサンプリングを備えた軽量クロスモーダルコネクタ
  • GLM‑0.5B 言語デコーダ

PP‑DocLayout‑V3 に基づくレイアウト解析と並列認識の二段階パイプラインにより、GLM‑OCR は多様な文書レイアウトで堅牢かつ高品質な OCR を実現します。


主な特徴

FeatureDescription
最先端性能OmniDocBench V1.5 で 94.62 点(全体トップ #1)。数式認識、表認識、情報抽出で優れた結果を示します。
実世界に最適化複雑な表やコード中心の文書、印章など難しいレイアウトでも安定した性能を発揮します。
効率的な推論0.9 B パラメータで、vLLM、SGLang、Ollama 等でデプロイ可能。低い遅延と計算コストで、高同時接続サービスやエッジデプロイに最適です。
使いやすさ完全オープンソースで包括的な SDK と推論ツールチェーンを提供。ワンライナー呼び出しで本番パイプラインへのシームレス統合が可能です。

モデルダウンロード

ModelPrecisionLinks
GLM‑OCRBF16🤗 Hugging Face / 🤖 ModelScope

GLM‑OCR SDK

インストール(uv)

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 .

モデルデプロイ

オプション 1 – Zhipu MaaS API(クイックスタート推奨)

  1. https://open.bigmodel.cn から API キーを取得
  2. config.yaml
    を設定:
pipeline:
  maas:
    enabled: true          # MaaS モード有効化
    api_key: your-api-key  # 必須

SDK はドキュメントをクラウド API に転送し、Markdown + JSON レイアウト情報を返します。ローカル GPU は不要です。

オプション 2 – vLLM / SGLang を使ったセルフホスト

vLLM の使用例

uv pip install -U vllm --torch-backend=auto \
  --extra-index-url https://wheels.vllm.ai/nightly
# Docker 版
docker pull vllm/vllm-openai:nightly

起動:

vllm serve zai-org/GLM-OCR \
  --allowed-local-media-path / \
  --port 8080 \
  --speculative-config '{"method":"mtp","num_speculative_tokens":1}' \
  --served-model-name glm-ocr

SGLang の使用例

docker pull lmsysorg/sglang:dev
# ソースからビルドする場合
uv pip install git+https://github.com/sgl-project/sglang.git#subdirectory=python

起動:

python -m sglang.launch_server \
  --model zai-org/GLM-OCR \
  --port 8080 \
  --speculative-algorithm NEXTN \
  --speculative-num-steps 3 \
  --speculative-eagle-topk 1 \
  --speculative-num-draft-tokens 4 \
  --served-model-name glm-ocr

起動後、

config.yaml
を更新:

pipeline:
  maas:
    enabled: false   # MaaS モードを無効化(デフォルト)
  ocr_api:
    api_host: localhost
    api_port: 8080

オプション 3 – Ollama / MLX

Apple Silicon 用の

mlx-vlm
や、Ollama を使ったシンプルなローカルデプロイに関する詳細ガイドは別途ご確認ください。


SDK 使用ガイド

CLI

# 単一画像を解析
glmocr parse examples/source/code.png

# ディレクトリ内の画像を解析
glmocr parse examples/source/

# 出力ディレクトリを指定
glmocr parse examples/source/code.png --output ./results/

# カスタム設定ファイルを使用
glmocr parse examples/source/code.png --config my_config.yaml

# デバッグログとプロファイリング有効化
glmocr parse examples/source/code.png --log-level DEBUG

Python API

from glmocr import GlmOcr, parse

# シンプル関数呼び出し
result = parse("image.png")
result = parse(["img1.png", "img2.jpg"])
result = parse("https://example.com/image.png")
result.save(output_dir="./results")

# クラスベース API
with GlmOcr() as parser:
    result = parser.parse("image.png")
    print(result.json_result)
    result.save()

Flask サービス

python -m glmocr.server          # サービス起動
python -m glmocr.server --log-level DEBUG  # デバッグログ付きで起動

# API 呼び出し例
curl -X POST http://localhost:5002/glmocr/parse \
     -H "Content-Type: application/json" \
     -d '{"images": ["./example/source/code.png"]}'

意味論

  • images
    は文字列またはリストで指定可能。
  • リストの場合、1 つのドキュメントのページとして扱われます。
  • 複数の独立したドキュメントを処理する場合は、リクエストごとにエンドポイントを呼び出してください。

設定ファイル (
glmocr/config.yaml
)

server:
  host: "0.0.0.0"
  port: 5002
  debug: false

logging:
  level: INFO   # DEBUG を設定するとプロファイリングが有効になる

pipeline:
  ocr_api:
    api_host: localhost
    api_port: 8080
    api_key: null
    connect_timeout: 300
    request_timeout: 300

  page_loader:
    max_tokens: 16384
    temperature: 0.01
    image_format: JPEG
    min_pixels: 12544
    max_pixels: 71372800

  result_formatter:
    output_format: both   # json, markdown, or both

  enable_layout: false

出力フォーマット

JSON

[
  {
    "index": 0,
    "label": "text",
    "content": "...",
    "bbox_2d": null
  }
]

Markdown

# Document Title

Body...

| Table | Content |
| ----- | ------- |
| ...   | ...     |

パイプライン実行例

python examples/example.py

出力構成(入力ごとにフォルダを作成):

  • result.json
    – 構造化 OCR 結果
  • result.md
    – Markdown 結果
  • imgs/
    – レイアウトモード有効時の切り抜き画像領域

モジュラーアーキテクチャ

コンポーネント説明
PageLoader前処理と画像エンコーディング
OCRClientGLM‑OCR モデルサービスへの呼び出し
PPDocLayoutDetectorPP‑DocLayout によるレイアウト検出
ResultFormatter後処理、JSON/Markdown 出力

カスタムパイプライン例

from glmocr.dataloader import PageLoader
from glmocr.ocr_client import OCRClient
from glmocr.postprocess import ResultFormatter

class MyPipeline:
    def __init__(self, config):
        self.page_loader = PageLoader(config)
        self.ocr_client  = OCRClient(config)
        self.formatter   = ResultFormatter(config)

    def process(self, request_data):
        # カスタムロジックを実装
        pass

謝辞

本プロジェクトは以下の優れた研究成果に基づいて構築されています。

  • PP‑DocLayout‑V3
  • PaddleOCR
  • MinerU

ライセンス

コンポーネントライセンス
コード(リポジトリ)Apache License 2.0
GLM‑OCR モデルMIT
PP‑DocLayout‑V3Apache License 2.0

本プロジェクトを利用する際は、両方のライセンスに準拠してください。

同じ日のほかのニュース

一覧に戻る →

2026/02/12 1:21

フッ素石(Fluorite)― Flutterと完全に統合されたコンソールレベルのゲームエンジン

## 日本語訳: **改善された要約** Fluoriteは、Flutterと完全に統合された最初のコンソールグレードゲームエンジンであり、開発者がDartでゲームロジックをすべて記述しながら、高性能な3Dグラフィックスを提供できます。そのコアは、低価格/組み込みハードウェアで高速に動作するC++で書かれたデータ指向のEntity‑Component System(ECS)であり、GoogleのFilamentレンダラーとVulkanを併用して物理的に正確な照明、ポストプロセッシング効果、およびカスタムシェーダーを実現しています。Flutterとの統合によりホットリロードが可能となり、シーンの変更は数フレーム以内に表示されるため、ゲームメカニクス、アセット、コードの迅速な反復が可能です。ゲームロジックは馴染み深い高水準Dart APIを介して公開され、FluoriteViewウィジェットは複数の同時3Dシーンをホストでき、ゲームエンティティとUIウィジェット間で状態を共有します。アーティストはBlenderでタッチトリガーゾーンを定義し、インタラクティブなゲームプレイ用にonClickイベントを発火させることができます。将来のリリースでは機能追加が計画されており、エンジンの能力を拡張し、インディー開発スタジオやホビイストの参入障壁を低減します。

2026/02/12 3:06

ネットニュースワイヤー、開業23周年を迎える --- (Note: The translation keeps the length and conveys that NetNewsWire is turning 23 years old.)

## Japanese Translation: > **概要:** > NetNewsWireは23周年を迎え、歴史的なバージョン 1.0 のリリースを祝うとともに、将来のアップデートに向けた明確で段階的なロードマップを提示しています。バージョン 7.0 は2月11日にリリースされ、即時修正パッチ 7.0.1 が回帰や直ちに必要な調整を解決します。チームはまだ多くのバグ、技術的負債、および仕上げ作業に直面していますが、昨年のブレント氏の退職によってこれらの課題に取り組むリソースが確保されました。 > > 今後の展望として、バージョン 7.1 はデバイス間で記事を一貫して同期させるための修正に注力し、7.2 は柔軟性を保ちつつユーザー体験の仕上げやタスクの組み合わせを追加する可能性があります。まだ 7.3 の具体的な計画は存在せず、今後の作業は 7.1/7.2 の成果と Apple の WWDC で発表される新しいプラットフォーム機能(例:タッチスクリーン Mac、折りたたみ iPhone、新しい Swift 機能)に依存します。マイルストーンチケットは流動的であり、追加や削除がいつでも行われる可能性があります。 > > ユーザーにとっては、より信頼性の高いパフォーマンス、スムーズなデバイス間同期、および時折の UI 改善が期待できます。この周年記念は、競争の激しい RSS リーダー市場で継続的に NetNewsWire を改善し続ける自信を示す前向きな祝賀として提示されています。

2026/02/12 3:23

「Claude のコードが簡略化されています」

## Japanese Translation: --- ## Summary Claude Code **version 2.1.20** は、ファイル読み込みと検索パターンをすべて単一のサマリー行(「Read 3 files.」「Searched for 1 pattern.」)に置き換えます。この変更により、デフォルト出力から明示的なパスやパターンが削除され、重要なデバッグ情報が隠れているとユーザーからの苦情が増えました。 ユーザーは現在 **verbose mode(詳細モード)** を有効にするか(サブエージェントトランスクリプト全体、フック出力、ファイル全内容をダンプ)、または verbose mode 内で **Ctrl+O** を押して欠落した詳細情報を取得しなければなりません。しかし、verbose mode 自体は複数のリリースで冗長性を削減するために縮小されており、それでも多くのエージェントからの大きなテキストブロックが生成され、行単位の簡潔なログではなくなっています。 この変更はほとんどのユーザーのノイズを減らす目的で導入されたため、Anthropic の GitHub コメントでの回答は「verbose mode を試しましたか?」というものが主流でした。ユーザーからはよりシンプルなトグルを求める声もあり、多くの開発者が **version 2.1.19** に戻すか、verbose mode を必要とせずに詳細ファイルパスや検索パターンを復元する簡易的なブール設定フラグを呼びかけています。 そのようなトグルが追加されれば、開発者はクリーンなデフォルトビューと詳細なデバッグビューの間を素早く切り替えられ、生産性を向上させつつインターフェースを整理されたままに保てます。

**GLM‑OCR:正確さ × 高速さ × 網羅性** | そっか~ニュース