@@ -7,35 +7,33 @@ import { Aside, Steps, Code } from '@astrojs/starlight/components';
7
7
import twilioBasicExample from ' ../../../../../../examples/docs/extensions/twilio-basic.ts?raw' ;
8
8
import twilioServerExample from ' ../../../../../../examples/realtime-twilio/index.ts?raw' ;
9
9
10
- Twilio は、電話通話の元音声を WebSocket サーバーへ送信する [ Media Streams API] ( https://www.twilio.com/docs/voice/media-streams ) を提供しています。このセットアップを利用して 、あなたの [ 音声エージェント ] ( /openai-agents-js/ja/guides/voice-agents ) を Twilio に接続できます。` websocket ` モードの既定の Realtime Session transport を使って 、Twilio から送られてくるイベントを Realtime Session に接続することもできます。しかし、 電話通話は Web ベースの会話よりも遅延が大きくなるため、正しいオーディオ形式を設定し 、割り込みタイミングを調整する必要があります。
10
+ Twilio には [ Media Streams API] ( https://www.twilio.com/docs/voice/media-streams ) があり、電話通話の生の音声を WebSocket サーバーへ送信します。このセットアップを使用して 、あなたの [ 音声エージェントの概要 ] ( /openai-agents-js/ja/guides/voice-agents ) を Twilio に接続できます。デフォルトの Realtime Session トランスポートを ` websocket ` モードで使用し 、Twilio から届くイベントを Realtime Session に接続することも可能です。ただし、適切なオーディオ形式を設定し、 電話通話は Web ベースの会話よりも遅延が大きいため 、割り込みタイミングを調整する必要があります。
11
11
12
- セットアップ体験を向上させるために、Twilio への接続、割り込み処理、オーディオ転送をすべて自動で行う専用のトランスポートレイヤーを用意しました 。
12
+ セットアップ体験を向上させるために、割り込み処理や音声転送を含め、 Twilio との接続を代行する専用のトランスポートレイヤーを用意しました 。
13
13
14
14
<Aside type = " caution" >
15
- このアダプターはまだベータ版です。エッジケースでの問題やバグが発生する可能性があります。
16
- 問題を見つけた場合は、[ GitHub
17
- issues] ( https://github.com/openai/openai-agents-js/issues )
18
- からご報告ください。迅速に対応します。
15
+ このアダプターはまだベータ版です。エッジケースやバグに遭遇する可能性があります。問題が発生した場合は
16
+ [ GitHub issues] ( https://github.com/openai/openai-agents-js/issues )
17
+ からお知らせください。迅速に修正します。
19
18
</Aside >
20
19
21
20
## セットアップ
22
21
23
22
<Steps >
24
23
25
- 1 . ** Twilio アカウントと Twilio 電話番号を用意します 。**
24
+ 1 . ** Twilio アカウントと Twilio 電話番号を所有していることを確認します 。**
26
25
27
- 2 . ** Twilio からのイベントを受信できる WebSocket サーバーを設定します 。**
26
+ 2 . ** Twilio からのイベントを受信できる WebSocket サーバーをセットアップします 。**
28
27
29
- ローカル開発の場合、Twilio からアクセスできるように [ ` ngrok ` ] ( https://ngrok.io/ ) や
30
- [ Cloudflare Tunnel] ( https://developers.cloudflare.com/pages/how-to/preview-with-cloudflare-tunnel/ ) などでローカルトンネルを構成する必要があります。` TwilioRealtimeTransportLayer ` を使用して Twilio に接続できます。
28
+ ローカルで開発している場合は、[ ` ngrok ` ] ( https://ngrok.io/ ) や [ Cloudflare Tunnel] ( https://developers.cloudflare.com/pages/how-to/preview-with-cloudflare-tunnel/ ) などのローカルトンネルを設定し、ローカルサーバーを Twilio からアクセス可能にする必要があります。` TwilioRealtimeTransportLayer ` を使用して Twilio に接続できます。
31
29
32
- 3 . ** extensions パッケージをインストールして Twilio アダプターを追加します :**
30
+ 3 . ** 拡張パッケージをインストールして Twilio アダプターを導入します :**
33
31
34
32
``` bash
35
33
npm install @openai/agents-extensions
36
34
```
37
35
38
- 4 . ** アダプターとモデルをインポートして ` RealtimeSession ` に接続します :**
36
+ 4 . ** ` RealtimeSession ` に接続するためにアダプターとモデルをインポートします :**
39
37
40
38
<Code
41
39
lang = " typescript"
@@ -53,25 +51,28 @@ Twilio は、電話通話の元音声を WebSocket サーバーへ送信する [
53
51
54
52
</Steps >
55
53
56
- ` RealtimeSession ` から期待できるイベントや動作は、ツール呼び出しやガードレールなどを含め、すべてそのまま利用できます 。` RealtimeSession ` を音声エージェントで使用する方法については、 [ 音声エージェント ] ( /openai-agents-js/ja/guides/voice-agents ) ガイドを参照してください 。
54
+ ` RealtimeSession ` から期待されるすべてのイベントや動作(ツール呼び出し、ガードレールなど)がそのまま利用できます 。` RealtimeSession ` を音声エージェントで使う方法については [ 音声エージェントの概要 ] ( /openai-agents-js/ja/guides/voice-agents ) を参照してください 。
57
55
58
56
## ヒントと考慮事項
59
57
60
- 1 . ** 速度が最重要です。**
61
- Twilio から必要なすべてのイベントとオーディオを受け取るために、WebSocket 接続の参照を取得したらすぐに ` TwilioRealtimeTransportLayer ` インスタンスを作成し、その直後に ` session.connect() ` を呼び出すようにしてください。
58
+ 1 . ** スピードが鍵です。**
62
59
63
- 2 . ** Twilio の元イベントへアクセスする。**
64
- Twilio から送信される生のイベントにアクセスしたい場合、` RealtimeSession ` インスタンスの ` transport_event ` をリッスンできます。Twilio のすべてのイベントは ` twilio_message ` タイプと、生のイベントデータを含む ` message ` プロパティを持っています。
60
+ Twilio から必要なすべてのイベントと音声を受け取るには、WebSocket 接続への参照を取得したらすぐに ` TwilioRealtimeTransportLayer ` インスタンスを作成し、直ちに ` session.connect() ` を呼び出してください。
65
61
66
- 3 . ** デバッグログを確認する。**
67
- 何が起こっているかを詳しく知りたい場合があります。環境変数 ` DEBUG=openai-agents* ` を使用すると、Agents SDK のすべてのデバッグログが表示されます。あるいは ` DEBUG=openai-agents:extensions:twilio* ` を使って Twilio アダプターのデバッグログだけを有効にできます。
62
+ 2 . ** Twilio の元イベントにアクセスします。**
68
63
69
- ## 完全なサーバー例
64
+ Twilio から送信される元イベントにアクセスしたい場合は、 ` RealtimeSession ` インスタンスの ` transport_event ` をリッスンできます。Twilio からの各イベントは ` twilio_message ` という type と、生のイベントデータが入った ` message ` プロパティを持ちます。
70
65
71
- 以下は、Twilio からのリクエストを受け取り、それを ` RealtimeSession ` に転送する WebSocket サーバーのエンドツーエンド例です。
66
+ 3 . ** デバッグログを確認します。**
67
+
68
+ 詳細を確認したい場合は、` DEBUG=openai-agents* ` 環境変数を使用すると Agents SDK のすべてのデバッグログを表示できます。あるいは ` DEBUG=openai-agents:extensions:twilio* ` を使って Twilio アダプターのログのみに絞ることも可能です。
69
+
70
+ ## フルサーバー例
71
+
72
+ 以下は、Twilio からのリクエストを受け取り ` RealtimeSession ` に転送する WebSocket サーバーのエンドツーエンド例です。
72
73
73
74
<Code
74
75
lang = " typescript"
75
76
code = { twilioServerExample }
76
- title = " Fastify を使用した例示サーバー "
77
+ title = " Example server using Fastify "
77
78
/>
0 commit comments