メインコンテンツへスキップ
Weave の OpenAI Realtime API とのインテグレーションにより、アプリケーションで発生する音声対音声のやり取りをリアルタイムで自動的にトレースできます。これを使用すると、エージェントとユーザーの会話をキャプチャして、エージェントのパフォーマンスを確認・評価できます。 このガイドでは、アプリケーションで Realtime API のトレースを有効にする方法を説明し、ローカルで実行できる 2 つのエンドツーエンドの音声アシスタントの例を紹介します。

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

このセクションでは、あらゆるアプリケーションで OpenAI Realtime API の Weave トレースを有効にするために必要な最小限のコードを示します。 Weave は OpenAI Realtime API に自動的にパッチを適用するため、アプリケーションでのオーディオインタラクションのキャプチャを開始するには、数行のコードを追加するだけです。以下のコードでは、Weave と Realtime API のインテグレーションをインポートします。
コードにimportして実行すると、Weave はユーザーと OpenAI Realtime API 間のやり取りを自動的にトレースします。

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

この例では、マイクの音声を OpenAI の Realtime API にストリーミングし、AI の音声による応答をローカルマシンのスピーカーで再生するリアルタイム音声アシスタントを実行します。このアプリケーションは RealtimeAgentRealtimeRunner を使用する OpenAI Agents SDK を利用し、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 がセッションのオーディオを含むトレースを記録し、それを Weave UI で確認できます。

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

次の例では、WebSockets 経由で 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 がセッションのオーディオを含むトレースを記録し、それを Weave UI で確認できます。