Skip to content
このページは AI の支援により作成・翻訳されました。誤りがあれば、改善にご協力ください。 GitHub で編集

OpenAI

OpenAI Chat Completions API を通じて GPT モデルにアクセスします。ネイティブ関数呼び出し、ビジョン、推論モデルをサポートしています。

前提条件

クイックセットアップ

1. API キーの取得

  1. platform.openai.com でサインアップ
  2. 左サイドバーの API Keys に移動
  3. Create new secret key をクリックしてコピー(sk- で始まります)

2. 設定

toml
[default]
provider = "openai"
model = "gpt-4o"

[providers.openai]
api_key = "${OPENAI_API_KEY}"

または環境変数を設定:

bash
export OPENAI_API_KEY="sk-..."

3. 検証

bash
prx doctor models

利用可能なモデル

モデルコンテキストビジョンツール使用備考
gpt-4o128Kありあり最高の汎用モデル
gpt-4o-mini128Kありあり小型、高速、低コスト
gpt-4-turbo128Kありあり前世代のフラッグシップ
o3128Kありあり推論モデル
o4-mini128Kありあり小型推論モデル
gpt-48Kなしありオリジナル GPT-4

設定リファレンス

フィールドデフォルト説明
api_keystring必須OpenAI API キー(sk-...
api_urlstringhttps://api.openai.com/v1カスタム API ベース URL
modelstringgpt-4o使用するデフォルトモデル

機能

ネイティブ関数呼び出し

PRX はツールを OpenAI のネイティブ function 形式で送信します。ツール定義には namedescriptionparameters(JSON Schema)が含まれます。プロバイダーは自動ツール選択のための tool_choice: "auto" をサポートしています。

ビジョン

ビジョン対応モデル(GPT-4o、GPT-4o-mini)は、会話に含まれる画像を分析できます。画像は標準的なメッセージ形式でインラインで送信されます。

推論モデルサポート

推論モデル(o1、o3、o4-mini)の場合、PRX は reasoning_content フォールバックを自動的に処理します。モデルが content の代わりに reasoning_content で出力を返した場合、PRX は推論テキストを透過的に抽出します。

マルチターン会話

システムプロンプト、ユーザーメッセージ、アシスタントレスポンス、ツール呼び出し/結果ペアを含む完全な会話履歴が、OpenAI のネイティブ構造化形式で保持され API に送信されます。

カスタムベース URL

プロキシ、Azure OpenAI、または任意の OpenAI 互換エンドポイントを使用する場合:

toml
[providers.openai]
api_key = "${OPENAI_API_KEY}"
api_url = "https://my-proxy.example.com/v1"

コネクションウォームアップ

起動時に PRX は軽量な GET /models リクエストを送信して TLS と HTTP/2 コネクションプーリングを確立し、最初の実際のリクエストのレイテンシを削減します。

トラブルシューティング

「OpenAI API key not set」

OPENAI_API_KEY 環境変数を設定するか、config.toml[providers.openai]api_key を追加してください。

429 レート制限

OpenAI は分あたりのトークン数とリクエスト数に制限を設けています。対処法:

  • 待ってリトライ(PRX はリライアブルプロバイダーラッパーで自動的に処理)
  • OpenAI プランをアップグレードしてレート制限を引き上げ
  • fallback_providers を使用して、レート制限時に別のプロバイダーにフォールバック

推論モデルからの空レスポンス

o1/o3/o4-mini を使用して空のレスポンスが返される場合、これはモデルの出力が完全に reasoning_content にある場合の想定される動作です。PRX は content が空の場合、自動的に reasoning_content にフォールバックします。

Released under the Apache-2.0 License.