Skip to main content
Weave の OpenAI Realtime API とのインテグレーションにより、アプリケーションで発生する音声対音声のやり取りをリアルタイムで自動的にトレースできます。これを使用すると、エージェントとユーザーの会話をキャプチャして、エージェントのパフォーマンスを確認・評価できます。

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

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 トレースを有効にします。 例を実行するには:
  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() を使用してセッションをトレースします。 例を実行するには:
  1. Python 環境を起動し、次のライブラリをインストールしてください。
  2. tool_definitions.py という名前のファイルを作成し、次のツール定義を追加します。メインのアプリケーションはこのモジュールをインポートします。
  3. 同じディレクトリに weave_ws_voice_assistant.py というファイルを作成し、次のコードを追加します。
  4. weave.init() の呼び出しを、チーム名とプロジェクト名に合わせて更新します。
  5. OPENAI_API_KEY 環境変数を設定してください。
  6. 次のコードを実行します:
起動したら、キーボードの T キーを押してマイクのミュートを切り替えます。アシスタントは、発話のターン管理と割り込みの処理に、サーバー側の音声アクティビティ検出を使用します。 アシスタントに話しかけると、Weave がセッションのオーディオを含むトレースを記録し、それを Weave UI で確認できます。