One API:用一套接口调遍所有大模型

one-api 在 GitHub 上已经拿到 35,273 Star 了。

这个项目解决的问题很具体:市面上大模型越来越多,每个厂商的 API 格式都不一样,开发者每接一个就要写一套适配代码。One API 的做法是把所有模型统一到 OpenAI 的接口格式下,下游不用改代码,上游随便换模型。

正文顶部截图

1、 它到底干了什么

一句话:你用 OpenAI 的调用方式,它帮你转发到任意模型。

支持的模型清单很长,国外的有 OpenAI ChatGPT、Anthropic Claude、Google Gemini、Mistral、Groq、xAI、DeepSeek,国内的有百度文心、阿里通义、讯飞星火、智谱 ChatGLM、腾讯混元、Moonshot、百川、MiniMax,还有火山引擎的豆包、零一万物、阶跃星辰等。

除了大语言模型,DeepL 翻译、Cloudflare Workers AI、Ollama 本地模型也都在支持范围内。

2、 解决了什么痛点

做过多模型接入的人应该都清楚,每个厂商的 API 格式差异不小。请求体字段不一样,返回结构不一样,stream 模式的实现方式也不一样。项目里要对接三五个模型,光适配层就得写一堆。

One API 把这层全抹掉了。你只需要跟它交互,它负责去跟各个模型的 API 打交道。对下游来说,接口永远是 OpenAI 的格式,token 认证方式也一样。

README区域截图

3、 几个实用功能

负载均衡是其中一个。你可以配置多个渠道,它会自动分配请求,一个渠道挂了就切到下一个。对于需要高可用的场景,这个能力省了不少事。

令牌管理做得比较细。可以给每个令牌设置过期时间、额度上限、允许访问的模型列表,还能限制 IP 范围。团队里不同成员用不同权限,或者对外提供受限的 API 访问,都能覆盖。

多机部署也支持。主从架构,所有节点共享同一个数据库,从节点可以设置为只读模式,配合 Redis 缓存,延迟可以压得很低。

4、 部署方式

最简单的方式是 Docker 一行命令:

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

数据库默认用 SQLite,并发量大的话建议换成 MySQL,通过环境变量 SQL_DSN 配置连接参数。

宝塔面板用户可以直接在应用商店搜索 One-API 一键安装。也支持 Docker Compose、手动编译,以及部署到 Sealos、Zeabur、Render 这些云平台。

初始账号是 root,密码 123456,登录后记得第一时间改掉。

5、 适合什么场景

团队内部统一 AI 接口,用一个服务管理所有模型的 key 和额度,这是最常见的用法。

给客户提供 AI 能力,但不想暴露真实模型来源,通过 One API 做一层中继,既方便管理也方便计费。

开发测试阶段需要频繁切换不同模型对比效果,有了这个工具就不用每个项目都改代码了。

便管理也方便计费。

开发测试阶段需要频繁切换不同模型对比效果,有了这个工具就不用每个项目都改代码了。

Logo

欢迎加入 MCP 技术社区!与志同道合者携手前行,一同解锁 MCP 技术的无限可能!

更多推荐