渠道类型

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. 1. 访问 GPT-Load 管理界面
  2. 2. 进入"环境管理" -> "分组设置"
  3. 3. 点击"新增分组"填写分组信息
  4. 4. 选择对应的渠道类型(OpenAI/Gemini/Claude)
  5. 5. 配置上游地址和测试路径
  6. 6. 添加 API 密钥并测试连接
  7. 7. 保存配置并启用分组

配置要点

  • 分组名将作为代理路径的一部分
  • 支持一个分组配置多个 API 密钥
  • 自动进行密钥轮询和负载均衡
  • 支持密钥健康检查和故障转移
  • 可设置请求频率限制和配额管理

迁移指南

迁移步骤

1

评估现状

分析当前使用的 AI 服务和 API 调用方式

2

部署 GPT-Load

按照快速开始指南部署 GPT-Load 服务

3

更新配置

修改应用中的 API 基础地址指向 GPT-Load

无缝迁移

GPT-Load 的设计理念是完全透明,迁移过程中无需修改业务逻辑,只需更改 API 端点地址即可享受统一管理和负载均衡的好处。

总结

透明代理

  • 保持原生 API 格式
  • 无需修改业务代码
  • 支持所有功能特性

统一管理

  • 多服务统一接入
  • 集中密钥管理
  • 统一监控告警

高可扩展

  • 负载均衡与故障转移
  • 水平扩展支持
  • 企业级性能保障