OpenAI から移行する

多くの OpenAI 互換アプリケーションでは、次の 3 つの設定を変更するだけで移行できます。

  1. API キーを置き換えます。
  2. Base URL を https://getrouter.ai/v1 に設定します。
  3. GetRouter で利用可能なモデル ID を選択します。

Python

変更前:

from openai import OpenAI

client = OpenAI(api_key="OPENAI_API_KEY")

変更後:

from openai import OpenAI

client = OpenAI(
    api_key="YOUR_API_KEY",
    base_url="https://getrouter.ai/v1",
)

response = client.chat.completions.create(
    model="MODEL_ID",
    messages=[{"role": "user", "content": "こんにちは"}],
)

Node.js / TypeScript

変更前:

const client = new OpenAI({ apiKey: process.env.OPENAI_API_KEY })

変更後:

const client = new OpenAI({
  apiKey: process.env.GETROUTER_API_KEY,
  baseURL: 'https://getrouter.ai/v1',
})

const response = await client.chat.completions.create({
  model: 'MODEL_ID',
  messages: [{ role: 'user', content: 'こんにちは' }],
})

環境変数

アプリケーションが標準的な OpenAI の環境変数を読み込む場合は、ソースコードを変更せず、実行時の設定だけで移行できることがあります。

export OPENAI_API_KEY="YOUR_API_KEY"
export OPENAI_BASE_URL="https://getrouter.ai/v1"

環境変数名はアプリケーションによって異なります。SDK やツールがカスタム Base URL に対応していることを確認してください。

機能の互換性を確認する

OpenAI 互換のリクエスト形式に対応していますが、利用できる機能は選択したモデルとエンドポイントによって異なります。アプリケーションで使用する次の機能を確認してください。

  • Chat Completions または Responses API
  • ストリーミング
  • ツール呼び出しまたは関数呼び出し
  • 構造化出力
  • Vision またはその他のマルチモーダル入力
  • 埋め込み、画像、音声
Tip

まず短い非ストリーミングリクエストで移行を確認してください。その後、ストリーミング、ツール、推論、その他の高度なフィールドを 1 つずつ有効にします。

移行時によくある問題

リクエストが元のプロバイダーに送信される

アプリケーションがカスタム Base URL を実際に読み込んでいるか確認してください。一部のアプリケーションは、起動時にのみ環境変数を読み込みます。

URL に /v1/v1 が含まれる

アプリケーションが /v1 を自動追加している可能性があります。そのクライアントが必要とする Base URL 形式を使用してください。

モデルが拒否される

元のプロバイダーのモデル名を、GetRouter Models に掲載されている正しい ID に置き換えてください。

Chat は動作するが Responses は動作しない

2 つの API では、エンドポイントとレスポンスイベントの形式が異なります。モデルと連携が POST /v1/responses に対応していることを確認してください。

次のステップ