tbphp/gpt-load
Self-hosted AI gateway for multi-channel, multi-credential setups — API keys and subscription accounts, scheduling, failover, request logs and usage. 自托管 AI 网关:多渠道多凭据统一接入,含密钥与订阅账号、调度容错、日志与用量。
GPT-Load - LLM API用セルフホスト型ゲートウェイ
機能
- ネイティブなOpenAI、Anthropic、GeminiなどのAPIを模倣する単一のHTTPエンドポイントを提供します。
- そのエンドポイントの背後で、多くのチャンネル(異なるプロバイダー、アカウント、またはサブスクリプションサービス)を設定し、ゲートウェイが重み、健全性、またはコストに基づいてリクエストをルーティングできるようにします。
- APIキー管理、OAuthフロー、リトライ、クールダウン、ブラックリスト、およびクライアントごとのアクセスキーを処理します。
- SQLite、MySQL、またはPostgreSQLをバックエンドとする組み込みUIにログ、使用統計、コスト見積もりを保存し、資格情報はディスク上で暗号化されます。
必要な理由
- アプリが各プロバイダー用にコードを変更せずに、複数のLLMプロバイダー(OpenAI、Claude、Gemini、Bedrockなど)と通信する必要がある場合。
- 複数のAPIキー間でトラフィックを分散し、レート制限のヒットを回避し、1つのキーが失敗した場合に健全なキーに自動的にフォールバックするため。
- すべてのLLM呼び出しの統合された監査証跡とコストダッシュボードを1か所で維持するため。
主要コンポーネント
| コンポーネント | 役割 |
|---|---|
| ゲートウェイサーバー(Goで記述) | OpenAI互換のルートを公開し、選択されたアップストリームチャンネルにリクエストを転送し、スケジューリングとリトライロジックを適用します。 |
| 管理UI | チャンネル、グループ、AccessKeyを追加するためのWebコンソール(ポート3001)。健全性、ログ、使用状況チャートを表示します。 |
| チャンネル | 特定のアップストリームサービス(例:OpenAI、Anthropic、カスタムOpenAI互換リレー)と1つ以上のAPI資格情報の構成。 |
| グループ | モデルホワイトリストとルーティングポリシー(重み、クールダウン、セッションアフィニティ)を持つチャンネルのコレクション。 |
| AccessKey | クライアントアプリケーションに提供されるトークン。クライアントが使用できるグループとプロトコルを決定します。 |
サポートされているプロトコルとモデル
- OpenAIチャット、完了、埋め込み、画像、再ランク、OCR/オーディオなど。
- Anthropic
messages、Geminimodelsエンドポイント、Mistral OCR/オーディオ、および汎用OpenAI互換リレー。 - 30以上の組み込みプロバイダー:OpenAI、Azure OpenAI、AWS Bedrock、Google Vertex AI、Claude、Gemini、DeepSeek、Moonshot、Hugging Face、Cohere、Groqなどに加え、CodexやGrokなどのサブスクリプションベースのサービス。
デプロイメントオプション
- Docker Compose(デフォルト) – サービスをコンテナで実行し、データをDockerボリューム(
gpt-load-data)に保存します。 - ネイティブバイナリ – Linux/macOS/Windows用のプリビルド実行可能ファイルをダウンロード。Windowsではサービスを作成するインストーラーも提供されます。
- データベース – SQLiteがそのまま動作します。
DATABASE_DSNを介してMySQLまたはPostgreSQLに切り替えることができます。
構成のハイライト
.envファイルは、ホスト、ポート、タイムアウト、ログ、プロキシ設定、暗号化キーを制御します。AUTH_KEYは管理UIを保護し、ENCRYPTION_KEYは保存されたAPIシークレットを暗号化します(DBと一緒にバックアップする必要があります)。CLIENT_IP_HEADERとTRUSTED_PROXIESを使用すると、リバースプロキシの背後で実行し、IPベースの制限を適用できます。
典型的なワークフロー
- 開始 サービスを開始します(
docker compose up -d)。 - 読み取り 生成された管理キーを読み取ります(
cat /app/data/auth.key)。 - ログイン
http://127.0.0.1:3001にログインし、チャンネルを追加します(例:OpenAI + APIキー)。 - グループを作成 チャンネルと公開するモデルを選択します。
- AccessKeyを生成 アプリケーション用にAccessKeyを生成し、ゲートウェイを呼び出すときに
Authorization: Bearer …ヘッダーでそのキーを使用します。
注意が必要な場合
encryption.keyを失うと、保存されているすべての資格情報が復元できなくなります。- バージョン2.0は完全な書き直しであり、以前の1.x系からのデータをインポートできません。
- サービスはデフォルトでlocalhostにバインドされます。独自のファイアウォールまたはリバースプロキシの背後でのみ公開してください。
ライセンスとコミュニティ
- MITライセンスのコアコード。
- プロバイダーアダプターにはApache-2.0の
Bifrost Core、OAuth処理にはMITのCLIProxyAPIに依存しています。 - 公式Dockerイメージ:
ghcr.io/tbphp/gpt-load:2。
すべての詳細はプロジェクトのREADMEから直接取得されています。
関連
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト