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
3 changes: 3 additions & 0 deletions .github/workflows/update-docs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,9 @@ jobs:
- name: Install dependencies
run: pnpm install

- name: Build workspace packages
run: pnpm build

- name: Translate docs
env:
OPENAI_API_KEY: ${{ secrets.PROD_OPENAI_API_KEY }}
Expand Down
34 changes: 21 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,30 +7,30 @@ 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 は 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
```

2. [Vercel の AI SDK](https://sdk.vercel.ai/docs/models/overview) から目的のモデル パッケージを選択してインストールします:
2. 使用したいモデルパッケージを [Vercel の AI SDK](https://sdk.vercel.ai/docs/models/overview) から選んでインストールします:

```bash
npm install @ai-sdk/openai
npm install @ai-sdk/openai@"^1.0.0"
```

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

```typescript
import { openai } from '@ai-sdk/openai';
Expand All @@ -45,13 +45,23 @@ import aiSdkSetupExample from '../../../../../../examples/docs/extensions/ai-sdk

</Steps>

<Aside type="caution">
Vercel の AI SDK は最近 v2 に移行しましたが、openai agent extensions はまだ v2
に対応していません。 そのため Vercel の 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 @@ -63,7 +73,7 @@ providerData: {
}
```

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

```ts
providerMetadata: {
Expand All @@ -74,5 +84,3 @@ providerMetadata: {
}
}
```

のようになります。
48 changes: 27 additions & 21 deletions docs/src/content/docs/ja/extensions/twilio.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -7,33 +7,36 @@ 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 に接続できます。デフォルトの Realtime Session トランスポートを `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 transport を使えます。ただし、電話の通話は 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 サーバーを用意する**

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

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

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

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

<Code
lang="typescript"
Expand All @@ -43,36 +46,39 @@ Twilio には [Media Streams API](https://www.twilio.com/docs/voice/media-stream
)}
/>

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 のすべてのデバッグログを表示できます。あるいは、Twilio アダプターに限定してデバッグログを有効化するには
`DEBUG=openai-agents:extensions:twilio*` を使用します。

## フルサーバー例
## 完全なサーバー例

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

<Code
lang="typescript"
code={twilioServerExample}
title="Example server using Fastify"
title="Fastify を使ったサーバーの例"
/>
Loading