@@ -7,40 +7,37 @@ 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 は、電話の通話からの 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 ベースの会話よりも通話のほうが自然とレイテンシーが大きくなるため、独自の割り込みタイミングを調整する必要があります 。
10+ Twilio は [ Media Streams API] ( https://www.twilio.com/docs/voice/media-streams ) を提供しており、電話の通話からの元音声を WebSocket サーバーへ送信します。これは 、あなたの [ 音声エージェントの概要] ( /openai-agents-js/ja/guides/voice-agents ) を Twilio に接続するために利用できます。Twilio から届くイベントを Realtime Session に接続するには、 ` websocket ` モードのデフォルトの Realtime Session トランスポートを使えます 。ただし、Web ベースの会話よりも電話では自然とレイテンシが増えるため、適切な音声フォーマットの設定や、割り込みタイミングの調整が必要になります 。
1111
12- セットアップ体験を向上させるために、Twilio への接続を代わりに処理する専用のトランスポートレイヤーを作成しました。割り込みの処理や音声の転送も含めて処理します 。
12+ セットアップ体験を向上させるために、割り込み処理や音声転送を含め、 Twilio への接続を代わりに処理する専用のトランスポートレイヤーを作成しました。
1313
1414<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+ から報告してください。迅速に修正します。
1918</Aside >
2019
2120## セットアップ
2221
2322<Steps >
2423
25- 1 . ** Twilio アカウントと Twilio 電話番号を用意してください。 **
24+ 1 . ** Twilio のアカウントと Twilio の電話番号を用意します **
2625
27- 2 . ** Twilio からのイベントを受け取れる WebSocket サーバーをセットアップしてください。 **
26+ 2 . ** Twilio からのイベントを受け取れる WebSocket サーバーを用意します **
2827
29- ローカルで開発している場合、これは [ ` ngrok ` ] ( https://ngrok.io/ ) や
28+ ローカルで開発している場合、これはローカルトンネルの設定が必要になり、
29+ これはローカルトンネルの設定が必要になり、[ ` ngrok ` ] ( https://ngrok.io/ ) や
3030 [ Cloudflare Tunnel] ( https://developers.cloudflare.com/pages/how-to/preview-with-cloudflare-tunnel/ )
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 に接続できます。
31+ などを使ってローカルサーバーを Twilio からアクセス可能にします。Twilio への接続には
32+ ` TwilioRealtimeTransportLayer ` を使えます。
3633
37- 3 . ** 拡張パッケージをインストールして Twilio アダプターを導入します: **
34+ 3 . ** 拡張パッケージをインストールして Twilio アダプターを導入します **
3835
3936 ``` bash
4037 npm install @openai/agents-extensions
4138 ```
4239
43- 4 . ** アダプターとモデルをインポートして ` RealtimeSession ` に接続します: **
40+ 4 . ** ` RealtimeSession ` に接続するためのアダプターとモデルをインポートします **
4441
4542 <Code
4643 lang = " typescript"
@@ -50,41 +47,41 @@ Twilio は、電話の通話からの raw 音声を WebSocket サーバーへ送
5047 )}
5148 />
5249
53- 5 . ** ` RealtimeSession ` を Twilio に接続します: **
50+ 5 . ** ` RealtimeSession ` を Twilio に接続します **
5451
5552 ``` typescript
5653 session .connect ({ apiKey: ' your-openai-api-key' });
5754 ```
5855
5956</Steps >
6057
61- ` RealtimeSession ` に期待されるすべてのイベントや動作は、ツール呼び出しやガードレールなどを含め、期待どおりに動作します 。` RealtimeSession ` を音声エージェントとあわせて使う方法の詳細は 、[ 音声エージェントの概要] ( /openai-agents-js/ja/guides/voice-agents ) を参照してください。
58+ ` RealtimeSession ` に期待されるあらゆるイベントや動作は、ツール呼び出し、ガードレールなどを含め、想定どおりに機能します 。` RealtimeSession ` を音声エージェントで使う方法の詳細は 、[ 音声エージェントの概要] ( /openai-agents-js/ja/guides/voice-agents ) を参照してください。
6259
63- ## ヒントと留意事項
60+ ## ヒントと考慮事項
6461
65- 1 . ** スピードが命です。 **
62+ 1 . ** スピードが命です **
6663
67- Twilio から必要なすべてのイベントと音声を受け取るため 、WebSocket 接続への参照を取得したらすぐに
64+ Twilio から必要なすべてのイベントや音声を受け取るため 、WebSocket 接続を参照できるようになったらすぐに
6865 ` TwilioRealtimeTransportLayer ` インスタンスを作成し、その直後に ` session.connect() ` を呼び出してください。
6966
70- 2 . ** raw な Twilio イベントにアクセス。 **
67+ 2 . ** Twilio の元イベントにアクセスする **
7168
72- Twilio が送信する raw イベントにアクセスしたい場合は 、` RealtimeSession ` インスタンス上の
73- ` transport_event ` イベントをリッスンできます 。Twilio からのすべてのイベントは ` twilio_message ` という type と、
74- raw なイベントデータを含む ` message ` プロパティを持ちます。
69+ Twilio が送信する元イベントにアクセスしたい場合は 、` RealtimeSession ` インスタンスで ` transport_event `
70+ をリッスンします 。Twilio からのすべてのイベントは ` twilio_message ` という type と、元イベントデータを含む
71+ ` message ` プロパティを持ちます。
7572
76- 3 . ** デバッグログを確認。 **
73+ 3 . ** デバッグログを確認する **
7774
78- 何が起きているかについて、より多くの情報が必要になる場合があります 。環境変数 ` DEBUG=openai-agents* ` を使用すると 、
79- Agents SDK からのすべてのデバッグログが表示されます。あるいは ` DEBUG=openai-agents:extensions:twilio* `
80- を使って、Twilio アダプターのデバッグログだけを有効化できます 。
75+ 状況をより詳しく知りたい問題に遭遇することがあります 。環境変数 ` DEBUG=openai-agents* ` を使うと 、
76+ Agents SDK からのすべてのデバッグログが表示されます。あるいは、Twilio アダプターだけのデバッグログを有効にするには
77+ ` DEBUG=openai-agents:extensions:twilio* ` を使用できます 。
8178
82- ## 完全なサーバーの例
79+ ## 完全なサーバー例
8380
84- 以下は、Twilio からのリクエストを受け取り、` RealtimeSession ` に転送する WebSocket サーバーの、エンドツーエンドの完全な例です 。
81+ 以下は、Twilio からのリクエストを受け取り、` RealtimeSession ` にフォワードする、 WebSocket サーバーの完全な end-to-end の例です 。
8582
8683<Code
8784 lang = " typescript"
8885 code = { twilioServerExample }
89- title = " Fastify を使用したサーバーの例 "
86+ title = " Fastify を使ったサーバー例 "
9087/>
0 commit comments