2023 年 05 月 13 日
如果您已经准备好了我们需要的东西、那么我们可以开始正式部署了、如果您还不知道需要什么内容、请移步至NineAi部署准备文档 查阅详细的内容!
在代码中我们提供了基础 环境变量文件配置文件env.example,使用前先去掉后缀改为.env文件即可,V1.1版本我们移除了配置中大量繁琐切
为了项目管理和更新、我们建议您在服务器根目录创建一个NineAi文件夹、所有的项目源码放入其中、后续的更新包含命令都是以此路径来作为示例的、如果您知道如何配置例如环境变量文件的docker挂载等内容、您可以自由发挥!
# 服务器ip
NINE_AI_HOST=
# 授权码
NINE_AI_KEY=
# mysql
DB_HOST=mysql
DB_PORT=3306
DB_USER=root
DB_PASS=m47I2cvTTe4d
DB_DATABASE=chatgpt
DB_LOG=false
DB_SYNC=true
# mailer 邮件服务
MAILER_HOST=smtp.163.com
MAILER_PORT=465
MAILER_USER=
MAILER_PASS=
MAILER_FROM=
# jwt token
JWT_SECRET=chat-cooper
JWT_EXPIRESIN=7d
SWAGGERPREFIX=/docs
# 系统预设 请勿更改
PORT=9520
PREFIX=/docs
APIPREFIX=/api
当你配置完环境之后、我们就可以部署了、在代码包中分为了三类文件分别是:
nine-ai-base 拥有 chat用户端、admin后台、service服务端三端分离的代码、如果您有部署基础那么完全可以自行部署、因为admin与chat是前端项目、service是node项目、拥有部署基础的人会很轻松、但是需要注意的是:service请使用pnpm包管理器安装、否则可能出现未知的错误、如果在安装依赖的时候会卡住、可以考虑使用淘宝镜像源安装:pnpm i --registry=https://registry.npm.taobao.org
、记得安装好pm2、安装完依赖后使用pnpm start启动项目即可。但是请确定你的数据库是配置正确的、可以使用pm2 log查看详细的日志。
nine-ai-pm2 此内容更适合缺乏部署经验的朋友使用、我们将三个项目融合在一起、您只需要将此项目上传到服务器、进行解压、然后配置环境变量即可、此时只需要pnpm i 安装依赖与pnpm start启动项目两步即可完成部署、pm2 log查看详细日志
nine-ai-docker 这个项目是通过docker进行部署的、如果使用docker部署、我们已经上传了镜像到公共仓库、您只需要在env配置好您的授权信息和mysql信息然后使用以下镜像启动即可:
docker run -d --name nine-ai -p 9520:80 -v /NineAi/.env:/app/.env fullstack1120/nine-ai:v1.2.1
9520是我们的默认端口、您可以改为自己想要的端口 使用此方式可以一键部署、默认ip:9520就是用户端地址、ip:9520/admin就是管理端地址。
当然如果您没有自己的数据库、我们为您提供了docker-compose 、在您配置完自己的env文件后直接启动docker-compose将一键启动服务。
请注意上面的 /NineAi/.env是env文件的放置地址、如果您没有按照文档地址放置、那么就请修改这个地址!
docker-compose up -d
进入到腾讯云搜索对象存储、我们需要配置四个 参数、在秘钥管理里面可以拿到 SecretId和SecretKey。
剩下两个参数分别是存储桶的名称和 节点位置您可以参考下图信息
如果还没有存储桶、请创建存储桶、权限选择公有读私有写即可、其他不限制。
配置完四个参数后、就可以使用存储服务了。
mj对应了七个必填参数分别是下图
剩余两个参数
1: 接口单次限制时间、表示用户请求一次这个接口距离下次允许请求的限制时间
2: 系统默认携带了一个代理、如果你是国内服务器需要开启代理、如果是国外服务器则不需要代理
然后发送控制台就会看到这样一条接口,如图
复制接口发送的内容、然后找个地方格式化一下就行、会得到如下内容
箭头上我们可以看到六个参数、还剩下一个token从请求头获取如图
此时我们得到了七个参数、将其填入MJ配置、他们的对应关系是
{
application_id: '应用程序ID',
guild_id: '工会ID',
channel_id: '通道ID',
session_id: '会话ID',
version: '版本ID',
id: 'ID信息',
authorization: '授权令牌',
};
按照此内容填写即可。
使用MJ绘画的前提是已经配置了COS存储服务
如果使用pm2部署或者使用传统的Node部署、使用了nginx解析了域名、但是没有流式输出、请在nginx中添加
proxy_buffering off;
如果使用pm2部署或者使用传统的Node部署、使用了nginx解析了域名、但是没有流式输出、请在nginx中添加
proxy_buffering off;
在env文件中、您可以指定您的端口、我们默认为9520端口。
当你的项目成功运行之后、我们默认的地址是您的IP+端口即可启动用户端、管理端则是ip+端口/admin即可访问管理端!
参考上图、项目启动过程中我们默认为您生成了两个账号
目前由于时间原因、我们在管理端的修改信息入口暂未开放、如果需要修改您的管理账号密码可以前往用户端、登录后可以前往个人中心修改您的账户密码
我们在后台管理中有key池管理、您需要至少配置一个gpt的key才可以正常使用聊天和DALL-E2绘画功能!
在启动项目的env文件中需要配置您的smtp服务信息、配置您的发件信息才可以完成邮件的发送、如果只是个人使用、那么管理员账号和admin账号就可以直接登录使用了!
如果你是国外服务器可能不存在这个问题、如果是国内服务器会无法连接openai的网络、请前往后台的 => 系统设置 => 接口设置填写代理地址、既可正常访问、添加key获取不到模型也是同理。
2023 年 05 月 13 日
Like
Download
Viewed