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: 15 additions & 13 deletions docs/src/content/docs/ja/extensions/ai-sdk.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -7,37 +7,37 @@ import { Aside, Steps, Code } from '@astrojs/starlight/components';
import aiSdkSetupExample from '../../../../../../examples/docs/extensions/ai-sdk-setup.ts?raw';

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

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

## セットアップ

<Steps>

1. 拡張パッケージをインストールして AI SDK アダプターを導入します:
1. extensions パッケージをインストールして 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('gpt-5-mini'));
Expand All @@ -46,19 +46,23 @@ Agents SDK は標準で OpenAI モデルに対して Responses API または Cha
</Steps>

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

## 例

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

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

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

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

15 changes: 8 additions & 7 deletions docs/src/content/docs/ja/extensions/cloudflare.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -6,13 +6,14 @@ description: Connect your Agents SDK agents from Cloudflare Workers/workerd usin
import { Aside, Steps, Code } from '@astrojs/starlight/components';
import cloudflareBasicExample from '../../../../../../examples/docs/extensions/cloudflare-basic.ts?raw';

Cloudflare Workers とその他の workerd ランタイムでは、グローバルな `WebSocket` コンストラクターを使った外向きの WebSocket 接続を開けません。これらの環境から リアルタイムエージェント に簡単に接続できるように、extensions パッケージは内部で `fetch()` ベースのアップグレードを行う専用のトランスポートを提供します
Cloudflare Workers とその他の workerd ランタイムでは、グローバル `WebSocket` コンストラクタを使った外向き WebSocket 接続を開けません。これらの環境から Realtime Agents への接続を簡単にするため、extensions パッケージは `fetch()` ベースのアップグレードを内部で行う専用のトランスポートを提供します

<Aside type="caution">
このアダプターはまだベータ版です。稀なケースの問題やバグに遭遇する可能性があります。
問題は [GitHub issues](https://github.com/openai/openai-agents-js/issues)
からご報告ください。迅速に修正します。Workers で Node.js 風の API
を使いたい場合は、`nodejs_compat` の有効化を検討してください。
このアダプターはまだベータ版です。まれなケースで問題やバグに遭遇する可能性があります。
問題があれば [GitHub
issues](https://github.com/openai/openai-agents-js/issues)
からご報告ください。迅速に修正します。Workers で Node.js 風 API が必要な場合は
`nodejs_compat` の有効化を検討してください。
</Aside>

## セットアップ
Expand All @@ -39,6 +40,6 @@ Cloudflare Workers とその他の workerd ランタイムでは、グローバ

## 注意事項

- Cloudflare のトランスポートは内部で `Upgrade: websocket` 付きの `fetch()` を使用し、ソケットの `open` イベントを待たずに処理します。これは workerd の API に合わせた動作です
- Cloudflare トランスポートは内部で `Upgrade: websocket` 付きの `fetch()` を使用し、ソケットの `open` イベントを待たずに進むため、workerd の API に合わせています
- このトランスポートを使用しても、すべての `RealtimeSession` 機能(tools、ガードレール など)は通常どおり動作します
- 開発中の詳細ログを確認するには `DEBUG=openai-agents*` を使用してください
- 開発中の詳細ログの確認には `DEBUG=openai-agents*` を使用します
42 changes: 22 additions & 20 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 は、電話の通話音声の 元 audio を WebSocket サーバーへ送る [Media Streams API](https://www.twilio.com/docs/voice/media-streams) を提供しています。このセットアップを使うと、[音声エージェントの概要](/openai-agents-js/ja/guides/voice-agents) を Twilio に接続できます。既定の Realtime Session transport を `websocket` モードで使用して、Twilio から来るイベントを 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 @@ -23,14 +24,14 @@ Twilio は、電話の通話音声の 元 audio を WebSocket サーバーへ送

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

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

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

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

```bash
npm install @openai/agents-extensions
Expand All @@ -54,31 +55,32 @@ Twilio は、電話の通話音声の 元 audio を WebSocket サーバーへ送

</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` という type を持ち、 元 イベントデータを含む `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="Example server using Fastify"
title="Fastify を使ったサーバー例"
/>
Loading