我把 20 多个大模型的 API 塞进了一个接口,统一OpenAI 格式 5 分钟搞定

本文转载自公众号:狗凯之家,原文:我把 20 多个大模型的 API 塞进了一个接口,统一OpenAI 格式 5 分钟搞定

手上的 API Key 越来越多,你就懂了

如果你和我一样,手上有几家 AI 平台的 Key——OpenAI、Claude、Gemini、DeepSeek、通义千问、智谱 GLM——那下面这些话你肯定有共鸣。

每个平台都有自己的文档、自己的 SDK、自己的鉴权方式。项目里引用了一堆包的 SDK,想换个模型还得改代码,分给同事用还得手工拷 Key。我每次想到又要对接一个新模型,头就大了一圈。

做 AI 应用的人,应该都懂。

New API 是个什么东西

说白了,就是一个开源的企业级 AI 网关。它把市面上主流大模型的 API 全部转成 OpenAI 格式,统一管理、统一分发。

项目地址:github.com/QuantumNous/new-api。它是基于 One API 二次开发的增强版,GitHub 上 7.5k+ 星。

弄好之后,你只要记一个地址、一套 API Key,背后接多少模型都行。那些客户端(Dify、LobeChat、Cherry Studio、OpenClaw……)配置的时候,把 API 地址填成你的 New API 地址就行。后台怎么切模型、加渠道,前台完全感觉不到。

640-88

这玩意儿能干嘛

说几个典型的用法:

个人用 手里有硅基流动的免费额度、阿里云的 Token、OpenAI 的余额,散落各处。New API 全部收进来,一个接口通调,不用翻来翻去找 Key。

团队内部 公司好几个项目都要调 AI 接口,给每个人一个单独的 API Key,后台配额度、设限流、看用量。谁超标了一看就知道,月底不用拍脑袋算账。

卖 API 有多余的 Token 容量?开对外模式,设好定价和套餐,别人充钱用你的接口。系统自带易支付和 Stripe,用户管理、配额、日志都现成的。

协议互转 比如你想用 OpenAI 的 SDK 去调 Claude——New API 在中间给你转好了,代码一行不改。

功能列表

  • 协议转换:OpenAI ↔ Claude ↔ Gemini 互转,SSE 流式输出完整支持
  • 渠道管理:OpenAI、Azure、Claude、Gemini、DeepSeek、豆包、ChatGLM、文心一言、讯飞星火、通义千问、360 智脑、腾讯混元……数了下 20 多个
  • 负载均衡:加权随机路由 + 自动故障转移,一个渠道挂了自己切到下一个
  • 用户配额:多用户、按量计费、分组定价
  • 数据库:SQLite(开发用)/ MySQL 5.7+ / PostgreSQL 9.6+
  • 支付:内置易支付和 Stripe
  • 界面:新 UI,多语言,该有的都有

部署步骤

我走最稳的路子——Docker Compose + MySQL,适合正式跑。

前提

服务器装了 Docker 和 Docker Compose。没装的就跑这个:

curl -fsSL https://get.docker.com | bash

docker-compose.yml

新建一个目录,放这个文件:

version:'3.8'

services:
mysql:
image:mysql:8.0
container_name:new-api-mysql
restart:always
environment:
MYSQL_ROOT_PASSWORD:你的密码
MYSQL_DATABASE:newapi
MYSQL_USER:newapi
MYSQL_PASSWORD:你的密码
TZ:Asia/Shanghai
volumes:
-./mysql-data:/var/lib/mysql
command:
---character-set-server=utf8mb4
---collation-server=utf8mb4_unicode_ci
networks:
-new-api-network

redis:
image:redis:latest
container_name:new-api-redis
restart:always
networks:
-new-api-network

new-api:
image:calciumion/new-api:latest
container_name:new-api
restart:always
depends_on:
-mysql
-redis
ports:
-"3000:3000"
environment:
SQL_DSN:"newapi:你的密码@tcp(mysql:3306)/newapi?charset=utf8mb4&parseTime=True&loc=Local"
REDIS_CONN_STRING:"redis://redis:6379"
TZ:Asia/Shanghai
SESSION_SECRET:"自己生成一个随机字符串"
CRYPTO_SECRET:"再生成一个随机字符串"
volumes:
-./data:/data
-./logs:/app/logs
networks:
-new-api-network

networks:
new-api-network:
driver:bridge

然后启动:

docker-compose up -d

初始化

浏览器打开 http://你的IP:3000,默认账号 root,密码 123456。进去之后:

  1. 先把密码改了
  2. 去「渠道管理」加你的 AI 渠道——选类型、填 Key、勾模型
  3. 去「令牌管理」生成一个调用 Token(格式是 sk-xxx
  4. 拿客户端连上试试

测试一下通不通:

curl http://你的IP:3000/v1/chat/completions \
 -H "Content-Type: application/json" \
 -H "Authorization: Bearer sk-你的Token" \
 -d '{"model": "gpt-4o", "messages": [{"role": "user", "content": "你好"}]}'

通了就完事了。

几个小建议

  • 刚上手可以用 SQLite 模式——一个容器就搞定,先跑通再上 MySQL+Redis
  • SESSION_SECRET 和 CRYPTO_SECRET 一定要改
    ,不要用默认的
  • 如果是 ARM 机器(树莓派、M 芯片 Mac),docker pullcalciumion/new-api:latest-arm64
  • 更新的话:docker-compose pull && docker-compose up -d 就行

New API 这个项目,说实话,把"API 管理"这件事做到了能用又简单。不用写代码,配完就能跑,还省掉了对接多家模型的大把破事。

你手上有哪些 API Key?现在是统一管还是各管各的?评论区说说你的方案。

© 版权声明
THE END
喜欢就支持一下吧
点赞14 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容