Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
27 changes: 12 additions & 15 deletions docs/src/content/docs/ja/extensions/ai-sdk.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -7,19 +7,18 @@ import { Aside, Steps, Code } from '@astrojs/starlight/components';
import aiSdkSetupExample from '../../../../../../examples/docs/extensions/ai-sdk-setup.ts?raw';

<Aside type="caution">
このアダプターはまだ beta
段階です。とくに小規模なモデルプロバイダーでは問題が発生する場合があります。問題があれば
このアダプターはまだベータ版です。とくに小規模なモデルプロバイダーでは問題が発生する可能性があります。問題は
[GitHub issues](https://github.com/openai/openai-agents-js/issues)
までご報告ください。迅速に対応します
からご報告ください。迅速に修正します
</Aside>

標準で Agents SDK は Responses API または Chat Completions API を通じて OpenAI モデルと連携します。ただし、別のモデルを使用したい場合は、[Vercel の AI SDK](https://sdk.vercel.ai/) が幅広い対応モデルを提供しており、このアダプターを介して Agents SDK に取り込むことができます
標準でAgents SDK は Responses API または Chat Completions API を通じて OpenAI モデルと連携します。なお、別のモデルを使いたい場合は、[Vercel の AI SDK](https://sdk.vercel.ai/) がサポートする多様なモデルを、このアダプター経由で Agents SDK に組み込めます

## セットアップ

<Steps>

1. extensions パッケージをインストールして AI SDK アダプターを導入します:
1. 拡張パッケージをインストールして AI SDK アダプターを導入します:

```bash
npm install @openai/agents-extensions
Expand All @@ -31,7 +30,7 @@ import aiSdkSetupExample from '../../../../../../examples/docs/extensions/ai-sdk
npm install @ai-sdk/openai@"^1.0.0"
```

3. アダプターとモデルをインポートして、エージェントに接続します:
3. アダプターとモデルをインポートし、エージェントに接続します:

```typescript
import { openai } from '@ai-sdk/openai';
Expand All @@ -47,18 +46,18 @@ import aiSdkSetupExample from '../../../../../../examples/docs/extensions/ai-sdk
</Steps>

<Aside type="caution">
Vercel の AI SDK は最近 v2 に移行しましたが、 openai agent extensions はまだ
v2 に対応していません。 そのため Vercel の AI SDK は v1
バージョンをインストールする必要があります
Vercel の AI SDK は最近 v2 に移行しましたが、openai agent extensions はまだ v2
と互換性がありません。 そのため Vercel の AI SDK は v1
をインストールする必要があります
</Aside>

## 例

<Code lang="typescript" code={aiSdkSetupExample} title="AI SDK セットアップ" />
<Code lang="typescript" code={aiSdkSetupExample} title="AI SDK Setup" />

## プロバイダー メタデータの受け渡し
## プロバイダーのメタデータの受け渡し

メッセージにプロバイダー固有のオプションを送る必要がある場合は、`providerMetadata` を通して渡します。値は基盤の AI SDK モデルにそのまま転送されます。たとえば、Agents SDK で次の `providerData`
メッセージにプロバイダー固有のオプションを送る必要がある場合、`providerMetadata` を通して渡してください。値は基盤の AI SDK モデルにそのまま転送されます。たとえば、Agents SDK で次の `providerData`

```ts
providerData: {
Expand All @@ -70,7 +69,7 @@ providerData: {
}
```

は、AI SDK 連携を使用すると
AI SDK 連携を使用する場合、次のようになります

```ts
providerMetadata: {
Expand All @@ -81,5 +80,3 @@ providerMetadata: {
}
}
```

のようになります。
45 changes: 19 additions & 26 deletions docs/src/content/docs/ja/extensions/twilio.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -7,32 +7,30 @@ import { Aside, Steps, Code } from '@astrojs/starlight/components';
import twilioBasicExample from '../../../../../../examples/docs/extensions/twilio-basic.ts?raw';
import twilioServerExample from '../../../../../../examples/realtime-twilio/index.ts?raw';

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 ベースの会話よりも通話では自然とレイテンシが大きくなるため、割り込みのタイミングを自分で調整する必要があります
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 ベースの会話よりも遅延が大きくなるため、適切なオーディオ形式の設定や、独自の割り込みタイミングの調整が必要になります

セットアップを改善するために、Twilio への接続を処理する専用のトランスポート層を作成しました。これは、割り込み処理や音声の転送も含めて対応します
セットアップ体験を向上させるため、Twilio への接続、割り込み処理、音声の転送などを代わりに処理する専用のトランスポートレイヤーを用意しました

<Aside type="caution">
このアダプターはまだベータ版です。レアケースの問題やバグに遭遇する可能性があります。
何か問題があれば [GitHub
issues](https://github.com/openai/openai-agents-js/issues)
から報告してください。迅速に修正します。
問題は [GitHub issues](https://github.com/openai/openai-agents-js/issues)
からご報告ください。迅速に修正します。
</Aside>

## セットアップ

<Steps>

1. **Twilio アカウントと Twilio の電話番号を用意してください。**
1. **Twilio アカウントと Twilio の電話番号を用意します。**

2. **Twilio からのイベントを受け取れる WebSocket サーバーをセットアップします。**
2. **Twilio からのイベントを受け取れる WebSocket サーバーを用意します。**

ローカルで開発している場合、this will require you to configure a local tunnel like
this will require you to configure a local tunnel like [`ngrok`](https://ngrok.io/) または
ローカル開発の場合、Twilio からローカルサーバーへアクセスできるよう、
this will require you to configure a local tunnel like [`ngrok`](https://ngrok.io/) or
[Cloudflare Tunnel](https://developers.cloudflare.com/pages/how-to/preview-with-cloudflare-tunnel/)
のようなローカルトンネルを設定して、ローカルのサーバーを Twilio からアクセスできるようにする必要があります。Twilio への接続には `TwilioRealtimeTransportLayer`
を使用できます。
を設定する必要があります。`TwilioRealtimeTransportLayer` を使って Twilio に接続できます。

3. **extensions パッケージをインストールして Twilio アダプターを導入します:**
3. **拡張パッケージをインストールして Twilio アダプターを導入します:**

```bash
npm install @openai/agents-extensions
Expand All @@ -56,33 +54,28 @@ Twilio は [Media Streams API](https://www.twilio.com/docs/voice/media-streams)

</Steps>

ツール呼び出し、ガードレールなど、`RealtimeSession` から期待されるあらゆるイベントや挙動はそのまま動作します。`RealtimeSession` を音声エージェントと併用する方法の詳細は、[音声エージェントの概要](/openai-agents-js/ja/guides/voice-agents) を参照してください。
`RealtimeSession` に期待されるイベントや挙動は、ツール呼び出し、ガードレールなどを含め、想定どおりに動作します。`RealtimeSession` を音声エージェントで使う方法については、[音声エージェントの概要](/openai-agents-js/ja/guides/voice-agents) を参照してください。

## ヒントと考慮事項

1. **スピードが命です。**
1. **スピードがすべてです。**

必要なすべてのイベントと音声を Twilio から受け取るため、WebSocket 接続への参照を得たらすぐに
`TwilioRealtimeTransportLayer` インスタンスを作成し、直後に `session.connect()` を呼び出してください。
Twilio から必要なイベントとオーディオをすべて受け取るため、WebSocket 接続を参照できたらすぐに `TwilioRealtimeTransportLayer` インスタンスを作成し、直ちに `session.connect()` を呼び出してください。

2. **Twilio の 元 のイベントにアクセスします。**
2. **Twilio の元イベントにアクセスします。**

Twilio から送信されている 元 のイベントにアクセスしたい場合は、`RealtimeSession` インスタンスの
`transport_event` イベントをリッスンできます。Twilio からのすべてのイベントはタイプが
`twilio_message` で、元のイベントデータを含む `message` プロパティを持ちます。
Twilio から送られてくる元イベントにアクセスしたい場合は、`RealtimeSession` インスタンスの `transport_event` イベントを監視します。Twilio のすべてのイベントは `twilio_message` の type を持ち、元イベントデータを含む `message` プロパティがあります。

3. **デバッグログを確認します。**

何が起きているかをより詳しく知りたい問題に遭遇することがあります。`DEBUG=openai-agents*` 環境変数を使うと、
Agents SDK のすべてのデバッグログが表示されます。あるいは、`DEBUG=openai-agents:extensions:twilio*` を使って
Twilio アダプターのデバッグログだけを有効にできます。
状況を詳しく知りたい場合があります。`DEBUG=openai-agents*` 環境変数を使うと Agents SDK からのすべてのデバッグログが表示されます。あるいは、`DEBUG=openai-agents:extensions:twilio*` を使用して Twilio アダプターのデバッグログだけを有効にできます。

## 完全なサーバー例
## 完全なサーバーの例

以下は、Twilio からのリクエストを受け取り、`RealtimeSession` に転送する、エンドツーエンドの完全な WebSocket サーバーの例のサンプルです
以下は、Twilio からのリクエストを受け取り、それを `RealtimeSession` に転送する WebSocket サーバーのエンドツーエンドの例です

<Code
lang="typescript"
code={twilioServerExample}
title="Fastify を使用したサーバーの例"
title="Fastify を使用したサーバー例"
/>
Loading