@@ -7,37 +7,38 @@ 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 に接続するために使用できます。` websocket ` モードのデフォルトの Realtime Session トランスポートを使って 、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 に接続するために使用できます。` websocket ` モードの既定の Realtime Session トランスポートを使用して 、Twilio から来るイベントを Realtime Session に接続できます。ただし、その場合は適切な音声フォーマットを設定し、 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/ ) や
29+ ローカルで開発している場合、this will require you to configure a local tunnel like
30+ this will require you to configure a local tunnel like [ ` ngrok ` ] ( https://ngrok.io/ ) または
2931 [ Cloudflare Tunnel] ( https://developers.cloudflare.com/pages/how-to/preview-with-cloudflare-tunnel/ )
30- のようなローカルトンネルを構成する必要があり、これはローカルトンネル([ ` ngrok ` ] ( https://ngrok.io/ ) や
31- [ Cloudflare Tunnel] ( https://developers.cloudflare.com/pages/how-to/preview-with-cloudflare-tunnel/ ) など)を構成する必要があることを意味します。これによりローカルの サーバー を Twilio からアクセス可能にします。` TwilioRealtimeTransportLayer `
32- を使用して Twilio に接続できます。
32+ のようなローカルトンネルを設定して、ローカルのサーバーを Twilio からアクセスできるようにする必要があります。Twilio への接続には ` TwilioRealtimeTransportLayer `
33+ を使用できます。
3334
34- 3 . ** 拡張機能パッケージをインストールして Twilio アダプターを導入します:**
35+ 3 . ** extensions パッケージをインストールして Twilio アダプターを導入します:**
3536
3637 ``` bash
3738 npm install @openai/agents-extensions
3839 ```
3940
40- 4 . ** アダプターとモデルをインポートして ` RealtimeSession ` に接続します:**
41+ 4 . ** アダプターとモデルをインポートして ` RealtimeSession ` に接続します:**
4142
4243 <Code
4344 lang = " typescript"
@@ -47,41 +48,41 @@ Twilio は、電話の通話からの 元 の音声を WebSocket サーバーに
4748 )}
4849 />
4950
50- 5 . ** ` RealtimeSession ` を Twilio に接続します:**
51+ 5 . ** ` RealtimeSession ` を Twilio に接続します:**
5152
5253 ``` typescript
5354 session .connect ({ apiKey: ' your-openai-api-key' });
5455 ```
5556
5657</Steps >
5758
58- ` RealtimeSession ` で期待されるあらゆるイベントや挙動は、ツール呼び出し、ガードレールなどを含め、期待どおりに動作します 。` RealtimeSession ` を音声エージェントで使用する方法の詳細は 、[ 音声エージェントの概要] ( /openai-agents-js/ja/guides/voice-agents ) を参照してください。
59+ ツール呼び出し、ガードレールなど、 ` RealtimeSession ` から期待されるあらゆるイベントや挙動はそのまま動作します 。` RealtimeSession ` を音声エージェントと併用する方法の詳細は 、[ 音声エージェントの概要] ( /openai-agents-js/ja/guides/voice-agents ) を参照してください。
5960
6061## ヒントと考慮事項
6162
62- 1 . ** スピードが命です。**
63+ 1 . ** スピードが命です。**
6364
64- Twilio から必要なイベントと音声をすべて受け取るために 、WebSocket 接続の参照が取れたら直ちに
65- ` TwilioRealtimeTransportLayer ` インスタンスを作成し、その直後に ` session.connect() ` を呼び出してください。
65+ 必要なすべてのイベントと音声を Twilio から受け取るため 、WebSocket 接続への参照を得たらすぐに
66+ ` TwilioRealtimeTransportLayer ` インスタンスを作成し、直後に ` session.connect() ` を呼び出してください。
6667
67- 2 . ** 元 の Twilio イベントにアクセスする 。**
68+ 2 . ** Twilio の 元 のイベントにアクセスします 。**
6869
69- Twilio から送信される 元 のイベントにアクセスしたい場合は、` RealtimeSession ` インスタンスで
70- ` transport_event ` イベントをリッスンできます。Twilio からのすべてのイベントには、型が
71- ` twilio_message ` 、元のイベントデータを含む ` message ` プロパティがあります 。
70+ Twilio から送信されている 元 のイベントにアクセスしたい場合は、` RealtimeSession ` インスタンスの
71+ ` transport_event ` イベントをリッスンできます。Twilio からのすべてのイベントはタイプが
72+ ` twilio_message ` で 、元のイベントデータを含む ` message ` プロパティを持ちます 。
7273
73- 3 . ** デバッグログを確認する 。**
74+ 3 . ** デバッグログを確認します 。**
7475
75- 状況を詳しく知りたい問題に遭遇することがあります 。` DEBUG=openai-agents* ` 環境変数を使うと、
76- Agents SDK からのすべてのデバッグログが表示されます 。あるいは、` DEBUG=openai-agents:extensions:twilio* `
77- を使って Twilio アダプターのデバッグログだけを有効にできます。
76+ 何が起きているかをより詳しく知りたい問題に遭遇することがあります 。` DEBUG=openai-agents* ` 環境変数を使うと、
77+ Agents SDK のすべてのデバッグログが表示されます 。あるいは、` DEBUG=openai-agents:extensions:twilio* ` を使って
78+ Twilio アダプターのデバッグログだけを有効にできます。
7879
79- ## 完全なサンプルサーバー
80+ ## 完全なサーバー例
8081
81- 以下は、Twilio からのリクエストを受け取り、それを ` RealtimeSession ` に転送するエンドツーエンドの WebSocket サーバーの完全な例です 。
82+ 以下は、Twilio からのリクエストを受け取り、` RealtimeSession ` に転送する、エンドツーエンドの完全な WebSocket サーバーの例のサンプルです 。
8283
8384<Code
8485 lang = " typescript"
8586 code = { twilioServerExample }
86- title = " Fastify を使用したサーバーのサンプル "
87+ title = " Fastify を使用したサーバーの例 "
8788/>
0 commit comments