世界を動かす技術を、日本語で。

OpenAI ハーモニー

概要

OpenAI Harmony は、gpt-ossモデルシリーズのための 統一レスポンスフォーマットPythonRust 両方の実装を提供し、高速で一貫したフォーマット処理を実現。 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:mypyruff
    • Rust:cargo fmt

ディレクトリ構成

  • src/:Rustクレート本体
    • chat.rs:会話データ構造
    • encoding.rs:レンダリング・パース実装
    • tests.rs:Rustテスト
    • py_module.rs:PyO3バインディング
  • harmony/:Pythonラッパー
    • __init__.py:dataclassesとAPI
    • tests/:Pythonテスト
  • ルート:Cargo.tomlpyproject.tomlREADME.md

まとめ

  • OpenAI Harmony はgpt-ossモデルのための 高速・一貫フォーマット基盤
  • Python/Rust両対応 で幅広い開発スタイルに最適
  • 独自推論実装時は必須技術、API経由では自動化
  • 開発・テスト・型チェック のガイドも明快

Hackerたちの意見

どのリンクも機能してない? - https://gpt-oss.com/ 認証が必要? - https://openai.com/open-models/ なんか空っぽじゃない? - https://cookbook.openai.com/topic/gpt-oss 404 - https://openai.com/index/gpt-oss-model-card/ 空のページ?俺、インターネットの使い方間違ってる?

今日はオープンウェイトモデルが出そうだね。

今、リリース作業中なんじゃないかな。すぐにオンラインになると思うよ。

あと、https://cookbook.openai.com/articles/openai-harmony がREADMEに3回も参照されてるけど、404になってるね。

おそらくGitHubを使ってて、今のGitHubの障害でリリースが遅れてるんだろうね。

俺、インターネットの使い方間違ってる? GitHubの障害がリリースを遅らせてるよ。

新しいtransformersのリリースがモデルについて説明してるよ: https://github.com/huggingface/transformers/releases/tag/v4.... > GPT OSSは、強力な推論、エージェントタスク、そして多様な開発者ユースケースのために設計された、OpenAIによる非常に期待されているオープンウェイトリリースだよ。117Bパラメータの大きなモデル(gpt-oss-120b)と、21Bパラメータの小さなモデル(gpt-oss-20b)の2つのモデルが含まれてる。どちらも専門家の混合(MoE)で、4ビット量子化スキーム(MXFP4)を使っていて、アクティブなパラメータが少ないおかげで高速推論が可能(詳細は下に)で、リソース使用も低く抑えられてる。大きなモデルは単一のH100 GPUに収まるし、小さい方は16GBのメモリ内で動作して、消費者向けハードウェアやデバイス上のアプリケーションにぴったりだよ。

誰かがGitHubのリポジトリを早く公開しちゃったんじゃないかな。

https://ollama.com/library/gpt-oss

OpenAIの発表には、リンクがまだ動かないって文句言ってるスレッドが必ずあるよね。まるで、10個の相互に関連したウェブサイトを瞬時に展開できるかのように。

インターネットの使い方間違ってる?多分そうだね、だって俺には全部すぐ開くから。

ペリカンはいつ?

ペリカンって何?

ペリカンはいつだろう.... 自転車はいつ?

これがうまくいって、ペリカンに関するデータが自転車と何らかの形で結びついて、ペリカンや自転車について正しい情報が得られないけど、自転車に乗ったペリカンは見られるようになったらいいな。

gpt-ossモデルはhuggingfaceにホスティングされてるらしいよ。 https://www.bleepingcomputer.com/news/artificial-intelligenc...

(3日前の時点で)

このフォーマット、もしくは似たようなフォーマットが今のスタンダードみたいだね。「Lessons from Building Manus」っていう投稿を読んでたんだけど、そこではHermesフォーマットについて話してて、擬似XML的なところが似てるなって思った。最初は全体的にハッキーな感じがするなと思ったけど、実際に機能して複雑な動作を引き起こす(例えば、Manusの投稿で特定のツール選択を強制するみたいな)っていうのは、シンプルでエレガントだなとも思った。あと、余談だけど、各標準タグがOpenAIのリポジトリでは単一のトークンになってるのはいいことだね。

リンクは今は動いてるみたいだね: - https://openai.com/index/introducing-gpt-oss/ - https://cdn.openai.com/pdf/419b6906-9da6-406c-a19d-1bb078ac7...

昨日、AIにおける調和の役割についてプレゼンをしたんだ。哲学的な興味からね。以前、調和の概念について大きな文献レビューを書いたことがあるよ(ここにあるよ: https://www.sciencedirect.com/science/article/pii/S240587262...)。スライドが気になる人は、ここを見てね: Bit.ly/ozora2025。調和の概念を一貫した応答形式を指すために使ってるのかな?それともオープンウェイトのリリースを意図してるのかな?

ゼロコピーじゃないせいで、どれだけパフォーマンスが無駄になってるのか気になるな。

予想: GPT-5は、並列推論のためにモデルのコンソーシアムを使うだろうね。おそらく、ossバージョンも含まれるかも。それぞれが調和仕様の異なる「チャネル」を使う感じ。llm-consortiumのブランチがあって、各メンバーモデルに役割を与えることを考えてたんだけど、アイデアを評価するのが高くつくから保留にしてたんだ。でも、今はossモデルが安くなったから、試してみるかも。

qwenみたいな他のモデルがこれを使うことについてどう思う?失礼だけど、この方法がエキスパートの混合より優れてると思ってるの?どう思う?