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
28 changes: 14 additions & 14 deletions docs/src/content/docs/ja/extensions/ai-sdk.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -8,36 +8,36 @@ import aiSdkSetupExample from '../../../../../../examples/docs/extensions/ai-sdk

<Aside type="caution">
このアダプターはまだベータ版です。特に小規模なモデルプロバイダーでは問題が発生する可能性があります。問題があれば
[GitHub issues](https://github.com/openai/openai-agents-js/ja/issues)
から報告してください。迅速に対応します。
[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. 拡張パッケージをインストールして AI SDK アダプターを導入します:
1. 拡張機能パッケージをインストールして AI SDK アダプターを導入します:

```bash
npm install @openai/agents-extensions
```

2. [Vercel の AI SDK](https://ai-sdk.dev/docs/foundations/providers-and-models) から使いたいモデルパッケージを選び、インストールします:
2. [Vercel の AI SDK](https://ai-sdk.dev/docs/foundations/providers-and-models) から使用したいモデルのパッケージを選び、インストールします:

```bash
npm install @ai-sdk/openai
```

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

```typescript
import { openai } from '@ai-sdk/openai';
import { aisdk } from '@openai/agents-extensions';
```

4. エージェントが使用するモデルのインスタンスを初期化します:
4. エージェントで使用するモデルのインスタンスを初期化します:

```typescript
const model = aisdk(openai('o4-mini'));
Expand All @@ -46,10 +46,10 @@ import aiSdkSetupExample from '../../../../../../examples/docs/extensions/ai-sdk
</Steps>

<Aside type="caution">
現在、ai-sdk のモデルプロバイダー v2 モジュール(Vercel AI SDK v5
と互換)に対応しています。特別な理由で v1
のモデルプロバイダーを使い続ける必要がある場合は、[examples/ai-sdk-v1](https://github.com/openai/openai-agents-js/ja/tree/main/examples/ai-sdk-v1)
からモジュールをコピーして、プロジェクトに含めてください
現時点では ai-sdk の model provider v2 モジュールをサポートしており、これは
Vercel AI SDK v5 と互換性があります。特別な理由で v1 の model provider
を使い続ける必要がある場合は、[examples/ai-sdk-v1](https://github.com/openai/openai-agents-js/tree/main/examples/ai-sdk-v1)
からモジュールをコピーしてプロジェクトに含めてください
</Aside>

## 例
Expand All @@ -60,9 +60,9 @@ import aiSdkSetupExample from '../../../../../../examples/docs/extensions/ai-sdk
title="AI SDK のセットアップ"
/>

## プロバイダー メタデータの指定
## プロバイダーのメタデータの指定

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

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

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

```ts
providerMetadata: {
Expand Down
41 changes: 20 additions & 21 deletions docs/src/content/docs/ja/extensions/twilio.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -7,14 +7,15 @@ 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 は、電話の通話音声の 元 オーディオを 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 トランスポートを使えます。ただし、その場合は適切な音声フォーマットを設定し、Web ベースの会話よりも通話のほうが自然にレイテンシが大きくなるため、割り込みのタイミングを調整する必要があります
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 トランスポートを使えます。ただし、通話は 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>

## セットアップ
Expand All @@ -25,13 +26,12 @@ Twilio は、電話の通話音声の 元 オーディオを WebSocket サーバ

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

ローカル開発の場合、Twilio からローカルサーバーにアクセスできるよう、
[`ngrok`](https://ngrok.io/) や
ローカル開発中は、[`ngrok`](https://ngrok.io/) や
[Cloudflare Tunnel](https://developers.cloudflare.com/pages/how-to/preview-with-cloudflare-tunnel/)
などのローカルトンネルを構成する必要があります。`TwilioRealtimeTransportLayer`
などでローカルトンネルを設定して、ローカルサーバーを Twilio から参照できるようにする必要があります。`TwilioRealtimeTransportLayer`
を使って Twilio に接続できます。

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

```bash
npm install @openai/agents-extensions
Expand All @@ -55,33 +55,32 @@ Twilio は、電話の通話音声の 元 オーディオを WebSocket サーバ

</Steps>

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

## ヒントと考慮事項

1. **スピードが最重要です。**

Twilio から必要なイベントと音声をすべて受け取るには、WebSocket 接続の参照を取得したらすぐに
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 のすべてのデバッグログが出力されます。あるいは、Twilio アダプターのデバッグログだけを
有効にするには `DEBUG=openai-agents:extensions: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="Example server using Fastify"
/>
Loading