今日热门-什么值得买好文 ( ) • 2024-05-07 10:21

💡写在前面

用过AI大模型的都知道,现在市面上的AI大模型琳琅满目,ChatGPT、Gemini、文心一言、讯飞星火、通义千问等等,不胜枚举。如何高效、便捷、统一地使用并管理它们,也成了一个新的问题。

本期介绍的开源项目One-API,就是目前比较好的解决方案。


🍓项目简介

One-API是一个轻量级的中间件,它允许你通过单一的入口点访问所有你需要的API。该项目的核心理念是抽象化API的细节,以简化集成过程并提高代码的可维护性。通过配置文件,你可以定义如何路由请求到不同的后端API,并处理响应。

简单来说,它可以把你所有AI大模型的API进行集中统一管理、分发,统一出口,并且可以进行模型的重定向,比如把讯飞星火替换成ChatGPT来使用。

更进一步的,它集成了用户管理系统,可以使用它来搭建一个分发站点,做成盈利项目。

截图展示截图展示

One-API目前已支持的大模型有:

  1. OpenAI ChatGPT 系列模型(支持 Azure OpenAI API)

  2. Anthropic Claude 系列模型 (支持 AWS Claude)

  3. Google PaLM2/Gemini 系列模型

  4. Mistral 系列模型

  5. 百度文心一言系列模型

  6. 阿里通义千问系列模型

  7. 讯飞星火认知大模型

  8. 智谱 ChatGLM 系列模型

  9. 360 智脑

  10. 等等。。。

One-API更多详细介绍可以访问项目地址自行了解:https://github.com/songquanpeng/one-api

话不多说,进入正题。


🍉我的软硬件环境

  • 群晖920+(系统版本DSM7.2)

  • 安装环境:Docker

  • 勤劳的双手和聪明的大脑

🚥第一步:获取AI大模型API

目前免费的API还是很多的,比如讯飞星火、通义千问、Gemini,还有一些限量免费的第三方ChatGPT项目,如GPT_API_free、free_chatgpt_api等,网上教程很多,大家可以自行探索,总的来说,只要是常见的大模型API,无论是官方的还是第三方的,无论是收费的还是免费的,One-API都支持使用。

本文教程就以讯飞星火为例,API申请地址:https://www.xfyun.cn/


🚥第二步:部署One-API

  • 建议使用compose进行构建,便于后期维护。本文主要列举这种方法。

  • 群晖内新建一个oneapi文件夹。(文件夹名称随意,要注意和下面的路径映射保持一致)

有了这个Docker项目,妈妈再也不担心我没法使用AI大模型啦!(折腾群晖系列四)

有了这个Docker项目,妈妈再也不担心我没法使用AI大模型啦!(折腾群晖系列四)
  • 项目名称自己随意,路径设置为你前面新建的文件夹,来源选择创建docker-compose.yml。

  • 输入以下代码:

version: '3' services: one-api: image: justsong/one-api #官方镜像地址 container_name: one-api #设置自定义的项目名称 restart: always ports: - "13655:3000" #设置端口映射,13655可自定义 environment: - TZ=Asia/Shanghai volumes: - /volume1/docker/oneapi:/data #设置数据保存路径映射

输入后的效果输入后的效果

  • 点击下一步,后面设置均为默认即可,最后点击完成。

  • 耐心等待项目自动构建完成,如果你的网络连通性不好,该过程可能会有点慢。

  • 项目提示构建完成后,你就可以在项目和容器内看到它了。

⚠️注意事项:

  • 如果你的并发量较大,务必设置MySQL数据库,我这里并发量较小,就不设置了。

  • 数据保存路径映射中的/volume1/docker/oneapi设置为你前面新建的文件夹地址。

  • 更多环境变量可以访问项目原地址自行探索。

  • 不使用compose使用群晖docker新建容器创建项目的,注意参照上文设置好端口和数据映射路径就可以。

  • 使用 Docker 拉取的最新镜像可能是 alpha 版本,如果追求稳定性请手动指定版本。

  • 另附docker run代码供参考:

docker run --name one-api -d --restart always -p 3000:3000 -e TZ=Asia/Shanghai -v /home/ubuntu/data/one-api:/data justsong/one-api

# 使用 MySQL 的部署命令,在上面的基础上添加 `-e SQL_DSN="root:123456@tcp(localhost:3306)/oneapi"`,请自行修改数据库连接参数,不清楚如何修改请参见下面环境变量一节。 # 例如: docker run --name one-api -d --restart always -p 3000:3000 -e SQL_DSN="root:123456@tcp(localhost:3306)/oneapi" -e TZ=Asia/Shanghai -v /home/ubuntu/data/one-api:/data justsong/one-api


🚥第三步:设置One-API

  • 访问192.168.1.1:13655(你自己的IP和自定义的端口),进入One-API的web页面。

有了这个Docker项目,妈妈再也不担心我没法使用AI大模型啦!(折腾群晖系列四)
  • 初始用户名:root,密码:123456。

  • ⚠️登录后务必修改密码。

  • 点击渠道→点击添加新的渠道

有了这个Docker项目,妈妈再也不担心我没法使用AI大模型啦!(折腾群晖系列四)
  • 类型选择讯飞星火认知

有了这个Docker项目,妈妈再也不担心我没法使用AI大模型啦!(折腾群晖系列四)
  • 名称随意填,分组默认即可。

  • 模型版本填v3.5,模型选择SparkDesk-v3.5、gpt-3.5-turbo-0125、gpt-3.5-turbo这三项。

  • 这里要注意,你如果需要进行模型重定向,那么你所需要重定向的所有模型,都要在这里模型版本里选上。就像下图,我们不仅要选讯飞星火的模型还要选上ChatGPT的模型,因为下面要进行重定向。如果你不需要重定向,那就只选你要用的模型即可。

有了这个Docker项目,妈妈再也不担心我没法使用AI大模型啦!(折腾群晖系列四)
  • 模型重定向可参考如下(按需使用,用不到的留空即可):

{ "gpt-3.5-turbo-0125": "SparkDesk-v3.5", "gpt-3.5-turbo": "SparkDesk-v3.5" }

  • 其中,冒号前面的部分填你想要替换为的模型,后面填被替换的模型,上面这两条也就是把"SparkDesk-v3.5"替换成了"gpt-3.5-turbo-0125"和"gpt-3.5-turbo",注意替换和被替换的关系,不要弄错。再就是注意换行的逗号不要漏。

  • 无论是替换或被替换的模型,都要在前面的模型版本选项里勾选。

⚠️这里可能需要做一下解释,前面也提到了,模型重定向的作用是,例如把讯飞星火伪装成ChatGPT。因为在大模型的使用中,有些项目仅支持部分模型,比如只支持ChatGPT而不支持讯飞星火,这样的话就可以通过模型重定向来进行伪装,使讯飞星火也可以正常使用。其他模型设置方法同上。

  • 填写密钥,这里填写你这讯飞星火官网获取的密钥,注意格式。

讯飞星火按照如下格式输入:APPID|APISecret|APIKey

  • 代理按需填写,例如第三方ChatGPT的API,这需要在代理中填上相应网址。

  • 点击提交并返回。

  • 提交完成就可以在渠道页面里看到它了,点击测试确认是否可以连通,如果不能连通要反复确认前面是否设置错误。

有了这个Docker项目,妈妈再也不担心我没法使用AI大模型啦!(折腾群晖系列四)
  • 点击令牌→点击添加新的令牌

有了这个Docker项目,妈妈再也不担心我没法使用AI大模型啦!(折腾群晖系列四)
  • 名称自定义,模型范围按需选择,没有特殊需要全选上即可,过期时间选永不过期,设为无限额度,点击提交。

有了这个Docker项目,妈妈再也不担心我没法使用AI大模型啦!(折腾群晖系列四)
  • 返回令牌页面,点击复制,即可复制你的API令牌了。

有了这个Docker项目,妈妈再也不担心我没法使用AI大模型啦!(折腾群晖系列四)有了这个Docker项目,妈妈再也不担心我没法使用AI大模型啦!(折腾群晖系列四)
  • 是否允许新用户注册,按需勾选。

  • 到这里,One-API就配置结束了。要注意,如果你没有设置外网访问,那么你只能在局域网内使用API。


🚥第四步:API的使用

下面简单介绍两个项目来使用你前面配置的API:

  1. http://botgem.com/
    这个项目可以通过手机App来使用大模型,支持自定义API,在设置界面配置API Key和API Server(你的One-API地址)即可使用。

有了这个Docker项目,妈妈再也不担心我没法使用AI大模型啦!(折腾群晖系列四)
  1. https://u.tools/
    uToolos里的ChatGPT.好友,支持配置私有API线路。该插件可以无限创建基于ChatGPT的Ai好友,支持Ai语音对话、Ai绘画、Ai音乐、支持openaif最新的GPT0125系列模型、支持谷歌gemini--pro模型以及完美适配第三方中转api。
    uTools的使用方法请自行百度。

有了这个Docker项目,妈妈再也不担心我没法使用AI大模型啦!(折腾群晖系列四)

更多使用API的项目请自行探索,后面如果有时间我大概可能也许会出一些教程,比如AI微信客服之类的使用场景,敬请期待~~


好的,到这里整个配置已经全部完成,你可以愉快地使用它了。

希望我的教程能够帮助到你,如果你感觉有用的话,三连请走一波。

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