Skip to main content
Weave の OpenAI’s Realtime API とのインテグレーションにより、アプリケーションの speech-to-speech インタラクションを発生時に自動的にトレースできます。これを使用して、エージェントとユーザーの会話 を取得し、エージェントのパフォーマンス をレビューおよび評価できます。 このガイドでは、アプリケーションで Realtime API トレース を有効にする方法を示し、Python と TypeScript でローカルに実行できるエンドツーエンドのサンプル を順を追って説明します。

リアルタイム トレースを統合する

このセクションでは、任意のアプリケーションで OpenAI リアルタイム API の Weave トレースを有効にするために必要な最小限のコードを示します。
Weave は OpenAI リアルタイム API に自動的にパッチを適用し、アプリケーションからのオーディオインタラクションの取得を開始するために、わずか数行の追加コードのみが必要です。以下のコードは Weave と リアルタイム API インテグレーションをインポートします:
コードにインポートして実行すると、Weave はユーザーと OpenAI リアルタイム API 間のインタラクションを自動的にトレースします。

OpenAI Agents SDK でリアルタイムのエージェントを実行する

この例では、マイクのオーディオを OpenAI の Realtime API にストリーミングし、AI の音声応答をローカルマシンのスピーカーから再生するリアルタイム音声アシスタントを実行します。このアプリケーションは OpenAI Agents SDK の RealtimeAgent と RealtimeRunner を使用し、patch_openai_realtime() でパッチを適用して Weave のトレースを有効にします。Realtime セッションの管理を上位レベルの Agents SDK に任せたい場合は、この方法を使用してください。サンプルを実行するには、次の手順に従ってください。
  1. Python 環境を起動し、次のライブラリをインストールします。
  2. weave_voice_assistant.py という名前のファイルを作成し、以下のコードを記述します。 ハイライトされた行は、アプリケーションにWeaveを組み込む部分です。残りのコードで、基本的な音声アシスタントアプリを作成します。
  3. DEFAULT_WEAVE_PROJECT の値を、自分のチーム名とプロジェクト名に変更します。
  4. 環境変数 OPENAI_API_KEY を設定します。
  5. 音声アシスタントを起動します。
アシスタントの実行中は、キーボードの T キーを押すとマイクのミュートを切り替えられます。アシスタントはサーバー側の音声アクティビティ検出を使用して、話者交代や割り込みを処理します。アシスタントと会話すると、Weave がトレースを取得します。取得したトレースは、セッションのオーディオも含めて Weights & Biases UI で確認できます。

WebSocket を使用してリアルタイム音声アシスタントを実行する

次の Python の例では、WebSocket を介して OpenAI Realtime API に直接接続します。マイクのオーディオを API にストリーミングし、音声の応答を再生し、ツール呼び出し (天気のルックアップ、数学の評価、コードの実行、ファイルの書き込み) をサポートします。Weave は weave.init() と patch_openai_realtime() を使用してセッションをトレースします。Agents SDK に依存せずに Realtime セッションをフルコントロールしたい場合に、このアプローチを使用してください。 この例を実行するには、次の手順を完了してください:
  1. Python 環境を起動し、次のライブラリをインストールします。
  2. tool_definitions.py という名前のファイルを作成し、次のツール定義を追加します。メインアプリケーションは、このモジュールからインポートして使用します。
  3. 同じディレクトリに weave_ws_voice_assistant.py という名前のファイルを作成し、次のコードを追加します。
  4. weave.init() の呼び出しを、ご自身のチーム名とプロジェクト名に更新します。
  5. 環境変数 OPENAI_API_KEY を設定します。
  6. 音声アシスタントを起動します:
アシスタントが実行中になったら、キーボードの T を押してマイクをミュートまたはミュート解除します。アシスタントはサーバー側音声アクティビティ検出を使用してターン交代と割り込みを処理します。 アシスタントに話しかけると、Weave はセッションのオーディオを含むトレースを取得し、Weights & Biases UI で確認できます。
最終更新日 2026年9月30日