[开源] (支持最新的o1)开发了一个适合宝宝体质的 API 转发器 uni-api,目前已经 200+ star

项目地址:GitHub - yym68686/uni-api: This is a project that unifies the management of large model APIs. It can call multiple backend services through a unified API interface, convert them to the OpenAI format uniformly, and support load balancing. Currently supported backend services include: OpenAI, Anthropic, DeepBricks, OpenRouter, Gemini, Vertex, etc.

简介

如果个人使用的话,one/new-api 过于复杂,有很多个人不需要使用的商用功能,如果你不想要复杂的前端界面,有想要支持的模型多一点,可以试试 uni-api。这是一个统一管理大模型API的项目,可以通过一个统一的API接口调用多个后端服务,统一转换为 OpenAI 格式,支持负载均衡。目前支持的后端服务有:OpenAI、Anthropic、Gemini、Vertex、Cohere、Cloudflare、DeepBricks、OpenRouter 等。

uni-api 的主要优势

  • 无前端,纯配置文件配置 API 渠道。只要写一个文件就能运行起一个属于自己的 API 站,文档有详细的配置指南,小白友好。

  • 统一管理多个后端服务,支持 OpenAI、Deepseek、DeepBricks、OpenRouter 等其他 API 是 OpenAI 格式的提供商。支持 OpenAI Dalle-3 图像生成。

  • 同时支持 Anthropic、Gemini、Vertex AI、Cohere、Cloudflare。Vertex 同时支持 Claude 和 Gemini API。

  • 支持 OpenAI、 Anthropic、Gemini、Vertex 原生 tool use 函数调用。

  • 支持 OpenAI、Anthropic、Gemini、Vertex 原生识图 API。

  • 支持四种负载均衡。

  1. 支持渠道级加权负载均衡,可以根据不同的渠道权重分配请求。默认不开启,需要配置渠道权重。

  2. 支持 Vertex 区域级负载均衡,支持 Vertex 高并发,最高可将 Gemini,Claude 并发提高 (API数量 * 区域数量) 倍。自动开启不需要额外配置。

  3. 除了 Vertex 区域级负载均衡,所有 API 均支持渠道级顺序负载均衡,提高沉浸式翻译体验。自动开启不需要额外配置。

  4. 支持单个渠道多个 API Key 自动开启 API key 级别的轮训负载均衡。

  • 支持自动重试,当一个 API 渠道响应失败时,自动重试下一个 API 渠道。

  • 支持细粒度的权限控制。支持使用通配符设置 API key 可用渠道的特定模型。

  • 支持限流,可以设置每分钟最多请求次数,可以设置为整数,如 2/min,2 次每分钟、5/hour,5 次每小时、10/day,10 次每天,10/month,10 次每月,10/year,10 次每年。默认60/min。

已稳定运行 3 个月。期间还在我们论坛压测过,详帖:

经过佬友们的测试,在高并发场景下,运行稳定。

我的其他项目:

uni-api 一直用在我的 Telegram 机器人项目上,所以稳定性大家请放心。

如果各位遇到什么 bug 或者有什么功能需求都可以找我实现。如果觉得不错可以帮我点个免费的 :star2::heart:

280 个赞

太强啦大佬,主要是newapi用习惯了

7 个赞

哈哈,没关系,希望能吸引一些新的小白使用。

2 个赞

无前端的话 我怎么方便地更新/增删查改渠道哩。这个前端还是得有的。

1 个赞

像 zeabur 这样的平台有在线的配置文件编辑器,用起来很方便。

我个人使用主要是本地 vscode 改好,然后用一键脚本上传重新部署。后面有时间也会开发一个简单的前端的。

3 个赞

star奉上

6 个赞

我是小白 先点赞 明天试 有问题请教佬

6 个赞

大帅666啊

4 个赞

感觉理念跟这个差不多

2 个赞

哈哈,没问题。

1 个赞

不知道有沒有自動檢測模型的功能

2 个赞

是的,我有这个想法的时候就有人提到这个项目了。不过我还是自己实现了一下,因为根据我的经验,咱们站很多API站它的请求格式都不规范。依赖别人的项目很多东西改不了,不如自己开发一个,主打一个自主可控。:joy:

6 个赞

这个目前没有,但我很想实现,因为看了不少最近站里一些项目,这个检测模型功能是我下一个阶段的开发任务,实现了会在这里通知你的。

4 个赞

谢谢分享,我计划等手头工作弄完我就弄一下,我也是觉得api 和key太多,没办法做一个集成,我现在就是记在一个文件上,换来换去也很麻烦,我也很有需求做一个集成端放这些key和api

2 个赞

刚好我的项目就是你需求的完美实现,因为我也有几十个不同渠道。现在运行良好。:joy:

3 个赞

基于配置文件的?
可能带个 UI 更好些?

4 个赞

谢谢大哥,到时我试试去本地部署一下

1 个赞

用过一小段时间佬的项目,后来还是放弃用回new-api了(使用时长不到半天:rofl:)。主要是站里大佬们提供的公益站有些不太稳定,容易被打,而且赛博囤积癖,想多薅点公益站。所以需要经常重复删删改改yaml。嫌麻烦想用ui调整,就换回占用大点的new-api了。
如果佬能再开发一个简单的web界面解决这个痛点我立即切换:joy:

4 个赞

你说的没错,前面回答过一位佬友了:

像 zeabur 这样的平台有在线的配置文件编辑器,用起来很方便。

我个人使用主要是本地 vscode 改好,然后用一键脚本上传重新部署。后面有时间也会开发一个简单的前端的。

1 个赞

我也觉得后端理灵活方便一些

2 个赞