颠覆 AI 开发效率!开源工具一站式管控 30+大模型ApiKey,秘钥付费+负载均衡全搞定

63 阅读5分钟

颠覆 AI 开发效率!开源工具一站式管控 30+大模型ApiKey,秘钥付费+负载均衡全搞定

引言

在 AI 技术爆发式发展的今天,OpenAI、百度文心一言、智谱 ChatGLM、腾讯混元等主流大模型纷纷涌现,各自凭借独特优势占据市场。但对开发者而言,多平台对接却成了棘手难题:不同的 API 格式、繁杂的鉴权方式、各异的返回结构,意味着要维护多套代码、反复研读不同文档,不仅耗时耗力,还大幅增加了系统维护成本。

而开源工具 One-API 的出现,正以 "万能接口翻译官" 的姿态,彻底破解这一行业痛点。

img

什么是One-API

1个平台管理30+大模型API并支持秘钥付费。

LLM API 管理 & 分发系统,支持 OpenAI、Azure、Anthropic Claude、Google Gemini、DeepSeek、字节豆包、ChatGLM、文心一言、讯飞星火、通义千问、360 智脑、腾讯混元等主流模型,统一 API 适配,可用于 key 管理与二次分发。单可执行文件,提供 Docker 镜像,一键部署,开箱即用。LLM API management & key redistribution system, unifying multiple providers under a single API. Single binary, Docker-ready, with an English UI.

One-API 支持几十种模型服务商,包括但不限于:

  • • OpenAI / Azure OpenAI
  • • DeepSeek
  • • Moonshot
  • • Anthropic Claude
  • • Google Gemini
  • • 阿里 Qwen
  • • 百度文心
  • • 讯飞星火
  • • 本地模型代理(如 LM Studio、Ollama)

并提供:

  • • 轮询
  • • 权重分配
  • • 故障自动切换
  • • 负载均衡

让调用更稳定。

演示站:

img

部署One-API前置条件

Docker部署

1.使用 SQLite 的部署命令


    
    
    
  mkdir -p /data/docker/one-api

docker run --name one-api -d --restart always -p 3000:3000 -e TZ=Asia/Shanghai -v /data/docker/one-api:/data justsong/one-api

img

浏览器访问:IP+端口

img

2.使用 MySQL 的部署命令

在上面的基础上添加 -e SQL_DSN="root:123456@tcp(localhost:3306)/oneapi",请自行修改数据库连接参数,不清楚如何修改请参见下面环境变量一节。


    
    
    
  docker run --name one-api -d --restart always -p 3000:3000 -e SQL_DSN="root:123456@tcp(localhost:3306)/oneapi" -e TZ=Asia/Shanghai -v /home/ubuntu/data/one-api:/data justsong/one-api

其中,-p 3000:3000 中的第一个 3000 是宿主机的端口,可以根据需要进行修改。

数据和日志将会保存在宿主机的 /data/docker/one-api 目录,请确保该目录存在且具有写入权限,或者更改为合适的目录。

如果启动失败,请添加 --privileged=true

如果上面的镜像无法拉取,可以尝试使用 GitHub 的 Docker 镜像,将上面的 justsong/one-api 替换为 ghcr.io/songquanpeng/one-api 即可。

如果你的并发量较大,务必设置 SQL_DSN,详见下面环境变量一节。

更新命令:docker run --rm -v /var/run/docker.sock:/var/run/docker.sock containrrr/watchtower -cR

3.基于 Docker Compose 进行部署


    
    
    
  wget https://raw.githubusercontent.com/songquanpeng/one-api/refs/heads/main/docker-compose.yml

# 目前支持 MySQL 启动,数据存储在 ./data/mysql 文件夹内
docker-compose up -d

# 查看部署状态
docker-compose ps

Nginx 的参考配置


    
    
    
  server{
   server_name openai.justsong.cn;  # 请根据实际情况修改你的域名

   location / {
          client_max_body_size  64m;
          proxy_http_version 1.1;
          proxy_pass http://localhost:3000;  # 请根据实际情况修改你的端口
          proxy_set_header Host $host;
          proxy_set_header X-Forwarded-For $remote_addr;
          proxy_cache_bypass $http_upgrade;
          proxy_set_header Accept-Encoding gzip;
          proxy_read_timeout 300s;  # GPT-4 需要较长的超时时间,请自行调整
   }
}

certbot 配置 HTTPS


    
    
    
  # Ubuntu 安装 certbot:
sudo snap install --classic certbot
sudo ln -s /snap/bin/certbot /usr/bin/certbot
# 生成证书 & 修改 Nginx 配置
sudo certbot --nginx
# 根据指示进行操作
# 重启 Nginx
sudo service nginx restart

使用One-API

1.登录

初始账号

用户名为 root

密码为 123456

img

2.添加渠道

如下图,点击渠道、 添加新的渠道

支持

  • • OpenAI(含官方和各种代理)
  • • Azure OpenAI
  • • Anthropic Claude
  • • 百度文心一言
  • • 科大讯飞星火
  • • 阿里通义千问
  • • 智谱AI
  • • 腾讯混元
  • • 等等十几家...

img

img

添加千问的渠道

img

填入密钥

img

测试

3.创建令牌

为你的应用创建授权令牌,这是调用API的凭证。

依次点击,令牌、添加新的令牌

img

创建新的令牌

可以设置名称、模型范围、IP限制等

img

复制令牌

img

4.修改应用配置


    
    
    
  http://192.168.1.3:3000/v1/chat/completions

测试是否成功


    
    
    
  http://192.168.1.3:3000/v1/chat/completions

CURL测试是否成功


    
    
    
  curl -X POST "http://192.168.1.3:3000/v1/chat/completions" \
-H "Authorization: Bearer sk-D1aztx0oY9xBsez1Df0a188cD7434aAcB7C4E199D0DbBc2f" \
-H "Content-Type: application/json" \
-d "{
    "model": "qwen-plus",
    "messages": [
        {
            "role": "system",
            "content": "You are a helpful assistant."
        },
        {
            "role": "user",
            "content": "你是谁?"
        }
    ]
}"
{"id":"9b59d121-ce38-4ad6-afd9-bac2b616e371","model":"qwen","object":"chat.completion","created":1768471983,"choices":[{"index":0,"message":{"role":"assistant","content":"我是通义千问,阿里巴巴集团旗下的超大规模语言模型。我能够回答问题、创作文字,如写故事、公文、邮件、剧本等,还能进行逻辑推理、编程,甚至表达观点和玩游戏。我支持多种语言,包括中文、英文、德语、法语、西班牙语等。如果你有任何问题或需要帮助,欢迎随时告诉我!"},"finish_reason":"stop"}],"usage":{"prompt_tokens":22,"completion_tokens":78,"total_tokens":100}}

3.查看用量

总览查看请求的趋势

img

日志可以查看具体的使用情况

img

再用相同的方法配置多个渠道

结尾

无论你是想做团队内部的模型网关,还是想搭建一个对外的聚合服务,甚至只是想把各种大模型的 Key 管理得更优雅一点,One-API 都是个非常省心的选择。

如果你在部署过程中遇到什么奇怪的问题,可以随时来交流。

我这边会继续补充更多踩坑经验和最佳实践,帮你少走弯路。希望你也能顺利把 One-API 跑起来,早点享受到“一个平台管所有模型”的爽感。祝你折腾愉快!