@@ -7,36 +7,40 @@ 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 は、電話の通話からの 元 の音声を 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 ベースの会話よりも自然にレイテンシーが増えるため、適切な音声フォーマットの設定と、割り込みタイミングの調整を自前で行う必要があります 。
10+ Twilio は、電話の通話からの raw 音声を WebSocket サーバーへ送信する [ Media Streams API] ( https://www.twilio.com/docs/voice/media-streams ) を提供しています。このセットアップを使うと 、あなたの [ 音声エージェントの概要] ( /openai-agents-js/ja/guides/voice-agents ) を Twilio に接続できます。 ` websocket ` モードで既定の Realtime Session のトランスポートを使い、Twilio から届くイベントをあなたの Realtime Session に接続することもできます 。ただし、その場合は適切な音声フォーマットを設定し、 Web ベースの会話よりも通話のほうが自然とレイテンシーが大きくなるため、独自の割り込みタイミングを調整する必要があります 。
1111
12- セットアップ体験を向上させるために、Twilio への接続、割り込み処理、音声の転送などを代わりに扱う専用のトランスポート層を用意しました 。
12+ セットアップ体験を向上させるために、Twilio への接続を代わりに処理する専用のトランスポートレイヤーを作成しました。割り込みの処理や音声の転送も含めて処理します 。
1313
1414<Aside type = " caution" >
15- このアダプターはまだベータです。レアケースの問題やバグに遭遇する可能性があります 。
15+ このアダプターはまだベータ版です。まれなケースで問題やバグに遭遇する可能性があります 。
1616 問題があれば [ GitHub
1717 issues] ( https://github.com/openai/openai-agents-js/issues )
18- からご報告ください 。迅速に修正します。
18+ に報告してください 。迅速に修正します。
1919</Aside >
2020
2121## セットアップ
2222
2323<Steps >
2424
25- 1 . ** Twilio のアカウントと Twilio の電話番号を用意する **
25+ 1 . ** Twilio アカウントと Twilio 電話番号を用意してください。 **
2626
27- 2 . ** Twilio からのイベントを受け取れる WebSocket サーバーを用意する **
27+ 2 . ** Twilio からのイベントを受け取れる WebSocket サーバーをセットアップしてください。 **
2828
29- ローカル開発の場合、 [ ` ngrok ` ] ( https://ngrok.io/ ) や
29+ ローカルで開発している場合、これは [ ` ngrok ` ] ( https://ngrok.io/ ) や
3030 [ Cloudflare Tunnel] ( https://developers.cloudflare.com/pages/how-to/preview-with-cloudflare-tunnel/ )
31- のようなローカルトンネルの設定が必要です。ローカルサーバーを Twilio からアクセス可能にします。Twilio に接続するには ` TwilioRealtimeTransportLayer ` を使えます。
31+ のようなローカルトンネルを設定する必要があることを意味します this will require you to configure a local tunnel like
32+ [ ` ngrok ` ] ( https://ngrok.io/ ) または
33+ [ Cloudflare Tunnel] ( https://developers.cloudflare.com/pages/how-to/preview-with-cloudflare-tunnel/ )
34+ を使用して、ローカルのサーバーを Twilio からアクセス可能にする必要があります。` TwilioRealtimeTransportLayer `
35+ を使って Twilio に接続できます。
3236
33- 3 . ** extensions パッケージをインストールして Twilio アダプターを導入する **
37+ 3 . ** 拡張パッケージをインストールして Twilio アダプターを導入します: **
3438
3539 ``` bash
3640 npm install @openai/agents-extensions
3741 ```
3842
39- 4 . ** アダプターとモデルをインポートして ` RealtimeSession ` に接続する **
43+ 4 . ** アダプターとモデルをインポートして ` RealtimeSession ` に接続します: **
4044
4145 <Code
4246 lang = " typescript"
@@ -46,39 +50,41 @@ Twilio は、電話の通話からの 元 の音声を WebSocket サーバーに
4650 )}
4751 />
4852
49- 5 . ** ` RealtimeSession ` を Twilio に接続する **
53+ 5 . ** ` RealtimeSession ` を Twilio に接続します: **
5054
5155 ``` typescript
5256 session .connect ({ apiKey: ' your-openai-api-key' });
5357 ```
5458
5559</Steps >
5660
57- ` RealtimeSession ` に期待されるあらゆるイベントや動作は、ツール呼び出しや ガードレール などを含め、そのまま動作します 。` RealtimeSession ` を音声エージェントで使う方法の詳細は 、[ 音声エージェントの概要] ( /openai-agents-js/ja/guides/voice-agents ) を参照してください。
61+ ` RealtimeSession ` に期待されるすべてのイベントや動作は、ツール呼び出しやガードレールなどを含め、期待どおりに動作します 。` RealtimeSession ` を音声エージェントとあわせて使う方法の詳細は 、[ 音声エージェントの概要] ( /openai-agents-js/ja/guides/voice-agents ) を参照してください。
5862
59- ## ヒントと考慮事項
63+ ## ヒントと留意事項
6064
61- 1 . ** 最重要なのはスピード **
65+ 1 . ** スピードが命です。 **
6266
63- Twilio から必要なイベントと音声をすべて受け取るため 、WebSocket 接続の参照を得たらすぐに
64- ` TwilioRealtimeTransportLayer ` インスタンスを生成し、直後に ` session.connect() ` を呼び出してください。
67+ Twilio から必要なすべてのイベントと音声を受け取るため 、WebSocket 接続への参照を取得したらすぐに
68+ ` TwilioRealtimeTransportLayer ` インスタンスを作成し、その直後に ` session.connect() ` を呼び出してください。
6569
66- 2 . ** Twilio の 元 イベントにアクセスする **
70+ 2 . ** raw な Twilio イベントにアクセス。 **
6771
68- Twilio から送られる 元 のイベントにアクセスしたい場合は、` RealtimeSession ` インスタンスの
69- ` transport_event ` をリッスンします。Twilio からの各イベントは ` twilio_message ` という type と、元 のイベントデータを含む ` message ` プロパティを持ちます。
72+ Twilio が送信する raw イベントにアクセスしたい場合は、` RealtimeSession ` インスタンス上の
73+ ` transport_event ` イベントをリッスンできます。Twilio からのすべてのイベントは ` twilio_message ` という type と、
74+ raw なイベントデータを含む ` message ` プロパティを持ちます。
7075
71- 3 . ** デバッグログを確認する **
76+ 3 . ** デバッグログを確認。 **
7277
73- 何が起きているかの詳細が必要な場合があります。環境変数 ` DEBUG=openai-agents* ` を使うと Agents SDK のすべてのデバッグログを表示できます。あるいは、Twilio アダプターに限定してデバッグログを有効化するには
74- ` DEBUG=openai-agents:extensions:twilio* ` を使用します。
78+ 何が起きているかについて、より多くの情報が必要になる場合があります。環境変数 ` DEBUG=openai-agents* ` を使用すると、
79+ Agents SDK からのすべてのデバッグログが表示されます。あるいは ` DEBUG=openai-agents:extensions:twilio* `
80+ を使って、Twilio アダプターのデバッグログだけを有効化できます。
7581
76- ## 完全なサーバー例
82+ ## 完全なサーバーの例
7783
78- 以下は、Twilio からのリクエストを受け取り、それを ` RealtimeSession ` に転送する WebSocket サーバーのエンドツーエンドの完全な例です 。
84+ 以下は、Twilio からのリクエストを受け取り、` RealtimeSession ` に転送する WebSocket サーバーの、エンドツーエンドの完全な例です 。
7985
8086<Code
8187 lang = " typescript"
8288 code = { twilioServerExample }
83- title = " Fastify を使ったサーバーの例 "
89+ title = " Fastify を使用したサーバーの例 "
8490/>
0 commit comments