zai-org/GLM-OCR を使ったローカルOCRサーバーです。
FastAPI + シンプルなWeb UIで、画像/PDFをページ単位でOCRできます。
- GLM-OCR推論(
text/table/formula/extract_json) - PDF入力(
pypdfium2でページを画像化してOCR) - 進捗表示(
事前処理中->i/nページをOCR中) - 実行中断(中断API + UIボタン)
- 改行後処理モード(
none/paragraph/compact) - ページ表示切替(ドロップダウン +
ALL合算表示) - 表示中結果のコピー(
rawはコピー対象外) - モデル/キャッシュはプロジェクト配下に保存
- Python 3.10+
- Windows または Linux/macOS
- CUDA使用時は対応GPU + ドライバ
run.batchmod +x run.sh
./run.sh起動後:
- UI:
http://localhost:8000/ - API Docs:
http://localhost:8000/docs
プロジェクト直下に .env を置くと、run.sh / run.bat 起動時に読み込みます。
例:
HOST=0.0.0.0
PORT=9000
TORCH_CHANNEL=cu126主な設定値:
HOST: バインドアドレス(既定0.0.0.0)PORT: 起動ポート(既定8000)TORCH_CHANNEL: PyTorch配布チャネル(例cu126,cpu)
モデルキャッシュはプロジェクト内に保存されます。
models/hf_cachemodels/hf_home
環境変数 GLM_MODEL_CACHE で明示可能です。
CUDA可否やモデルID、キャッシュディレクトリを返します。
マルチパートフォームでOCR実行。
フォーム項目:
file(required): 画像/PDFdevice:auto/cuda/cpudpi: PDFレンダリングDPItask:text/table/formula/extract_jsonlinebreak_mode:none/paragraph/compactschema:task=extract_jsonのとき必須max_new_tokenstemperaturerequest_id(任意。未指定時は自動採番)
進捗状態を取得します。
中断要求を送信します。
生成中はトークン生成ステップ単位で停止判定します。
- このプロジェクト:
LICENSE(MIT) - サードパーティ情報:
THIRD_PARTY_NOTICES.md
