概要
OpenAI Harmony は、gpt-ossモデルシリーズのための 統一レスポンスフォーマット。 Python と Rust 両方の実装を提供し、高速で一貫したフォーマット処理を実現。 API利用時は 自動でフォーマット されるが、独自推論実装時は harmony形式必須。 開発・テスト環境 のセットアップ方法やコントリビュート手順も網羅。 機能拡張性 と 構造化出力 を重視した設計。
OpenAI Harmony概要
- gpt-ossモデル 専用のレスポンスフォーマット
- 会話構造・推論出力・関数呼び出し を一貫して管理
- OpenAI Responses API 互換設計
- 複数チャンネル出力 (chain of thought、tool calling、通常応答)対応
- 命令階層 と ツールネームスペース 指定機能
利用時のポイント
- API経由 (HuggingFace、Ollama、vLLMなど)では フォーマット自動管理
- 独自推論環境 構築時は harmony形式 の厳守が必要
- harmony形式未使用 ではgpt-ossは 正常動作不可
Pythonでの利用方法
- PyPI からインストール:
pip install openai-harmony
- 主要クラス/関数
load_harmony_encoding,HarmonyEncodingName,Role,Message,Conversation
- 会話レンダリング例
- 会話履歴をトークン列に変換し、モデル応答後に パース 可能
- ドキュメント と 型ヒント も充実
Rustでの利用方法
- Cargo.toml に依存追加:
openai-harmony = { git = "https://github.com/openai/harmony" }
- 主要構造体/関数
Message,Role,Conversation,load_harmony_encoding
- 会話レンダリング と パース をRustコードで実装可能
開発・コントリビュートガイド
- Rustコア と Pythonラッパー の二層構造
- Rust: チャット/エンコーディングロジック、トークナイザー
- Python: dataclasses、ラッパーAPI
- ローカル開発手順
- Rustツールチェーン・Python3.8以上・maturinの準備
- 仮想環境作成、依存インストール、maturinでビルド
- RustとPython両方の テストスイート で動作検証
- 型チェック・フォーマット
- Python:
mypy、ruff - Rust:
cargo fmt
- Python:
ディレクトリ構成
src/:Rustクレート本体chat.rs:会話データ構造encoding.rs:レンダリング・パース実装tests.rs:Rustテストpy_module.rs:PyO3バインディング
harmony/:Pythonラッパー__init__.py:dataclassesとAPItests/:Pythonテスト
- ルート:
Cargo.toml、pyproject.toml、README.md
まとめ
- OpenAI Harmony はgpt-ossモデルのための 高速・一貫フォーマット基盤
- Python/Rust両対応 で幅広い開発スタイルに最適
- 独自推論実装時は必須技術、API経由では自動化
- 開発・テスト・型チェック のガイドも明快