渠道类型
GPT-Load 支持多种主流 AI 服务提供商,提供完全透明的代理访问,保持原生 API 格式和体验。
支持的服务
OpenAI
- Chat Completions API
- Embeddings API
- Images API
- Audio API
- Files API
- Models API
Google Gemini
- Generate Content API
- Streaming Support
- Multi-modal Inputs
- Safety Settings
- Generation Config
- Models Management
Anthropic Claude
- Messages API
- Streaming Responses
- System Prompts
- Tool Use
- Token Counting
- Models Access
扩展性
架构设计支持快速添加新的 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 的功能特性
支持的端点
核心接口
- /v1/chat/completions - 聊天补全
- /v1/embeddings - 向量嵌入
- /v1/images/generations - 图像生成
- /v1/audio/speech - 语音合成
- /v1/audio/transcriptions - 语音转文字
其他接口
- /v1/models - 模型列表
- /v1/files - 文件管理
- /v1/fine_tuning/jobs - 微调任务
- /v1/assistants - 助手接口
- /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 代理端点
保持所有头部信息和请求格式不变
支持的端点
核心接口
- /v1/messages - 消息对话
- /v1/messages/streaming - 流式对话
- /v1/complete - 文本补全(Legacy)
- /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 格式
- 无需修改业务代码
- 支持所有功能特性
统一管理
- 多服务统一接入
- 集中密钥管理
- 统一监控告警
高可扩展
- 负载均衡与故障转移
- 水平扩展支持
- 企业级性能保障