汇聚天下AI,AI界的“中央枢纽”,我把极空间作为大模型网关系统
亲爱的粉丝朋友们好啊!今天熊猫又来介绍好玩有趣的Docker项目了,喜欢的记得点个关注哦!
引言
事情源于前几天熊猫犯蠢,把一直部署在极空间上的One API的密码给忘了,试了很多遍都没对,改密码又涉及到数据库的读取,但当初我直接用的SQlite作为数据库,这就导致想要读取也比较麻烦,一气之下我直接删除了One API容器。
在查询重置密码的过程中,无意间熊猫发现了新的好玩的东西,我发现了通过它二开的项目New API,对比前者,功能上它拥有前者的所有功能,除此之外,它还支持对接易支付作为公开的API中转站点使用,在原作基础上还增加了数据看板、模型限制、更多的等方式以及内置的聊天窗口等等,不管是整个界面美观性和UI交互性,还是功能性,它都是碾压前者的存在,加上基于One API开发,所以New API也是开源项目。
部署设备
因为AI相关的内容都部署在极空间上,为了让其在同一IP下方便使用,这里也就直接用极空间进行部署了。
部署设备还是熊猫准备一直用来“养老”的NAS——极空间Z423旗舰版,不管是性能还是存储空间,Z423旗舰版都拥有目前NAS中第一梯队的能力,性能上AMD的5825U自然是不用说,8核16线程加上32G的内存,拿来跑虚拟机都从来不担心性能不够的情况。
存储上Z423旗舰版拥有4个M.2盘位,能满足高速存储需求以及缓存需求,4个SATA盘位也能提供更大的存储空间需求,属于是NAS里的万金油产品。
项目部署
言归正传,咱们说回New API的部署。有了前者密码忘记的教训,这次熊猫就采取单独数据库的部署方式了,而要用到多容器部署,那自然是要用到咱们的容器堆栈功能了,这里打开极空间Docker界面的compose选择新增项目。
根据官方得到的参数和变量信息,这里我们编辑好对应的compose代码,其中的映射文件路径以及映射的端口请根据自身NAS的情况不同进行更改。
services:
new-api:
image: calciumion/new-api:latest
container_name: new-api
restart: always
command: --log-dir /app/logs
ports:
- "3300:3000"
volumes:
- /new api/data:/data
- /data/docker/new api/log:/app/logs
environment:
- SQL_DSN=root:123456@tcp(mysql:3306)/new-api # 指向mysql服务
- REDIS_CONN_STRING=redis://redis
- TZ=Asia/Shanghai
# - SESSION_SECRET=random_string # 多机部署时设置,必须修改这个随机字符串!!!!!!!
# - NODE_TYPE=slave # 多机部署的从节点取消注释
# - SYNC_FREQUENCY=60 # 如需定期同步数据库,取消注释
# - FRONTEND_BASE_URL=https://your-domain.com # 多机部署带前端URL时取消注释
depends_on:
- redis
- mysql
healthcheck:
test: ["CMD-SHELL", "wget -q -O - http://localhost:3000/api/status | grep -o '\"success\":\\s*true' | awk -F: '{print $$2}'"]
interval: 30s
timeout: 10s
retries: 3
redis:
image: redis:latest
container_name: redis
restart: always
mysql:
image: mysql:8.2
container_name: mysql
restart: always
environment:
MYSQL_ROOT_PASSWORD: 123456 # 确保与SQL_DSN中的密码一致
MYSQL_DATABASE: new-api
volumes:
- /sql:/var/lib/mysql
# ports:
# - "3306:3306" # 如需从Docker外部访问MySQL,取消注释
映射路径这里可以使用极空间自带的查询路径功能去获取我们本地的路径,获取之后直接复制到代码中即可。
这时候极空间会拉取镜像并根据咱们的compose文件去创建容器,项目一共涉及New API容器、Mysql容器以及Redis容器,等待三个容器均为正常运行状态也就代表项目运行成功了。在Compose界面中点开项目详情能看到具体的信息。
通过远程访问的功能,我们能直接在极空间PC端打开Docker的web界面,不过这里需要注意,极空间的远程访问并不会存储Cooike,所以每次都需要重新登陆。如果使用浏览器,那么直接输入极空间IP:3000端口就能访问项目了。
首次使用会要求我们进行初始化设置,设置好用户名密码即可,这里需要注意的是下方的使用模式选择,New API提供了对外运营模式、自用模式以及演示站点模式三种选择,根据自己的需求选择即可,熊猫就直接用自用模式为例子了。
使用体验
登陆之后点击上方的控制台就能看到项目的后台界面了,因为熊猫提前配置好了API以及渠道服务,所以能看到数据看板已经有使用API的调用次数以及消耗情况。New API的数据看板可观察的内容非常多,能看到账户数据、使用统计、资源消耗以及性能情况,还能设置API信息并进行测速,以及对接Uptime检测服务器可用性。
使用方法和One API一样,首先要在渠道中去对接好对应的大模型,New API提供了非常多的可选大模型渠道,国内的国外的基本都有,也支持自定义渠道和对接FastGPT以及AI Proxy等知识库,根据提示信息填写即可。
添加渠道之后系统会根据渠道自动回传授权的模型信息,在测试界面能看到你所拥有的所有大模型。不得不说他这个UI设计是真的好看,如果使用了预设的渠道,还能看到对应的大模型厂商的Logo,很细节。
完成渠道的汇总之后,这时候再去API令牌界面创建令牌,就能将令牌用于各种第三方AI应用中了,New API的令牌为OpenAI的规范,所以基本上99%的第三方应用都是兼容的。
New API为了让你测试AI是否确认可用,还提供了操练场和内嵌的第三方AI应用,选择模式测试就行,不过一般在渠道中测试没问题,那基本也就没什么问题了。
项目设置中提供了大量的可设置项,实在是太多没办法一一介绍,项目支持多用户以及对接支付平台,这些熊猫就不一一说明了,有兴趣的直接在系统设置中去研究。
为了方便作为公开的API中转站,项目甚至还提供了多种登录方式,目前支持github、Linux DO、微信、TG以及OIDC和邮箱这几种方式,不过都需要进行对应的配置,配置方法每一个也都有说明。
写在最后
好用的项目值得常驻,New API对比原作One API不管是界面UI还是功能性都好太多了,熊猫目前打算作为常驻的Docker应用,而极空间目前也就作为熊猫所有AI大模型的中转枢纽,也算是将NAS的作用发挥起来,如果有同样的需求,那么可以尝试自部署,强烈推荐!
以上便是本次分享的全部内容了,如果你觉得还算有趣或者对你有所帮助,不妨点赞收藏,最后也希望能得到你的关注,咱们下期见!