GPT-Load 是一个开源的高性能 AI 代理工具,专注于为多种大模型服务提供统一的接口管理和负载均衡。它通过智能密钥轮询机制,简化了开发者对 OpenAI、Gemini、Claude 等模型的访问。用户可以快速部署并通过 Web 界面实时管理配置。项目支持 Docker 容器化部署,默认使用 SQLite 数据库,适合轻量级应用,也支持 MySQL、PostgreSQL 和 Redis,满足集群化需求。GPT-Load 由 tbphp 开发,托管在 GitHub,适用于企业和个人开发者。
功能列表
- 智能密钥轮询:自动管理多个 API 密钥,动态分配请求,提升接口调用效率。
- 多模型支持:兼容 OpenAI、Gemini、Claude 等大模型,提供统一 API 入口。
- 负载均衡:优化请求分配,确保高并发场景下的稳定性。
- Web 管理界面:支持实时修改配置,无需重启服务即可生效。
- 数据库灵活性:默认 SQLite,支持 MySQL、PostgreSQL 和 Redis。
- Docker 部署:提供容器化方案,简化安装和扩展。
- 集群支持:通过共享数据库和 Redis,实现多节点协同工作。
- API 代理转发:支持多种模型的 API 请求格式,简化开发。
使用帮助
安装流程
GPT-Load 支持 Docker 和源码构建两种安装方式。以下是详细步骤:
方法一:Docker 部署(推荐)
- 安装 Docker 和 Docker Compose
确保系统已安装 Docker 和 Docker Compose。可以通过以下命令检查:docker --version docker compose version
- 创建项目目录
在本地创建一个目录并进入:mkdir -p gpt-load && cd gpt-load
- 下载配置文件
从 GitHub 仓库获取默认配置文件:wget https://raw.githubusercontent.com/tbphp/gpt-load/main/docker-compose.yml wget -O .env https://raw.githubusercontent.com/tbphp/gpt-load/main/.env.example
- 配置环境变量
编辑.env
文件,设置认证密钥和其他参数。例如:AUTH_KEY=sk-123456
默认认证密钥为
sk-123456
,可根据需要修改。 - 启动服务
使用 Docker Compose 启动服务:docker compose up -d
服务将在
http://localhost:3001
运行。 - 访问管理界面
打开浏览器,访问http://localhost:3001
,使用.env
中设置的AUTH_KEY
登录。 - 管理服务
- 查看服务状态:
docker compose ps
- 查看日志:
docker compose logs -f
- 重启服务:
docker compose down && docker compose up -d
- 更新版本:
docker compose pull && docker compose down && docker compose up -d
- 查看服务状态:
方法二:源码构建
- 克隆仓库
从 GitHub 克隆项目代码:git clone https://github.com/tbphp/gpt-load.git cd gpt-load
- 安装 Go 环境
确保系统安装了 Go 1.18 或更高版本。检查版本:go version
- 安装依赖
拉取项目依赖:go mod tidy
- 配置环境变量
复制示例配置文件并编辑:cp .env.example .env
修改
.env
中的DATABASE_DSN
(数据库连接字符串)和REDIS_DSN
(Redis 连接字符串,可选)。例如:AUTH_KEY=sk-123456 DATABASE_DSN=mysql://user:password@host:port/dbname
- 运行服务
启动服务:make run
服务默认运行在
http://localhost:3001
。
数据库配置
- SQLite:默认数据库,适合单机轻量应用,无需额外配置。
- MySQL/PostgreSQL:编辑
docker-compose.yml
,取消相关服务注释,配置环境变量后重启。 - Redis:集群部署时必须配置,用于缓存和节点同步。
主要功能操作
1. 密钥管理
- 登录 Web 界面后,进入“密钥管理”页面。
- 添加多个 API 密钥(如 OpenAI、Gemini 的密钥)。
- 系统会自动轮询可用密钥,优先使用未超限的密钥发送请求。
2. API 代理请求
- GPT-Load 提供统一的代理接口。例如,调用 OpenAI 的聊天接口:
curl -X POST http://localhost:3001/proxy/openai/v1/chat/completions \ -H "Authorization: Bearer sk-123456" \ -H "Content-Type: application/json" \ -d '{"model": "gpt-4.1-mini", "messages": [{"role": "user", "content": "Hello"}]}'
- 支持 Gemini、Claude 等模型的代理请求,格式类似。
3. 实时配置
- 在 Web 界面中修改模型参数、密钥优先级或负载均衡策略。
- 配置保存后立即生效,无需重启服务。
4. 集群部署
- 确保所有节点连接相同的 MySQL/PostgreSQL 和 Redis。
- 在
.env
中配置统一的数据库和 Redis 连接。 - 使用 Docker Compose 或 Kubernetes 部署多个节点。
注意事项
- 确保防火墙开放 3001 端口。
- 集群部署时,Redis 必须配置,否则会启用内存存储。
- 定期检查密钥使用情况,避免超限导致服务中断。
应用场景
- 企业 AI 集成
企业在开发 AI 应用时,需要同时调用 OpenAI、Gemini 和 Claude 的接口。GPT-Load 提供统一入口,简化开发流程,降低维护成本。 - 高并发 AI 服务
在聊天机器人或智能客服场景中,GPT-Load 的负载均衡和密钥轮询确保高并发请求的稳定性,适合大规模用户访问。 - 个人开发者实验
开发者可以快速部署 GPT-Load,测试不同大模型的性能,管理多个免费或付费密钥,降低试错成本。
QA
- GPT-Load 支持哪些模型?
支持 OpenAI、Gemini、Claude 等主流大模型,具体兼容性取决于 API 格式。 - 如何切换数据库?
编辑docker-compose.yml
,取消 MySQL 或 PostgreSQL 的注释,配置.env
中的DATABASE_DSN
,然后重启服务。 - 集群部署需要哪些条件?
所有节点需连接相同的 MySQL/PostgreSQL 和 Redis,Redis 为必配项。 - Web 界面如何保证安全?
通过.env
中的AUTH_KEY
进行认证,建议使用强密钥并定期更换。