推荐自用很舒服的 one-api 二开

本文不是拉踩,仅分享我的使用体验!

为什么会有这篇文章,是因为最近看到有些佬友/群友有多样的 api 管理方面的需求,我用着 MartialBE 作者(也就是原版 one-api 的 Berry 主题作者)的二开 one-api,感觉细节丰富。

作者自己曾说:

…(这套程序)主要个人使用…

我也是自用,发现实际上解决了很多痛点问题,故分享给大家。

注意:此二开版本的数据库与原版不兼容!!! 所以我当时迁移直接重新设置了一遍。


缘起

在 Gemini1.5 出来后,请求需要走 v1beta 的路径。当时我在使用的 new-api 和原版 one-api 尚未支持。偶然间切换原版 one-api 到 Berry 主题后,发现:


居然换个皮肤还换出新功能来了,支持切换版本号?!?

于是我就去体验了一下 Berry 主题作者的独立版 one-api 二开,然后就用到现在。


下面的优缺点是基于当前使用的最新版 Berry 和个把月前使用 new-api 和 one-api 的记忆列出的,肯定有部分错漏,欢迎大家伙指正!

先列出一些尚未实现的功能:

  • 令牌 ip 限制
  • 令牌可用模型限制
  • 易支付
  • 敏感词审查

下面重头戏是解决的痛点:

  1. Gemini 支持设置版本 v1beta(入坑的原因之一)

  2. 渠道管理支持在前端显示 key(入坑的原因之二)
    这个特性方便管理 key,不需要去查数据库 or 一个一个去中转商网站查 key 了

点击查看图片

  1. 优化了模型重定向(评论区佬友提醒,原版 one 和 new 也都支持滴!)
    比如 {"gpt-vision": "gpt-4o"} 这样的重定向,只需要在渠道模型里输入自定义模型 gpt-vision 就可以了,不必再增加一个 gpt-4o,如下图

  2. 渠道测试功能:
    模型测试重定向透传:以上图为例,我可以直接测试自定义模型 gpt-vision,而实际测试的就是重定向后的 gpt-4o
    自定义模型测试:如下图

  3. 支持模型通配符
    例如:gpt-4-gizmo-* 表示支持所有 gpt-4-gizmo- 开头的模型(即 gpts 模型)

  4. 获取上游模型
    填入中转商的 url 和 key 后,就可以点按获取该 key 支持的所有模型

  5. 渠道是否仅支持聊天
    如果选择了仅支持聊天,那么遇到有函数调用 (Tool Call / Function Call) 的请求会跳过该渠道

  6. 支持使用 Azure Speech 模拟 OpenAI TTS 功能

  7. 渠道/日志/令牌自定义排序、自定义每页条数、自定义查询

  8. 日志显示耗时和速率

还有其他一些功能:帅气的统计分析页、Playground、Midjourney、TG Bot、方便更新模型价格、设置按次计费、方便查看可用模型、方便一键复制模型等等,我就不过多介绍了。

感兴趣的佬友可以试试看:yum:

14 个赞

mark

1 个赞

数据库不兼容,呜呜

2 个赞

佬,有没有支持令牌选择支持某几个渠道的

1 个赞

这块功能和 one-api 一样,目前前端上还没有支持 :joy:
要么通过 接口操作实现
要么通过 创建分组-创建分组对应的一个用户-登录这个用户生成令牌

1 个赞

哈哈原版 one-api 的 berry 主题也支持设置版本号,一直喜欢这个主题,虽然有些小问题但不多 :stuck_out_tongue_closed_eyes:

2 个赞

op说这个二开就是berry主题的作者写的

1 个赞

这个主题确实很好看,这个版本值得一试!

1 个赞

是的,另一个主题 air 也是 new-api 作者在 pr

1 个赞

原来是这个版本 当时查看日志就觉得 有 显示耗时和速率 挺吸引的 以为是别人二开 这个主题的 原来是作者本人自己拉了个分支

1 个赞

这个版本重试的时候支持权重吗?

1 个赞

支持权重的。我贴个作者的解释:

优先级/权重解释:

  1. 优先级越大,越优先使用;(只有该优先级下的节点都冻结或者禁用了,才会使用低优先级的节点)
  2. 相同优先级下:根据权重进行负载均衡(加权随机)
  3. 如果在设置-通用设置中设置了“重试次数”和“重试间隔”,则会在失败后重试。
  4. 重试逻辑:1)先在高优先级中的节点重试,如果高优先级中的节点都冻结了,才会在低优先级中的节点重试。2)如果设置了“重试间隔”,则某一渠道失败后,会冻结一段时间,所有人都不会再使用这个渠道,直到冻结时间结束。3)重试次数用完后,直接结束。

2 个赞

整理的不错啊

1 个赞

太强了!

支持按次计费吗

1 个赞

:joy: :joy: :joy:

它的模型价格是单独做出来的,可以设置按次计费

1 个赞

谢谢!!

2 个赞

谢谢

1 个赞

可能你理解有点问题。gpt-4-gizmo-*并不是通配符,而是一个专门的模型。gpts模型的调用应该使用g-balabala这种格式

1 个赞

这个功能new-api也能做到

2 个赞

new不太清楚,one以前用的时候就得这么写:joy:

【模型重定向】 · Issue #1108 · songquanpeng/one-api (github.com)


等下,上面那个issue好像不是这个意思

1 个赞