NineAI部署文档

2023 年 05 月 15 日

个人项目
开源项目

部署准备

我们没有过多的要求、无论你是在本地运行还是线上部署、我们只需要你有最基础的一个mysql数据库就可以启动了、其他东西不是必须的、当前V1版本仅开发常规部署教程、暂不开放docker镜像【后续支持】
我们默认您已经安装了以下环境

  1. Nodejs v16.16+ 版本
  2. pnpm 包管理器
  3. pm2 进程管理工具

详细部署流程

  1. 对于更多人而言图文教程会更加简单、我们以宝塔为例、打开宝塔面板、点击文件侧边栏、为了后续更新方面、建议您按着我们的提示创建目录、我们在根目录创建一个nineai文件夹然后点击进入!
  2. 将我们的项目上传进来、当然、建议上传前将项目压缩、可以大大减少上传时间、上传后再解压缩、上传完是这样的:
  3. 我们对其进行解压会变成这样
  4. 我们在开始前请先双击编辑env文件、将你的数据库填入其中、其他不是必填项、我们有了mysql就可以正式启动项目了!
  5. 点击终端、使用 pnpm install** 安装项目基础依赖、如果您的网络有问题或者安装速度缓慢或者卡住请使用pnpm install --registry=https://registry.npm.taobao.org*淘宝镜像源安装!
  6. 当我们安装完依赖后、使用pnpm start命令即可启动项目!

    我们可以看到这样的页面、此时我们可以进入到日志查看日志
  7. 使用pm2 log查看日志可以看到这些内容:
    当你看到这些内容的时候表示启动成功了
  8. 项目默认是9520端口 项目启动成功后

常见问题

为什么没有流式回复

如果使用pm2部署或者使用传统的Node部署、使用了nginx解析了域名、但是没有流式输出、请在nginx中添加

 proxy_buffering off;

默认端口是多少、我可以修改么?

env文件中、您可以指定您的端口、我们默认为9520端口。

启动地址是什么、我怎么启动?

当你的项目成功运行之后、我们默认的地址是您的IP+端口即可启动用户端、管理端则是ip+端口/admin即可访问管理端!

默认账号是什么、我怎么登陆

参考上图、项目启动过程中我们默认为您生成了两个账号

  1. admin演示账号,只有查询缺陷没有查改删权限、类似演示地址演示账号 admin 123456
  2. 超级管理员账号, 拥有全部权限 账号 super 密码 nine-super

我如何修改账号用户名密码

目前由于时间原因、我们在管理端的修改信息入口暂未开放、如果需要修改您的管理账号密码可以前往用户端、登录后可以前往个人中心修改您的账户密码

用户端提示未配置key、不能聊天怎么办?

我们在后台管理中有key池管理、您需要至少配置一个gpt的key才可以正常使用聊天和DALL-E2绘画功能!

用户注册不能发送邮件怎么办?

在启动项目的env文件中需要配置您的smtp服务信息、配置您的发件信息才可以完成邮件的发送、如果只是个人使用、那么管理员账号和admin账号就可以直接登录使用了!

聊天接口一直未响应怎么办?添加key获取不到模型怎么办?

如果你是国外服务器可能不存在这个问题、如果是国内服务器会无法连接openai的网络、请前往后台的 => 系统设置 => 接口设置填写代理地址、既可正常访问、添加key获取不到模型也是同理。

如何配置腾讯云对象存储cos

进入到腾讯云搜索对象存储、我们需要配置四个 参数、在秘钥管理里面可以拿到 SecretIdSecretKey

剩下两个参数分别是存储桶的名称和 节点位置您可以参考下图信息

如果还没有存储桶、请创建存储桶、权限选择公有读私有写即可、其他不限制。
配置完四个参数后、就可以使用存储服务了。

如何配置MJ的所有信息?

mj对应了七个必填参数分别是下图

剩余两个参数
1: 接口单次限制时间、表示用户请求一次这个接口距离下次允许请求的限制时间
2: 系统默认携带了一个代理、如果你是国内服务器需要开启代理、如果是国外服务器则不需要代理

  • 参数获取方法
    得到MJ账号之后、参考此地址创建一个自己私人的服务器、并且邀请一个官方的机器人加入房间 https://zhuanlan.zhihu.com/p/603364613、这样就可以加入房间了、然后打开控制台、此时我们通过命令 /imagine命令 随便输入一点prompt词 比如下图

然后发送 控制台就会看到这样一条接口,如图

复制接口发送的内容、然后找个地方格式化一下就行、会得到如下内容

箭头上我们可以看到六个参数、还剩下一个token从请求头获取如图

此时我们得到了七个参数、将其填入MJ配置、他们的对应关系是

{
      application_id: '应用程序ID',
      guild_id: '工会ID',
      channel_id: '通道ID',
      session_id: '会话ID',
      version: '版本ID',
      id: 'ID信息',
      authorization: '授权令牌',
    };

按照此内容填写即可。
使用MJ绘画的前提是已经配置了COS存储服务

群友提供教程

群友共享

更多问题 请留言 或联系作者

交流专区 文明发言