AI模型提供商多?使用New API自建AI模型接口管理与分发系统!
*封面来自pixiv~ 129898707
前言
硅基流动、openrouter、火山引擎、gemini....面对众多AI模型提供商,每次调用都需要更改base url或者添加多个模型提供商,而且有些国外提供商甚至不能在国内直连。又或许你有负载均衡这种高级需求。那么有没有一种办法,能解决以上所有的问题呢?New api或许是一个很好的选择。你可能已经在某些地方见过new api的UI了,是的,很多聚合大模型api都是用的它,比如这个:
准备工作
1、一台Linux服务器
不知道在哪里购买服务器?推荐雨云,价格可接受,操作方便,开箱即用。
2、已有docker环境&mysql数据库
(建议使用1panel管理服务器,本文将会使用此面板进行演示)
3、域名(如果没有影响不大,但笔者认为买一个域名比记忆ip地址划算得多)
创建数据库
创建一个数据库,填写并记录数据库名,数据库用户名,数据库密码,编码选择utf8mb4,权限选择所有人(%),单击确定保存。
这里笔者选择的数据库名是newapi_db,用户名是newapi_db,密码是password。
部署New api
由于手动部署较繁琐,我们这次就使用官方文档最推荐的方法——Docker Compose来安装吧。
首先,创建一个compose文件
nano docker-compose.yaml
填入以下内容:
services:
new-api:
image: calciumion/new-api:latest
container_name: new-api
restart: always
command: --log-dir /app/logs
ports:
- "3000:3000" # 如果3000端口已被占用 修改第一个数字为其他端口号
volumes:
- ./data:/data
- ./logs:/app/logs
environment:
- SQL_DSN=newapi_db:password@tcp(mysql:3306)/new-api # 把 mysql改成你已有的mysql实例的容器名 第一个newapi_db改成你的数据库用户名 password改成你自己数据库的密码 最后一个newapi_db改为你的数据库名
- REDIS_CONN_STRING=redis://redis
- TZ=Asia/Shanghai
depends_on:
- redis
networks:
- 1panel-network # mysql所处在的docker网络,使用1panel的用户不要更改
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
networks:
- 1panel-network # mysql所处在的docker网络,使用1panel的用户不要更改
networks:
1panel-network: # mysql所处在的docker网络,使用1panel的用户不要更改
external: true
保存文件,我们可以开始启动服务了!
# 使用Docker Compose启动服务
sudo docker compose up -d
Docker会开始拉取镜像
等到出现Started就说明启动成功,现在可以试试访问你的服务器ip:3000,可以看到系统初始化页面!
如果访问不了,用sudo docker compose logs -f看看日志,大概率是你数据库信息没填对。
如果后续想停止new api并跑路,可以使用这个命令停止运行:
# 停止服务
sudo docker compose down
绑定域名(反向代理)
先别急着初始化——如果想实际使用,还是做一个反向代理,以后使用域名访问比较好
像这样反向代理你的new-api服务,如果刚才更改了new-api的服务端口,记得把代理地址后面的端口号修改一下:
将域名解析到服务器
我们可以申请一个ssl证书并在刚才的反向代理网站里配置https访问
访问做了反向代理的域名,应该可以看到和刚才一样的setup页面,那么接下来,我们就来做一下初始化吧!
初始化
来到初始化页面,用户名/密码均可以随意设置,不过注意把使用模式改为自用模式。
点击初始化系统,几秒后就会跳转到主页
点击登录,输入你刚才选择的用户名和密码,就可以来到后台啦!
添加模型
点击渠道管理,点击添加渠道,我们此处以SiliconFlow为例,其他openai格式的提供商也是同理。
名称可以随意填写,重点是密钥,填写从提供商那里获取的api key,比如硅基流动的可以在这里找到
api地址需要从提供商的文档里找,比如硅基流动的是https://api.siliconflow.cn(结尾不要加/或者/v1)
接下来是模型配置,选择自定义模型名称,填入提供商提供的模型名称,比如deepseek-ai/DeepSeek-V3,然后单击填入。
可以看到新增成功,如果有其他模型也和这个同理,全部添加完成即可。
其他设置可以自行研究并修改,笔者在这里不做过多赘述,直接点击提交。
不错,接下来来到模型管理,我们点击添加模型。
填入模型名称(和刚才在添加渠道里填写的一样),然后点击提交!
我们来操练场试试效果吧!
可以发现,调用ai很成功~接下来,就可以像以前配置其他提供商的api那样在ai客户端里添加你搭建的new api为提供商了!与之前不同的是,你可以自豪地把API地址换成你自己的域名了~
结语
想必你已经成功部署new api了吧!恭喜!
接下来,有很多玩法等着你探索,愿你也能像笔者一样,感受到人工智能的乐趣。
如果这篇文章帮到了你或者遇到问题,欢迎在评论区留言,这是对我最大的鼓励与支持!谢谢!