@@ -7,33 +7,36 @@ import { Aside, Steps, Code } from '@astrojs/starlight/components';
77import twilioBasicExample from ' ../../../../../../examples/docs/extensions/twilio-basic.ts?raw' ;
88import twilioServerExample from ' ../../../../../../examples/realtime-twilio/index.ts?raw' ;
99
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 ベースの会話よりも遅延が大きいため、割り込みタイミングを調整する必要があります 。
10+ Twilio は、電話の通話からの 元 の音声を WebSocket サーバーに送る [ Media Streams API] ( https://www.twilio.com/docs/voice/media-streams ) を提供しています。このセットアップは 、あなたの [ 音声エージェントの概要] ( /openai-agents-js/ja/guides/voice-agents ) を Twilio に接続するために利用できます。Twilio から送られてくるイベントを Realtime Session に接続するには、 ` websocket ` モードのデフォルトの Realtime Session transport を使えます 。ただし、電話の通話は Web ベースの会話よりも自然にレイテンシーが増えるため、適切な音声フォーマットの設定と、割り込みタイミングの調整を自前で行う必要があります 。
1111
12- セットアップ体験を向上させるために、割り込み処理や音声転送を含め、 Twilio との接続を代行する専用のトランスポートレイヤーを用意しました 。
12+ セットアップ体験を向上させるために、Twilio への接続、割り込み処理、音声の転送などを代わりに扱う専用のトランスポート層を用意しました 。
1313
1414<Aside type = " caution" >
15- このアダプターはまだベータ版です。エッジケースやバグに遭遇する可能性があります。問題が発生した場合は
16- [ GitHub issues] ( https://github.com/openai/openai-agents-js/issues )
17- からお知らせください。迅速に修正します。
15+ このアダプターはまだベータです。レアケースの問題やバグに遭遇する可能性があります。
16+ 問題があれば [ GitHub
17+ issues] ( https://github.com/openai/openai-agents-js/issues )
18+ からご報告ください。迅速に修正します。
1819</Aside >
1920
2021## セットアップ
2122
2223<Steps >
2324
24- 1 . ** Twilio アカウントと Twilio 電話番号を所有していることを確認します。 **
25+ 1 . ** Twilio のアカウントと Twilio の電話番号を用意する **
2526
26- 2 . ** Twilio からのイベントを受信できる WebSocket サーバーをセットアップします。 **
27+ 2 . ** Twilio からのイベントを受け取れる WebSocket サーバーを用意する **
2728
28- ローカルで開発している場合は、[ ` ngrok ` ] ( https://ngrok.io/ ) や [ Cloudflare Tunnel] ( https://developers.cloudflare.com/pages/how-to/preview-with-cloudflare-tunnel/ ) などのローカルトンネルを設定し、ローカルサーバーを Twilio からアクセス可能にする必要があります。` TwilioRealtimeTransportLayer ` を使用して Twilio に接続できます。
29+ ローカル開発の場合、[ ` ngrok ` ] ( https://ngrok.io/ ) や
30+ [ Cloudflare Tunnel] ( https://developers.cloudflare.com/pages/how-to/preview-with-cloudflare-tunnel/ )
31+ のようなローカルトンネルの設定が必要です。ローカルサーバーを Twilio からアクセス可能にします。Twilio に接続するには ` TwilioRealtimeTransportLayer ` を使えます。
2932
30- 3 . ** 拡張パッケージをインストールして Twilio アダプターを導入します: **
33+ 3 . ** extensions パッケージをインストールして Twilio アダプターを導入する **
3134
3235 ``` bash
3336 npm install @openai/agents-extensions
3437 ```
3538
36- 4 . ** ` RealtimeSession ` に接続するためにアダプターとモデルをインポートします: **
39+ 4 . ** アダプターとモデルをインポートして ` RealtimeSession ` に接続する **
3740
3841 <Code
3942 lang = " typescript"
@@ -43,36 +46,39 @@ Twilio には [Media Streams API](https://www.twilio.com/docs/voice/media-stream
4346 )}
4447 />
4548
46- 5 . ** ` RealtimeSession ` を Twilio に接続します: **
49+ 5 . ** ` RealtimeSession ` を Twilio に接続する **
4750
4851 ``` typescript
4952 session .connect ({ apiKey: ' your-openai-api-key' });
5053 ```
5154
5255</Steps >
5356
54- ` RealtimeSession ` から期待されるすべてのイベントや動作(ツール呼び出し、ガードレールなど)がそのまま利用できます 。` RealtimeSession ` を音声エージェントで使う方法については [ 音声エージェントの概要] ( /openai-agents-js/ja/guides/voice-agents ) を参照してください。
57+ ` RealtimeSession ` に期待されるあらゆるイベントや動作は、ツール呼び出しや ガードレール などを含め、そのまま動作します 。` RealtimeSession ` を音声エージェントで使う方法の詳細は、 [ 音声エージェントの概要] ( /openai-agents-js/ja/guides/voice-agents ) を参照してください。
5558
5659## ヒントと考慮事項
5760
58- 1 . ** スピードが鍵です。 **
61+ 1 . ** 最重要なのはスピード **
5962
60- Twilio から必要なすべてのイベントと音声を受け取るには、WebSocket 接続への参照を取得したらすぐに ` TwilioRealtimeTransportLayer ` インスタンスを作成し、直ちに ` session.connect() ` を呼び出してください。
63+ Twilio から必要なイベントと音声をすべて受け取るため、WebSocket 接続の参照を得たらすぐに
64+ ` TwilioRealtimeTransportLayer ` インスタンスを生成し、直後に ` session.connect() ` を呼び出してください。
6165
62- 2 . ** Twilio の元イベントにアクセスします。 **
66+ 2 . ** Twilio の 元 イベントにアクセスする **
6367
64- Twilio から送信される元イベントにアクセスしたい場合は、` RealtimeSession ` インスタンスの ` transport_event ` をリッスンできます。Twilio からの各イベントは ` twilio_message ` という type と、生のイベントデータが入った ` message ` プロパティを持ちます。
68+ Twilio から送られる 元 のイベントにアクセスしたい場合は、` RealtimeSession ` インスタンスの
69+ ` transport_event ` をリッスンします。Twilio からの各イベントは ` twilio_message ` という type と、元 のイベントデータを含む ` message ` プロパティを持ちます。
6570
66- 3 . ** デバッグログを確認します。 **
71+ 3 . ** デバッグログを確認する **
6772
68- 詳細を確認したい場合は、` DEBUG=openai-agents* ` 環境変数を使用すると Agents SDK のすべてのデバッグログを表示できます。あるいは ` DEBUG=openai-agents:extensions:twilio* ` を使って Twilio アダプターのログのみに絞ることも可能です。
73+ 何が起きているかの詳細が必要な場合があります。環境変数 ` DEBUG=openai-agents* ` を使うと Agents SDK のすべてのデバッグログを表示できます。あるいは、Twilio アダプターに限定してデバッグログを有効化するには
74+ ` DEBUG=openai-agents:extensions:twilio* ` を使用します。
6975
70- ## フルサーバー例
76+ ## 完全なサーバー例
7177
72- 以下は、Twilio からのリクエストを受け取り ` RealtimeSession ` に転送する WebSocket サーバーのエンドツーエンド例です 。
78+ 以下は、Twilio からのリクエストを受け取り、それを ` RealtimeSession ` に転送する WebSocket サーバーのエンドツーエンドの完全な例です 。
7379
7480<Code
7581 lang = " typescript"
7682 code = { twilioServerExample }
77- title = " Example server using Fastify"
83+ title = " Fastify を使ったサーバーの例 "
7884/>
0 commit comments