IMYAI系统官方网站:https://new.imyai.top
1. 前言
IMYAI智能助手是基于ChatGPT开发的AI智能问答系统和Midjourney-AI绘画系统,支持OpenAI-GPT全模型、Claude-3.5全模型以及国内AI全模型。本期系统整体测试表现非常完美,因此小编将为大家带来一个详细的图文教程,讲解如何搭建和部署AI创作ChatGPT。
本系统已支持GPTs、GPT语音对话、GPT-4o模型、DALL-E3文生图、图片对话功能、GPT4-All联网搜索模型、文档分析、Midjourney绘画动态全功能、AI换脸、垫图混图、插件功能。此外,还支持最新流行的Suno-v3-AI音乐生成大模型、视频生成模型Luma、Vidu、可灵和清影。
1.1 系统架构技术栈
- 前端: Vite + vue3 + ts + NaiveUI + Tailwindcss
- 管理端:Vite4 + Vue3 + Element-Plus
- 服务端(后端):Nodejs + NestJs
- 数据支持: Mysql5.7(+) + Redis
- 运行环境:Linux、Windows、MacOs(推荐使用Linux)
- 数据存储:本地存储 | 阿里云oss | 腾讯云cos | chevereto图床
1.2 特色功能
①语音对话功能
②GPTs应用
③GPT4-All联网搜索模型
④文档分析
⑤Suno-v3-AI音乐生成
⑥Midjourney绘画
⑦说图解文
⑧视频创作
1.3 程序核心功能
- 极速部署、支持宝塔小白部署、docker镜像部署!
- 配置简单、仅需配置数据库以及redis即可快速启动服务
- 自适应布局、适配PC、移动端、平板等设备
- 支持多种模型的聊天、内置中转系统可对接几十+模型
- 支持联网模式、可对模型进行扩展搜索当前网络实时内容总结
- 支持气泡列表多种类型布局
- 支持语音模式、可与ai直接语音对话支持(最近新增)
- 对话模型自定义分类、自定义名称自定义排序、以及部分功能自定义
- 自定义模型扣除费用类型、扣除金额数量等
- 账号卡池不限量、支持设置权重控制key的调用量、保障并发
- 对话会话隔离、云端存储、支持多设备共享数据!
- 内容敏感词多种限制、支持自定义敏感词/百度内容审核等安全检测、可共同开启
- 对话多模态支持: 支持自定义对话模型开启多模态支持
- 插件系统开放、内部支持各类插件并会持续开发更多插件(最近新增)
- AI绘画支持:Midjouney全功能覆盖支持、DallE支持
- Dall-E-3绘画支持、支持所有参数并享有单独模块
- 思维导图:一键根据需求生成思维导图,可导出不同类型图片
- 绘画广场: 展示ai绘画的内容、展示推荐内容、管理端可手段推荐图片
- 应用中心:支持管理端后台主动添加应用、可自定义配置应用
- GPTS:支持GPTS使用、可后台自定义添加、也可以全站搜索 = 官方搜索(最近新增)
- 登录系统: 支持 邮箱 | 手机短信 | 微信扫码 等不同登录注册方式供选择
- 会员系统: 提供高级初级两种货币类型、支持各类商品自定义扣费模式与额度
- 商城系统: 自定义商品套餐、可自定义生成永久套餐、限时套餐
- 分销系统: 支持 A + B 分销模式、后台可自定义分销提成额度、可对单独用户单独设置
- 卡密系统: 支持批量生产卡密供用户兑换、用户端可兑换卡密或三方卡网购买
- 签到系统: 支持配置每日签到赠送不同额度的奖励
- 访客系统: 支持不登录使用部分内容、可游客模式体验站内功能
- 存储系统:支持本机、阿里云OSS、腾讯云cos、Chevereto图床多种类型
- 动态菜单系统:可以自定义开关菜单、添加菜单、自定义ICON、自定义菜单类型、可使用三方站点内嵌、支持移动端PC端各自单独设置。
- 管理端支持自定义配置网站LOGO、名称、百度统计、AI名称、提示欢迎语等多种内容
- 管理端 支持默认AI头像用户头像设置
- 管理端支持超管和普通演示账户用于分销系统、普通账号仅可读权限
- 管理端支持锁定封禁单独账户
- 管理端支持配置关键词回复、可自定义关键词及回复内容
2. 系统演示
- 系统用户端:https://ai.imyai.top (主站)
- AI音乐和AI视频板块属于我们图欧科技团队额外二开的新功能,需要额外付费购买,详情请咨询管理员。
- 源码站:https://ai.sparkaigf.com
- 管理后端:https://ai.sparkaigf.com/sparkai/admin
- 测试账号密码:admin 123456
如不能访问请查看《IMYAI系统源码部署+后台配置完整手册》获取最新地址。
3. 系统功能模块(部分)
3.1 AI全模型
3.2 GPTs应用
3.3 AI专业绘画
3.4 思维导图生成
3.5 支持微信登录
3.6 管理后台
4. V6版本更新日志
🔥 更新必看
由于6.0之后新增了本地存储 部分文件会存储到项目目录、在升级过程中请保留此目录public/files与public/core文件夹、core保留了项目的核心文件、系统中部分默认上传地址是这个地址、files目录则是日常文件、比如聊天对话中上传的文件、平时不重要的可以手动清理、其他的升级和老版本相同!请务必阅读下方提醒、确认阅读完成后更新
【V6.6.4】(2024.07.27号更新)
🚀 Feat
- 重构模型查询逻辑和前端返回机制
- 重写用户PC端+H5移动端模型显示UI(支持模型厂家分组类别显示)
- 新增自定义模型厂家分组类别配置、新增自定义模型Logo封面上传配置
- 新增绘画模块卡片页切换动画
- 新增AI输出代码情况下 红黄绿效果灯样式
🔨 Fix
- 修复微信登录的账户无修改密码选项(需要绑定手机号才能修改)
- 修复MJ绘画 角色一致参考图和风格一致参考图同时上传导致的错误(目前限制其中一种垫图同时上传)
【V6.6.3】(2024.07.09号更新)
🚀 Feat
- 新增AI视频生成独立功能,支持文生视频/图生视频
- 新增支持微信注册用户强制绑定手机号功能(后台自由开启或关闭)
- 调整用户绘画模块无积分绘画时自动弹出会员套餐开通页面
- 新增AI智能体 APP应用页面分类图标展示
- 新增用户个人中心邮箱、手机号显示
- 修改美化各类页面按钮、输入框、提示等
- 优化文件上传组件
- 修改优化系统演示账号(admin)各类配置查看权限
🔨 Fix
暂无
【V6.6.2】更新功能(2024.05.21号更新)
🚀 Feat
- 新增支持后台封禁拉黑用户,强制用户退出登录
- 新增优化上传文档,对包含空格的文件名进行去除处理(解决例如包含空格文件名的文件,gpt4-all模型无法识别等问题)
- 对MJ程序回调队列太低和MJ API进度通知不准确进行主动优化(降低mj那边notify_pool_size值设置太低可能导致绘画进度通知缓慢和出错)
- 增加公告未读标记数字提醒
🔨 Fix
- 修复封禁拉黑用户未主动退出登录仍可以签到和使用绘画等
- 修复后台Dall.E绘画完成后,绘画记录结果图不显示问题
【V6.6.1】更新功能(2024.05.14号更新)
🚀 Feat
- 新增支持用户端自定义应用修改编辑和删除功能
- 新增MJ绘画原图存储方式
- 优化MJ绘画为原缩略图和原图同时存储、使用异步存储方式减少原图存储时间
- 新增cos对象存储绘画图片时自动按日期时间创建文件夹进行分类存储(方便后期自由选择清理)
- 新增env配置("URL_TYP"配置项),API文件上传Type类型自定义配置
- 优化画廊以及后台绘画记录统一加载缩略图,优化加载速度,点击放大加载存储的原图
- AI模型对话和插件对话列表使用图片表情标识(可public目录进行替换)
- 新增对话列表可直接编辑
- 新增绘画提交时按钮显示提交状态
- 调整优化PC端菜单栏和顶部栏比例
- 调整AI提问手机移动端输入框为两行
- 其他按钮和图标等优化、优化网站loading加载动画
🔨 Fix
- 修复用户端应用无法取消收藏的问题
- 修复使用英文状态开启翻译出现中文的情况
【V6.5.0】更新功能(2024.05.02号更新)
🚀 Feat
- 新增MJ绘画垫图生图Character Reference(cref角色一致功能)以及参数使用
- 新增MJ绘画垫图生图Style References(sref风格一致功能)以及参数使用
- 新增PC用户端顶部功能信息配置(用户交流群入口功能),配置路径:用户端设置->顶部功能设置->顶部功能信息配置,不配置则不开启不显示
- 新增顶部开通会员入口设置,开启或隐藏功能(同步移动端)
- 新增优化签到关闭时,不显示签到入口(同步移动端)
- 优化绘画广场和用户端绘画记录的图,点击放大图片为加载系统数据存储的图,不再加载原Discord的图(discord频道或mj账户被官方封禁
discord那边就会删除清理原图,导致无法访问);优化查看绘画图片加载速度- 优化升级顶部开通会员为渐变色按钮;优化升级签到、主题颜色控制、登录按钮等图标
- 优化绘画用户输入中文提示词,关闭自动翻译、仍会翻译成英文(前提MJ绘画api那边自带翻译接口)
- 优化移动端AI绘画页面
- 优化非超级管理员登录管理后台情况下,用户手机号进行隐藏
🔨 Fix
- 修复绘画提示词和垫图提交,最后的提示词都带有双引号的问题,导致绘画出来的图都有文字水印
- 修复设置指定首页不生效问题(例如指定绘画为首页使用低版绘画页面)
【V6.4.0】更新功能(2024.04.08号更新)
🚀 Feat
- 放开模型最大上下文Token配置
- 新增提问模型单次回复Token限制以及后台配置(设为0则自适应不限制)
- 新增微信登录情况下不显示用户端密码更改(微信登录唯一凭证为微信号,没有密码,因此不显示)
- 支持超长上下文模型使用(例如写小说、超长文案资料修改)
- 去除模型提问每条回复都显示回复补全token(用户容易造成歧义)
- 用户端分销新增银行卡提现渠道以及后台获取,优化提示内容(微信、支付宝、银行卡)
- 修改AI声明显示提示
- 调整后台可视化网站访客统计为line折线图
- 优化授权授权逻辑
🔨 Fix
- 修复后台应用图标修改无效的问题
- 修复绘画操作扣除积分问题,绘画只扣2积分,后台设置的数值无效问题
- 修复输入文字多的情况下卡住问题(例如Claude3模型2万字以上测试卡住问题)
【V6.3.1】更新功能(2024.03.28号更新)
🚀 Feat
- 重构语音对话逻辑以修复大部分时候无法使用语音输入的问题
- 优化画廊页面,增加图片大小比例,由scaleWidth* 2 改为 scaleWidth * 3
- 优化绘画prompt,使用中文翻译为英文导致的其他内容提交
🔨 Fix
- 修复移动端无法语音输入的问题
【V6.3.0】更新功能(2024.03.26号更新)
🚀 Feat
- 新增公安备案号显示和后台配置项(需要后台配置后显示)
- 新增ICP备案号和公安网备案标准图标显示
- 去除低版本不再使用的数据库不必要表的查询
- 修复MJ局部编辑重绘不显示图的问题
🔨 Fix
- 兼容SparkAi v5系统版本升级V6版本,已在代码上做了最大优化兼容处理,最大程度上保留旧系统版本数据
- 其他页面优化
【V6.2.0】更新功能(2024.03.22号更新)
🚀 Feat
- 新增MJ绘画后台可设置默认使用通道(Fast快速通道、Relax休闲通道、默认栓通道规则)
- 新增支持对接转接系统的微信公众号(需要修改微信api回调地址,需配置.env文件WX_API_BASE=和WX_OPEN_API_BASE=的参数
- 修改菜单栏样式(调整菜单占比、选中样式)
- 修改系统UI主题色
🔨 Fix
- 修复文档上传格式或请求方式导致提问无效的问题
- 其他问题修复
【V6.1.0】更新功能(2024.03.18号更新)
🚀 Feat
- 修复微信支付金额问题
- 修复自定义的应用不能取消收藏 不能编辑
- 新增管理员登录用户端 全站搜索后可以选择将GPTS添加到系统当做系统应用
- 新增应用使用添加积分消耗显示
- 新增绘画窗口翻译改为持久化修改
- 新增绘画窗口优化改为持久化修改
- 新增MJ绘画通道双通道(支持Fast模式和Relax放松模式)
- 支持对双通道单独设置扣费额度
- 支持对双通道单独设置并发 双通道互相独立
- 虎皮椒支付支持微信环境调用微信支付
🔨 Fix
- gpt对话 上传文件失败的问题 文件传参格式错误修复、导致无法识别文档
- 应用中心分类顶部定位修复、搜索错位修复
- 绘画加载下拉偶发跳动问题、绘画部分逻辑优化处理
- 应用的示例内容多次重复问题修复
- 微信支付依赖包版本不一致导致返回值改变的问题兼容
- 购买会员套餐会额外增送一些额度问题处理
- 解决垫图部分场景配置下无法生效问题
- 虎皮椒支付增加h5参数
【V6.0】SparkAi v6 大版本
V6 版本大面积重构、全新的版本与其他系统合并,系统大版本更新升级
🚀 Feat
- 新增模型分类、支持自定义模型名称、自定义排序、模型配置、支持单个模型设置上下文Token限制、轮次限制、可以允许当前模型上传文件、允许开启当前模型联网!
- 新增tts语音、支持语音模式对话、支持自动播放回复语音、支持六种音色的选择、实时读取、不占用存储空间!
- 新增插件系统、多个内置插件、通过配置即可启用、支持识图、支持PDF文档分析、支持对话版本Midjourney、SD绘画等功能、支持自定义插件接入知识库!
- 新增本地存储、文件可以直接上传到服务器而不需要再上传到cos、为了性能考虑、我们只对非核心文件开放了存储到本地、例如聊天对话中产生的文档、pdf、图片、语音等素材将存储在本地、一些优先级较低的logo、icon、和系统预设也放入本地、对于一些重要属于依然选择存储云上。
- 新增列表布局、两种布局方式自定义切换!
- 新增GPTS应用、支持全网搜索、可以获取所有官方已有的GPTS直接加入系统使用!
- 应用支持绑定模型了、绑定模型的应用不可以切换模型、未绑定的可以切换、gpts只支持gpt-4-gizmo模型!
- UI更新:整体风格改为卡片风格、公告版更新、新增顶部栏、对话|GPTs分组隔离、应用中心改动、合并GPTS、增加全网搜素
- 侧边栏更新、支持双SVG图标配置对应选中和未选中、支持双图片配置、可以使用图片链接了。
- 布局改变、积分剩余额度独立、清空对话组分组、工作台位置迁移。
- 初始化欢迎页面变动、九宫格改为随机应用与GPTs、并支持随机更换。
- 工具栏合并、多种场景多种联动设置。
- 输入框支持粘贴上传文件!
- 登录窗口背景图变更、增加弹窗背景图配置、支持背景图自定义了!
- 增加发送图片和文档、在发送栏目可以下载
- 增加语音发送、可以暂停继续连续组织语言、支持在录制过程中直接点击发送
🔨 Fix
- 修复用户创建的应用管理员拒绝会通过问题
- 修复客户端如果网络不稳定导致会漏字的情况
- 解决了新生成的对话最后两条不能删除问题
- 授权全面升级、新的授权将绑定域名、单授权码同时仅支持一个域名或IP
- 修复上下文设置错误导致的假死或无响应问题
- 修复邀请人的显示错误问题、仅显示自己问题
- 修复推广链接在微信无法被识别问题
🔨 Improvement
- 重新发送最近两条消息时会删除当前两条内容继续上次的内容进行对话而不是新打开一行重复问!
- 对话流输出速度控制、匀速输出、感官更流畅!
- 用户端消息加载、对话组加载新增loading骨架屏!
- 翻译联想不准确的问题、部分场景无法正常翻译和联想!
- 管理端模型允许设置为0系统自动处理上下文、防止填过大token造成的假死和无响应问题!
- 移除掉九宫格、改为随机应用推荐!
- 移除全局模型配置、防止部分人不理解混淆、全部模型在添加key的时候配置代理地址!
- 由于提议、移除掉公众号AI自动回复、暂时关闭此功能!
- UI美化、移动端适配、针对聊天窗口的美化
- 对话组配置修改统一到弹窗、可同时修改多项配置信息
5. 部署教程
(一)宝塔部署方式
当你进入这个栏目的时候说明你已经想要使用宝塔面板部署了。如果你不知道什么是宝塔,请前往宝塔官网进行简单的了解。我们默认你已经安装了宝塔面板,这是最基础的需要。我们不推荐第三方平台服务器,也不接任何广告,服务器建议安装Centos 7.9或者7.6的版本,纯净系统再安装宝塔运维面板。推荐使用阿里香港轻量应用级服务器2C4G起,性价比高(仅仅对于一般)。
云服务器数量:AI系统部署国内国外服务器都可以,由于MJ绘画是海外服务需要中转,如需要开启MJ绘画功能故海外服务器必需1台,用于搭建绘画API系统,国内服务器可有可无。
5.1 环境安装
宝塔需要安装的环境:
- Nginx >= 1.19.8
- MySQL >= 5.7或者MySQL 8.0(如果AI系统和绘画API系统放在一台服务器,请安装MySQL 8.0)
- PHP-7.4(非系统需要环境)
- PM2管理器 5.5
- Redis 7.0.11
- Node版本:>=v16.14.1
初始安装环境推荐使用LNMP一键环境套件。
注意①:使用mysql8.0版本,需要重置root密码才能创建数据库。
注意②:同步服务器端口到宝塔运维面板(重要)。
5.2 Node版本选择
使用PM2切换Node版本(必须):
- 切换Node版本为:大于等于v16.14.1(这里为v16.19.1)
5.3 安装pnpm模块
如果安装不上pnpm,是宝塔默认淘宝源已经无法使用,打开命令控制台,切换为官方源,单独安装pnpm模块:
先设置npm为官方源
npm config set registry https://registry.npmjs.org/
单独安装pnpm
npm install -g pnpm
此时再次打开终端,确定我们需要是否有node相关环境
分别执行以下命令,出现版本号说明已经安装成功
node -v
npm -v
pnpm -v
如果出现“-bash: pnpm: 未找到命令”就执行以下命令(前面都出现版本号无须以下操作)
curl -fsSL "https://github.com/pnpm/pnpm/releases/latest/download/pnpm-linuxstatic-x64" -o /bin/pnpm; chmod +x /bin/pnpm;
如无法安装换用运行以下命令
curl -fsSL "https://mirror.ghproxy.com/https://github.com/pnpm/pnpm/releases/latest/download/pnpm-linuxstatic-x64" -o /bin/pnpm; chmod +x /bin/pnpm;
5.4 安装Redis
5.5 部署跑起来
5.5.1 新建站点
宝塔 - 网站 - 添加站点
5.5.2 配置SSL证书
如果自己没有商业SSL证书,就使用宝塔免费证书,申请Let’s Encrypt 证书。
开启强制HTTPS并保存。
5.5.3 上传IMYAI系统源码
进入网站站点根目录。
删除新建站点的原始文件。
将系统程序上传并解压到网站根目录下。
解压源码包。
5.5.4 配置.env文件
复制一份.env.example文件,并重命名为 .env 文件。
修改.env 配置文件为自己站点信息。
其中mysql为必配项目、redis服务必须安装否则无法启动项目。
jwt token 必须修改为自己个人的密钥(再原有基础上再加一点随机英文即可)。
宝塔数据库信息可直接查看。
5.5.5 启动项目
5.5.5.1 开启端口
宝塔面板安全开启9520端口(如果在配置文件自定义了其他端口,开启对应端口即可,不要和系统一些端口冲突,建议默认9520端口)。
5.5.5.2 安装依赖
直接在网站根目录打开ssh终端。
如果打开不在网站根目录请切换为网站根目录
cd /www/wwwroot/你的网站目录
宝塔默认为淘宝旧源,请切换淘宝最新源
npm config set registry https://registry.npmmirror.com
使用 pnpm i 命令回车安装依赖
pnpm i
使用 pnpm start 命令启动项目
pnpm start
5.5.5.3 查看启动日志
输入 pm2 log 查看详细日志,看到下图表示成功
pm2 log
初始化创建super用户成功,用户名为[super]、初始密码为[sparkai]。
5.5.6 添加反向代理
添加站点 9520 端口,宝塔安全需要开启该端口,不然无法访问。
目标url: http://127.0.0.1:9520
5.5.7 搭建完成
搭建完成,访问域名,输入域名授权码即可。
默认前台地址为域名地址: 本例中即为 demo.sparkaigf.com
默认后台地址则为域名地址/sparkai/admin:
本例中即为 demo.sparkaigf.com/IMYAI/admin
系统默认超级管理员账号为:super 密码为:sparkai
5.6 授权激活系统
访问你自己的网站。
5.6.1 未授权激活
系统源码授权请添加作者购买授权(可代理处购买):
微信:819220120
添加朋友申请时填写 ‘IMYAI授权’
5.6.2 激活成功示例
附录
若有其他问题,请围观《IMYAI系统源码部署+后台配置完整手册》