このプロジェクトについて

OpenAI Harmonyは、OpenAIのオープンウェイトgpt-ossモデルがトレーニングされた会話構造であるハーモニーレスポンス形式を操作するためのライブラリです。READMEによると、gpt-ossはハーモニー形式なしでは正しく機能しないため、使用すべきではありません。HuggingFace、Ollama、vLLMなどのAPIやプロバイダーを通じてgpt-ossにアクセスするユーザーは、推論ソリューションがフォーマット処理を行うため、自分でフォーマットを扱う必要はありません。このライブラリは、独自の推論ソリューションを構築する開発者を対象としています。 この形式はOpenAI Responses APIを模倣するように設計されており、チェーン・オブ・ソート、ツール呼び出しの前文、通常のレスポンス、ツール名前空間、構造化出力、命令階層のための複数の出力チャネルをサポートしています。READMEには、ツール定義を含むシステム、開発者、ユーザーメッセージを示す例のプロンプトが含まれています。 主な特徴は以下の通りです: - 一貫したフォーマット:レンダリングとパーシングの共有実装により、トークンシーケンスが損失なく保持されます。 - パフォーマンス:重い処理はRustで実装されています。 - Pythonサポート:pipでインストール可能で、型付きスタブとRustテストスイートとのテスト同等性を備えています。 リポジトリには、Rustクレート(チャットデータ構造、エンコーディング/レンダリングとパーシング、組み込みエンコーディングレジストリ、テスト、PyO3バインディング)と、データクラスとヘルパーAPIを公開する純Pythonラッパーが含まれています。Pythonのインストールは`pip install openai-harmony`または`uv pip install openai-harmony`で行います;Rustの使用では、Cargo.tomlにgit依存関係としてクレートを追加します。例では、HARMONY_GPT_OSSエンコーディングのロード、メッセージからのConversationの構築、完了のためのレンダリング、完了トークンからのメッセージのパーシングを示しています。 ローカル開発には、安定したRustツールチェーン、仮想環境を持つPython 3.8以上、maturinが必要です。ワークフローでは、`maturin develop --release`を使用してRustクレートをコンパイルし、Pythonパッケージを編集可能モードでインストールします。テストは、Rustでは`cargo test`、Pythonでは`pytest`で実行され、PythonスイートはRustテストの一対一の移植と説明されています。オプションのツールには、型チェック用のmypy、リンティング用のruff、フォーマット用のcargo fmtが含まれます。