GPT-Live は音声でユーザーと会話し、その間にバックエンドのエージェントが情報を調べ、ツールを使ってタスクを完了します。GPT-Live は話しながら相手の声を聞くこともできます(全二重通信)。タスクをバックエンドに任せることを委譲と呼びます。
たとえば、ユーザーは注文について質問し、バックエンドが注文状況を確認している間に追加の情報を伝えられます。GPT-Live はユーザーとの会話を続け、結果が届いたらその内容を説明できます。バックエンドで使うモデルやエージェントは、音声モデルとは別に選べます。
GPT-Live とバックエンドの役割
- GPT-Live は会話を担当します。 ユーザーの話を聞いて音声で応答し、いつバックエンドに処理を依頼するかを判断します。会話のスタイルとタスクを委譲する条件を短いプロンプトで指定します。
- バックエンドは委譲されたタスクを担当します。 Responses 委譲では、対応する Responses モデルを使用します。クライアント委譲では、アプリケーションで実行する任意のモデル、エージェントハーネス、サービスを接続できます。バックエンドは推論を行い、ツールを使って結果を返します。その結果を GPT-Live がユーザーに伝えます。詳細な指示、業務ルール、ツールを使うワークフローはバックエンドに定義します。
アプリケーションは権限を確認し、必要な確認を得たうえで、自社のシステムにアクセスする関数を実行し、タスクの進捗を保存します。通話中のユーザーがアシスタントの発話を遮っても、バックエンドの処理は続行できます。タスクを最後まで実行するかキャンセルするかは、アプリケーションが判断します。GPT-Live と、Realtime を使う音声アプリや複数のモデルを順につなぐ音声アプリとの比較は、音声エージェントを参照してください。
バックエンドの実行方式
まずは Responses 委譲 を選びます。この方式では、OpenAI がバックエンドモデルを実行し、モデルと GPT-Live の間で会話のコンテキストと処理結果を受け渡します。独自の関数ツールは引き続きアプリケーションで実行します。既存のエージェントを接続したい場合や、バックエンドのコンテキスト、処理の実行、返す結果を自分で制御したい場合は、クライアント委譲 を選びます。
方式の比較と設定の詳細は、委譲モードの選択を参照してください。モードはセッションの作成時に選びます。モードを変更するには、新しいセッションを開始してください。
最初のセッションへの接続
まずは GPT-Live WebRTC クイックスタートに沿って進めます。ブラウザとサーバーの実装例では、マイク入力とスピーカー出力を接続し、ウェブ検索ができる Responses バックエンドを使います。
マイク、HTTPS または localhost で配信するウェブページ、OpenAI プロジェクトの API キーを持つ信頼できるサーバーが必要です。キーはサーバーで保管してください。
- 短い会話用プロンプトを書き、どのようなときにバックエンドに処理を依頼するかを GPT-Live に指示します。
- クイックスタートに沿って、ブラウザのマイク入力、音声再生、イベントチャネルを接続します。サーバーはセッションを作成し、ブラウザから届いた接続オファーを送信してアンサーを受け取ります。
- イベント
session.startedを待ってから話しかけ、応答を聞きます。最新の情報が必要な質問をして、バックエンドのウェブ検索を試します。 - 会話を終えてセッションを閉じ、最終的な使用量を取得して接続を解放します。
最初のテストでは、アシスタントの応答を聞いて、バックエンドの検索結果が回答に反映されていることを確認します。
GPT-Live の音声セッションは、継続時間に応じて秒単位で課金されます。現在の単価はモデルの料金を参照してください。バックエンドのモデルとツールの利用料金は別途かかります。使用量の計算方法とコストを削減する方法は、コストの最適化を参照してください。
サンプルアプリとクライアント SDK
- OpenAI Live Console は、GPT-Live との会話やタスクの委譲を試し、バックエンドでのツールの動作を確認できるローカルのサンプルアプリです。
- Switchboard OpenAI Live Toolkit は、iOS 向けの GPT-Live アプリを開発するためのサードパーティ製 React Native SDK です。
接続方式の選択
- WebRTC は、ブラウザ、モバイル、サーバーの各アプリケーションでの音声接続に推奨される方式です。音声はメディアトラックで、JSON イベントはデータチャネルで送受信します。
- WebSocket も利用できます。音声と制御イベントを 1 つの接続で送受信します。
- 電話と SIP は、電話による通話を接続するために使います。
バックエンドから既存のセッションを監視または制御するには、サーバー側の接続を追加します。この追加の WebSocket 接続をサイドバンドと呼びます。音声は引き続きセッションのメイン接続を通じて送受信します。
パートナーサービスとの連携
アプリケーションですでに LiveKit、Twilio、Telnyx、Bandwidth、Daily/Pipecat のいずれかを使っている場合は、パートナー連携の概要に沿って、既存の通話や音声ストリームを GPT-Live に接続します。
次の開発ステップ
- 会話のスタイルやタスクの委譲方法を調整するには、GPT-Live のプロンプト設計を参照してください。
- ツールを接続し、バックエンドのレイテンシを削減するには、委譲とツールを参照してください。
- コンテキスト、文字起こし、セッションのライフサイクルを管理する方法は、セッション管理を参照してください。
- Realtime またはテキストベースのエージェントに適した移行方法を選ぶには、GPT-Live への移行を参照してください。
- 会話とタスクの結果をテストする方法は、音声エージェントの評価を参照してください。