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
22 changes: 11 additions & 11 deletions docs/src/content/docs/ja/extensions/ai-sdk.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -7,12 +7,12 @@ 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 は標準で Responses API または Chat Completions API を通じて OpenAI のモデルと連携します。ただし、別のモデルを使いたい場合は、このアダプターを通じて Agents SDK に取り込める、幅広い対応モデルを [Vercel の AI SDK](https://sdk.vercel.ai/) が提供しています

## セットアップ

Expand All @@ -24,20 +24,20 @@ Agents SDK は標準で OpenAI のモデルに対して Responses API または
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,10 +46,10 @@ Agents SDK は標準で OpenAI のモデルに対して Responses API または
</Steps>

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

## 例
Expand All @@ -62,7 +62,7 @@ Agents SDK は標準で OpenAI のモデルに対して Responses API または

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

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

```ts
providerData: {
Expand Down
19 changes: 9 additions & 10 deletions docs/src/content/docs/ja/extensions/cloudflare.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -6,14 +6,13 @@ 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 接続を開けません。これらの環境から Realtime Agents への接続を簡単にするため、extensions パッケージは `fetch()` ベースのアップグレードを内部で行う専用のトランスポートを提供します
Cloudflare Workers とその他の workerd ランタイムでは、グローバルな `WebSocket` コンストラクタを使ってアウトバウンド WebSockets を開くことはできません。これらの環境から Realtime Agents に接続しやすくするために、extensions パッケージは `fetch()` ベースのアップグレードを内部で実行する専用の transport を提供します

<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 @@ -26,7 +25,7 @@ Cloudflare Workers とその他の workerd ランタイムでは、グローバ
npm install @openai/agents-extensions
```

2. **トランスポートを作成し、セッションにアタッチします。**
2. **transport を作成し、セッションにアタッチします。**

<Code lang="typescript" code={cloudflareBasicExample} />

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

## 注意事項

- Cloudflare トランスポートは内部で `Upgrade: websocket` 付きの `fetch()` を使用し、ソケットの `open` イベントを待たずに進むため、workerd の API に合わせています
- このトランスポートを使用しても、すべての `RealtimeSession` 機能(tools、ガードレール など)は通常どおり動作します
- 開発中の詳細ログの確認には `DEBUG=openai-agents*` を使用します
- Cloudflare の transport は内部で `Upgrade: websocket` 付きの `fetch()` を使用し、ソケットの `open` イベントを待たずに進行します。workerd の API に合わせた動作です
- この transport 使用時も、すべての `RealtimeSession` 機能(ツール、ガードレールなど)は通常どおり動作します
- 開発中の詳細ログ確認には `DEBUG=openai-agents*` を使用してください
44 changes: 20 additions & 24 deletions docs/src/content/docs/ja/extensions/twilio.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -7,13 +7,13 @@ 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
何か問題があれば [GitHub
issues](https://github.com/openai/openai-agents-js/issues)
に報告してください。迅速に修正します。
</Aside>
Expand All @@ -22,22 +22,22 @@ Twilio は、電話からの元音声を WebSocket サーバーに送信する [

<Steps>

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

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

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

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

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

4. **アダプターとモデルをインポートして `RealtimeSession` に接続します:**
4. **アダプターとモデルをインポートして `RealtimeSession` に接続すること**

<Code
lang="typescript"
Expand All @@ -47,40 +47,36 @@ Twilio は、電話からの元音声を WebSocket サーバーに送信する [
)}
/>

5. **`RealtimeSession` を Twilio に接続します:**
5. **`RealtimeSession` を Twilio に接続すること**

```typescript
session.connect({ apiKey: 'your-openai-api-key' });
```

</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. **デバッグログを確認します。**
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="Example server using Fastify"
/>
Loading