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

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

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

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

项目地址

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

介绍

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

进阶玩家必备!讯飞、百度、扣子大模型全部免费接入群晖,实现大模型 API 格式统一

功能

  • 支持配置多个模型,可以随机负载均衡
  • 支持一个模型可配置多个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 进行注册,完成实名认证。

进阶玩家必备!讯飞、百度、扣子大模型全部免费接入群晖,实现大模型 API 格式统一

创建一个应用。

进阶玩家必备!讯飞、百度、扣子大模型全部免费接入群晖,实现大模型 API 格式统一

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

进阶玩家必备!讯飞、百度、扣子大模型全部免费接入群晖,实现大模型 API 格式统一

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

进阶玩家必备!讯飞、百度、扣子大模型全部免费接入群晖,实现大模型 API 格式统一

扣子

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

进阶玩家必备!讯飞、百度、扣子大模型全部免费接入群晖,实现大模型 API 格式统一

复制并保存 Secret token。

进阶玩家必备!讯飞、百度、扣子大模型全部免费接入群晖,实现大模型 API 格式统一

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

进阶玩家必备!讯飞、百度、扣子大模型全部免费接入群晖,实现大模型 API 格式统一

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

进阶玩家必备!讯飞、百度、扣子大模型全部免费接入群晖,实现大模型 API 格式统一

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

进阶玩家必备!讯飞、百度、扣子大模型全部免费接入群晖,实现大模型 API 格式统一

勾选 Bot as API。

进阶玩家必备!讯飞、百度、扣子大模型全部免费接入群晖,实现大模型 API 格式统一

安装

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

进阶玩家必备!讯飞、百度、扣子大模型全部免费接入群晖,实现大模型 API 格式统一

把下面的代码保存为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文件夹中。

进阶玩家必备!讯飞、百度、扣子大模型全部免费接入群晖,实现大模型 API 格式统一

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

进阶玩家必备!讯飞、百度、扣子大模型全部免费接入群晖,实现大模型 API 格式统一

保存下面的代码,把/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文件夹。

进阶玩家必备!讯飞、百度、扣子大模型全部免费接入群晖,实现大模型 API 格式统一

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

进阶玩家必备!讯飞、百度、扣子大模型全部免费接入群晖,实现大模型 API 格式统一

等待项目启动完毕。

进阶玩家必备!讯飞、百度、扣子大模型全部免费接入群晖,实现大模型 API 格式统一

测试

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

进阶玩家必备!讯飞、百度、扣子大模型全部免费接入群晖,实现大模型 API 格式统一

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

进阶玩家必备!讯飞、百度、扣子大模型全部免费接入群晖,实现大模型 API 格式统一

后记

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

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

我是老宁

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

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

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

作者声明本文无利益相关,欢迎值友理性交流,和谐讨论~

,

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。