One API:用一套接口调遍所有大模型
文章目录
- One API:用一套接口调遍所有大模型
- 1、 它到底干了什么
- 2、 解决了什么痛点
- 3、 几个实用功能
- 4、 部署方式
- 5、 适合什么场景
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 认证方式也一样。
3、 几个实用功能
负载均衡是其中一个。你可以配置多个渠道,它会自动分配请求,一个渠道挂了就切到下一个。对于需要高可用的场景,这个能力省了不少事。
令牌管理做得比较细。可以给每个令牌设置过期时间、额度上限、允许访问的模型列表,还能限制 IP 范围。团队里不同成员用不同权限,或者对外提供受限的 API 访问,都能覆盖。
多机部署也支持。主从架构,所有节点共享同一个数据库,从节点可以设置为只读模式,配合 Redis 缓存,延迟可以压得很低。
4、 部署方式
最简单的方式是 Docker 一行命令:
dockerrun--nameone-api-d--restartalways-p3000:3000-eTZ=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 做一层中继,既方便管理也方便计费。
开发测试阶段需要频繁切换不同模型对比效果,有了这个工具就不用每个项目都改代码了。
便管理也方便计费。
开发测试阶段需要频繁切换不同模型对比效果,有了这个工具就不用每个项目都改代码了。
