はじめに
UniAPIは、OpenAIプロトコルと互換性のあるAPIフォワーダーであり、その中核機能は、統一されたOpenAIフォーマットを通じて、OpenAI、Azure OpenAI、Claudeなどの複数の大規模モデルサービスプロバイダのAPIを管理することです。UniAPIはモデルの最適化、サーキットブレーカーメカニズム、ストリーミング出力の最適化をサポートし、効率的で安定したリクエストを保証します。Vercelのワンクリックデプロイメントを提供し、個人やチームのAPIサービスステーションの迅速な構築に適しています。このプロジェクトはGitHubユーザーのzhangtyzzzによって開発され、現在も更新中です。
機能一覧
- Azure OpenAI、Claudeなどを含むOpenAIおよびOpenAIプロトコル準拠のサービスをサポート。
- 異なるベンダーのAPIをOpenAIフォーマットに統一し、呼び出しプロセスを簡素化する。
- モデルマッピングをサポートし、異なるベンダーの実際のモデルを統一されたモデル名で呼び出します。
- 72時間後の成功率と最初の成功回数に基づくモデル選択メカニズムを提供する。 トークン 最適なサービスを選択するための応答時間。
- 内蔵のサーキットブレーカーメカニズムは、サービスの連続的な障害が自動的にシステムの安定性を保護するために要求を中断します。
- レスポンスの大きなチャンクを小さなチャンクに分割することで、ストリーミング出力を最適化し、視覚的なインパクトを向上させます。
- カスタムAPIキー、ベースURL、モデルリストをサポートし、柔軟な設定が可能。
- Vercel経由で導入され、管理パネルと安全な認証を提供する。
ヘルプの使用
UniAPIの使い方は、導入と設定の2つに分かれます。以下では、すぐに使い始められるように、インストール方法、設定方法、操作方法について詳しく説明します。
設置プロセス
UniAPIはローカルランタイムとVercelワンクリックデプロイの2つのデプロイ方法をサポートしています。ここでは、ほとんどのユーザーに適したVercelデプロイメントをメインとしています。
Vercelのワンクリックデプロイメント
- 配備リンクへのアクセス
オフィシャル・ヴェルセルをクリック 展開アドレス - 環境変数の設定
Vercel Deploymentページで以下の変数を入力してください:ADMIN_API_KEY
管理パネルにログインするための管理者キーを設定する必要があります。mysecretkey
.TEMP_API_KEY
APIへのアクセスを許可するキーで、最大2つまで設定できる。key1
歌で応えるkey2
.REDIS_URL
永続ストレージ設定用のRedis接続アドレス(オプション)。ENVIRONMENT
に設定する。production
開発モードのデフォルトキーを無効にする。
設定が完了したら、"Deploy "をクリックする。
- 配備先アドレスの取得
デプロイに成功すると、Vercelは次のようなURLを生成する。https://your-vercel-url.vercel.app
.使用するADMIN_API_KEY
管理画面にログインする。
ローカル操作(オプション)
- 環境を整える
Python 3.8以上がデバイスにインストールされていることを確認してください。バージョンを確認してください:
python --version
- ダウンロードファイル
https://github.com/zhangtyzzz/uni-api/releases、最新のバイナリをダウンロードしてください。uni-api-linux-x86_64-0.0.99.pex
. - ランニングプログラム
端末で実行される:
chmod +x uni-api-linux-x86_64-0.0.99.pex
./uni-api-linux-x86_64-0.0.99.pex
デフォルトリスナー http://localhost:8000
.
APIの設定
- ログイン管理パネル (Vercel 配備)
デプロイされたURLを開き、次のように入力する。ADMIN_API_KEY
ログインする。画面に Add Configuration と Configuration List が表示されます。 - API設定の追加
Add Configuration "をクリックし、以下の情報を入力してください:
- サービスプロバイダOpenAI、Claudeなどから選択。
- ベースURLサービスプロバイダのAPIアドレスを入力してください。
https://api.openai.com/v1
. - APIキーサービス・プロバイダーから入手したキーを入力してください。
sk-xxxx
. - モデル名実際のモデル名またはマッピング名を入力してください。
gpt-3.5-turbo
.
保存後、コンフィギュレーションがリストに表示されます。
- モデルマッピング
コンフィギュレーションにマッピングを追加する:
- 一般名
gpt-4
OpenAIのマッピングgpt-4
歌で応える クロード なclaude-2
.
でリクエストする。gpt-4
システムは自動的に利用可能なサービスを選択します。
主要機能の使用
- リクエストを送信
curlでAPIをテストする:
curl -X POST https://your-vercel-url.vercel.app/v1/chat/completions
-H "Authorization: Bearer your_api_key"
-H "Content-Type: application/json"
-d '{"model": "gpt-3.5-turbo", "messages": [{"role": "user", "content": "你好"}], "stream": true}'
設定に成功したことを示すストリーミング出力を返す。
- モデル選択
システムは、過去72時間における最初のトークンの成功率と応答時間に基づいて、自動的に最適なサービス・プロバイダーを選択します。手動で介入する必要はありません。 - ブレーカー機構
サーキットブレーカーは、サービスが連続して故障したときに作動する:
- 3回の失敗:5分間の休止。
- 4回の失敗:10分間の出場停止。
- 9回の失敗:48時間の出場停止。
停止中、システムは別のサービス・プロバイダーに切り替わる。
- ストリーミングの最適化
に関して ジェミニ UniAPIのようなレスポンスの塊が大きいモデルは、自動的に出力の小さな塊に分割される。
よくある質問
- リクエストは失敗しました。検査
Authorization
ヘッダーに正しいBearer your_api_key
. - モデル使用不可設定されたモデル名がサービスプロバイダーから提供されたものと一致していることを確認するか、マッピング設定を確認してください。
- 配備後アクセス不能謝辞
ENVIRONMENT
として設定した。production
Vercelのログは、ユーザーには利用できず、チェックされる。
これらのステップで、UniAPIを簡単にデプロイして使用することができます。UniAPIは設定が簡単で、強力で、マルチベンダーAPIを管理する必要があるシナリオに最適です。
アプリケーションシナリオ
- マルチベンダーモデルの開発者テスト
OpenAIとClaudeの出力を比較したい場合、uniAPIを使えば、1つのインターフェイスで両方を呼び出すことができ、時間を節約できます。 - チームが安定したAPIサービスを構築
uniAPIのサーキットブレーカーとメリトクラシーは、中断のないサービスを保証しました。 - 教育・研究
学生はUniAPIを使って、さまざまなモデルの応答性と安定性を調べることができ、学術的な実験に適しています。
品質保証
- UniAPIはどのサービスプロバイダーをサポートしていますか?
OpenAI、Azure OpenAI、Claude、その他のOpenAIプロトコルに準拠したサービスをサポートします。 - サーキットブレーカーが作動するとどうなるのか?
システムは自動的に他のサービス・プロバイダーに切り替え、クーリング・オフ期間後に再試行する。手動操作は不要です。 - ストリーミング出力の利点は?
特にリアルタイムのチャットシナリオでは、レスポンスの大きなチャンクを分割して、よりスムーズなユーザーエクスペリエンスを実現します。