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

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

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

OpenAI Agents SDK を使用してリアルタイムエージェントを実行する

この例では、マイクのオーディオを OpenAI の Realtime API にストリーミングし、AI の音声応答をローカルマシンのスピーカーで再生するリアルタイム音声アシスタントを実行します。このアプリケーションは、OpenAI Agents SDK の RealtimeAgentRealtimeRunner を使用し、patch_openai_realtime() でパッチを適用して Weave tracing を有効化します。より高レベルな Agents SDK に Realtime セッションの管理を任せたい場合は、この方法を使用してください。この例を実行するには、次の手順を実施します:
  1. Python 環境を起動して、次のライブラリをインストールします:
  2. weave_voice_assistant.py という名前のファイルを作成し、次のコードを追加します。 ハイライトされた行は、アプリケーション内での Weave のインテグレーションを示しています。残りのコードは、基本的な音声アシスタントアプリを作成するものです。
  3. DEFAULT_WEAVE_PROJECT の値をチーム名とプロジェクト名に更新します。
  4. OPENAI_API_KEY 環境変数を設定します。
  5. 音声アシスタントを起動します:
アシスタントの実行中は、キーボードの T を押すとマイクのミュート/ミュート解除を切り替えられます。アシスタントはサーバー側の音声アクティビティ検出により、発話の切り替わりや割り込みを処理します。アシスタントに話しかけると、Weave はセッションのオーディオを含むトレースを取得し、Weave UI で確認できます。

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

次の Python の例では、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 で確認できます。