チャネルタイプ
GPT-Loadは複数の主流AIサービスプロバイダーをサポートし、ネイティブAPIフォーマットと体験を保持したまま、完全に透明なプロキシアクセスを提供します。
サポートされているサービス
OpenAI
- Chat Completions API
- Embeddings API
- Images API
- Audio API
- Files API
- Models API
Google Gemini
- Generate Content API
- ストリーミングサポート
- マルチモーダル入力
- 安全設定
- 生成設定
- モデル管理
Anthropic Claude
- Messages API
- ストリーミング応答
- システムプロンプト
- ツール使用
- トークンカウント
- モデルアクセス
拡張性
アーキテクチャ設計により、標準化されたインターフェースアダプテーション層を通じて、新しいAIサービスプロバイダーを迅速に追加し、統合アクセスを実現します。
プロキシフォーマット
統一プロキシエンドポイント
http://localhost:3001/proxy/{group-name}パラメータ説明
- group-name: 管理画面で作成されたグループ名
- 任意のパスサフィックスをサポート、完全透明転送
- 元のAPIのすべての機能特性を保持
認証方式
- 元のサービスのAPI Keyを使用
- Authorization: Bearer {token} ヘッダーで渡す
- グループレベルのキーローテーションと負荷分散をサポート
OpenAI形式接続
認証設定
GPT-LoadはOpenAI SDKと完全に互換性があり、base_urlを変更するだけでシームレスに切り替えできます。
元のOpenAIリクエスト
curl https://api.openai.com/v1/chat/completions \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $OPENAI_API_KEY" \
-d '{
"model": "gpt-4",
"messages": [
{
"role": "user",
"content": "Hello!"
}
]
}'GPT-Loadプロキシ経由
curl http://localhost:3001/proxy/openai/v1/chat/completions \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $OPENAI_API_KEY" \
-d '{
"model": "gpt-4",
"messages": [
{
"role": "user",
"content": "Hello!"
}
]
}'APIベースアドレスの変更のみ、その他のコードは完全に変更不要
すべてのOpenAI SDK機能をサポート
サポートされているエンドポイント
コアAPI
- /v1/chat/completions - チャット補完
- /v1/embeddings - ベクトル埋め込み
- /v1/images/generations - 画像生成
- /v1/audio/speech - 音声合成
- /v1/audio/transcriptions - 音声文字起こし
その他のAPI
- /v1/models - モデル一覧
- /v1/files - ファイル管理
- /v1/fine_tuning/jobs - ファインチューニングジョブ
- /v1/assistants - アシスタントAPI
- /v1/threads - 会話スレッド
SDK設定
Python SDK
from openai import OpenAI
client = OpenAI(
api_key="your-openai-api-key",
base_url="http://localhost:3001/proxy/openai"
)
response = client.chat.completions.create(
model="gpt-4",
messages=[
{"role": "user", "content": "Hello!"}
]
)Node.js SDK
import OpenAI from 'openai';
const openai = new OpenAI({
apiKey: 'your-openai-api-key',
baseURL: 'http://localhost:3001/proxy/openai'
});
const response = await openai.chat.completions.create({
model: 'gpt-4',
messages: [
{ role: 'user', content: 'Hello!' }
]
});Gemini形式接続
認証設定
Google Gemini APIと完全に互換性があり、マルチモーダル入力やストリーミング応答を含むすべてのネイティブ機能をサポートします。
元のGeminiリクエスト
curl https://generativelanguage.googleapis.com/v1beta/models/gemini-pro:generateContent?key=$API_KEY \
-H 'Content-Type: application/json' \
-d '{
"contents": [{
"parts": [{
"text": "Write a story about a magic backpack."
}]
}]
}'GPT-Loadプロキシ経由
curl http://localhost:3001/proxy/gemini/v1beta/models/gemini-pro:generateContent?key=$API_KEY \
-H 'Content-Type: application/json' \
-d '{
"contents": [{
"parts": [{
"text": "Write a story about a magic backpack."
}]
}]
}'リクエストベースアドレスをGPT-Loadプロキシアドレスに置換
すべてのパラメータと認証方式は変更せず
サポートされているエンドポイント
コンテンツ生成
- /v1beta/models/*/generateContent - コンテンツ生成
- /v1beta/models/*/streamGenerateContent - ストリーミング生成
- /v1beta/models/*/countTokens - トークンカウント
- /v1beta/models/*/embedContent - ベクトル埋め込み
モデル管理
- /v1beta/models - モデル一覧
- /v1beta/models/* - モデル詳細
- /v1beta/tuning/createTunedModel - ファインチューニング作成
- /v1beta/tuning/tunedModels - ファインチューニング一覧
SDK設定
Python SDK
import google.generativeai as genai
# API Key設定
genai.configure(
api_key="your-gemini-api-key",
client_options={"api_endpoint": "http://localhost:3001/proxy/gemini"}
)
model = genai.GenerativeModel('gemini-pro')
response = model.generate_content("Hello!")HTTPリクエスト
POST http://localhost:3001/proxy/gemini/v1beta/models/gemini-pro:generateContent?key=YOUR_API_KEY
Content-Type: application/json
{
"contents": [{
"parts": [{
"text": "Explain how AI works"
}]
}]
}Claude形式接続
認証設定
Anthropic Claude APIと完全に互換性があり、Messages API、ツール使用、ストリーミング応答などすべての高度な機能をサポートします。
元のClaudeリクエスト
curl https://api.anthropic.com/v1/messages \
-H "Content-Type: application/json" \
-H "x-api-key: $ANTHROPIC_API_KEY" \
-H "anthropic-version: 2023-06-01" \
-d '{
"model": "claude-3-sonnet-20240229",
"max_tokens": 1024,
"messages": [
{"role": "user", "content": "Hello, Claude"}
]
}'GPT-Loadプロキシ経由
curl http://localhost:3001/proxy/claude/v1/messages \
-H "Content-Type: application/json" \
-H "x-api-key: $ANTHROPIC_API_KEY" \
-H "anthropic-version: 2023-06-01" \
-d '{
"model": "claude-3-sonnet-20240229",
"max_tokens": 1024,
"messages": [
{"role": "user", "content": "Hello, Claude"}
]
}'APIベースアドレスをGPT-Loadプロキシエンドポイントに更新
すべてのヘッダー情報とリクエスト形式は変更せず
サポートされているエンドポイント
コアAPI
- /v1/messages - メッセージ会話
- /v1/messages/streaming - ストリーミング会話
- /v1/complete - テキスト補完(レガシー)
- /v1/tools - ツール使用
モデル管理
- /v1/models - 利用可能モデル一覧
- Claude-3全シリーズモデルをサポート
- カスタムmax_tokens制限をサポート
- システムプロンプト設定をサポート
SDK設定
Python SDK
from anthropic import Anthropic
client = Anthropic(
api_key="your-claude-api-key",
base_url="http://localhost:3001/proxy/claude"
)
message = client.messages.create(
model="claude-3-sonnet-20240229",
max_tokens=1024,
messages=[
{"role": "user", "content": "Hello!"}
]
)HTTPリクエスト
POST http://localhost:3001/proxy/claude/v1/messages
Content-Type: application/json
x-api-key: YOUR_API_KEY
anthropic-version: 2023-06-01
{
"model": "claude-3-sonnet-20240229",
"max_tokens": 1024,
"messages": [
{"role": "user", "content": "Hello!"}
]
}グループ管理
グループ作成
- 1. GPT-Load管理画面にアクセス
- 2. 「環境管理」->「グループ設定」に移動
- 3. 「新規グループ」をクリックしてグループ情報を入力
- 4. 対応するチャネルタイプ(OpenAI/Gemini/Claude)を選択
- 5. アップストリームアドレスとテストパスを設定
- 6. API キーを追加して接続をテスト
- 7. 設定を保存してグループを有効化
設定要点
- グループ名はプロキシパスの一部になります
- 一つのグループに複数のAPI キーを設定可能
- 自動的にキーローテーションと負荷分散を実行
- キーヘルスチェックとフェイルオーバーをサポート
- リクエスト頻度制限とクォータ管理を設定可能
移行ガイド
移行ステップ
1
現状評価
現在使用しているAIサービスとAPI呼び出し方法を分析
2
GPT-Loadデプロイ
クイックスタートガイドに従ってGPT-Loadサービスをデプロイ
3
設定更新
アプリケーション内のAPIベースアドレスをGPT-Loadに向けるよう修正
シームレス移行
GPT-Loadの設計思想は完全に透明で、移行プロセス中はビジネスロジックを修正する必要がなく、APIエンドポイントアドレスを変更するだけで統一管理と負荷分散の利点を享受できます。
まとめ
透明プロキシ
- ネイティブAPIフォーマットを保持
- ビジネスコードの修正不要
- すべての機能特性をサポート
統一管理
- マルチサービス統一アクセス
- 集中キー管理
- 統一監視アラート
高スケーラブル
- 負荷分散とフェイルオーバー
- 水平スケーリングサポート
- エンタープライズグレードパフォーマンス