了解过大模型的玩家都知道,我们使用的大部分 AI 工具只支持标准格式的 OpenAI API ,比如划词翻译、chatGPTNext等等。

虽然国内大模型宣称兼容 OpenAI 的接口,但是由于开发团队的不同,导致提供商提供的 API 接口并不一致,无法进行适配。

而今天要介绍的这款工具可以完美解决这个问题,通过这个项目可以把各大模型提供商所有的免费模型全部接入群晖,并转为标准 OpenAI 格式供他人使用。

你还不知道国内外提供商也有免费大模型供用户使用,这个项目也详细的帮我们整理罗列了出来!

项目地址

https://github.com/fruitbars/simple-one-api

介绍

Simple-One-API 项目旨在解决 one-api 过于复杂的问题,去掉了统计、流量、计费等功能,通过兼容多种大模型接口,并统一对外提供 OpenAI 接口,使用户可以方便地集成和调用多种大模型。

功能

支持配置多个模型,可以随机负载均衡支持一个模型可配置多个api_key,并且可以随机负载均衡支持设置一个对外总api_key支持random模型,后台自动寻找配置的可用的模型支持模型名称重定向设置模型设置别名支持全局设置模型名称重定向,并且支持all模式全部重定向支持每一种模型服务设置服务的地址兼容支持OpenAI的接口,同时支持/v1和/v1/chat/completions两种路径对于不支持system的模型,simple-one-api会放到第一个prompt中直接兼容(更加统一,例如沉浸式翻译中如果system,不支持system的模型也能正常调用)支持全局代理模式支持每个service设置qps或qpm或者concurrency支持/v1/models和/v1/models/:model接口

免费模型申请

因为 Simple-One-API 可接入的模型过多,所以下面以讯飞 Spark 模型和扣子为例,其他的可以参考项目文档,有详细的说明。

讯飞

打开

https://xinghuo.xfyun.cn/sparkapi 进行注册,完成实名认证。

创建一个应用。

点击左侧星火认知大模型 -> Spark Lite 就可以领取无限量的 token。(只有Spark Lite才可以免费无限量使用)

接着把右侧的 APPID、APISecret、APIKey 复制保存下来供后面使用。

扣子

登录扣子

https://www.coze.cn/open/oauth/pats 创建个人令牌。

复制并保存 Secret token。

在扣子首页创建一个新的Bot。

复制保存Bot后面的一串数字,如下图738803xxxxxxxxxxx730

选择好模型后,点击发布。

勾选 Bot as API。

安装

打开群晖后台,在【File Station】套件中创建simpleOneAPI文件夹来存放配置数据。

把下面的代码保存为config.json文件。把 xinghuo 下的 appid、api_key、api_secret 设置为前面申请的讯飞相关密钥,把 cozecn 下的 models 设置为738803xxxxxxxxxxx730,token为前面保存的 Secret token。

{ “debug”: false, “load_balancing”: “random”, “services”: { “xinghuo”: [ { “models”: [“spark-lite”, “spark3.5-max”], “enabled”: true, “credentials”: { “appid”: “xxx”, “api_key”: “xxx”, “api_secret”: “xxx” } } ], “cozecn”: [ { “models”: [“xxx”], “enabled”: true, “credentials”: { “token”: “xxx” } } ] } }

再上传到simpleOneAPI文件夹中。

点击文件属性,复制config.json的文件夹路径。

保存下面的代码,把/path/to/config.json替换为config.json的文件夹路径。

version: 3.8 services: simple-one-api: image: fruitbars/simple-one-api container_name: simple-one-api ports: – “9090:9090” volumes: – /path/to/config.json:/app/config.json restart: unless-stopped

把文件保存为docker-compose.yml文件,并上传到simpleOneAPI文件夹。

打开群晖【Container Manager】,新增一个项目,路径选择刚刚创建的文件夹,并使用前面创建好的 docker-compose 文件。

等待项目启动完毕。

测试

最后找一款 API 测试工具。输入【群晖地址:9090/v1/chat/completions】,需要注意 body 体中的model要与config.json文件的 models 相对应。

如果没有 API 调试工具,也可以使用划词翻译等软件,只需配置 model 为config.json文件中含有的类型,并把地址设置为群晖的地址即可。

后记

讯飞的 API 我自己尝试了多次都无法成功,一直提示websocket: bad handshake,不知道是作者没适配还是其他什么原因,不过扣子是可以的。

如果想要在外网访问,可以直接使用 Nginx Proxy Manager 或其他反代工具反代 9090 端口,这样就可以通过域名访问在外网访问群晖搭建的接口服务了。

我是老宁

一个热爱技术的程序员和极客,群晖NAS深度玩家!

专注NAS相关技术分享,原创!干货!

觉得老宁的文章对你有帮助,记得点赞、收藏、加关注

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注