智能AI系统ChatGPT系统源码+支持GPT4.0+支持ai绘画(Midjourney)/支持OpenAI GPT全模型+国内AI全模型
一、AI创作系统
SparkAi创作系统是基于OpenAI很火的ChatGPT进行开发的Ai智能问答系统和Midjourney绘画系统,支持OpenAI-GPT全模型+国内AI全模型。本期针对源码系统整体测试下来非常完美,可以说SparkAi是目前国内一款的ChatGPT对接OpenAI软件系统。那么如何搭建部署AI创作ChatGPT?小编这里写一个详细图文教程吧!SparkAi程序使用Nestjs和Vue3框架技术,持续集成AI能力到AIGC系统。已支持OpenAI GPT全模型+国内AI全模型+Midjourney绘画池系统!
《SparkAi系统详情及搭建部署文档》:
https://www.yuque.com/yuqueyonghutq9yt2/egy0d0?# https://www.yuque.com/yuqueyonghutq9yt2/egy0d0?#
AI模型提问
AI绘画
新增Midjourney局部重绘(Vary Region)在线编辑功能
手机移动端


1.1 程序核心功能
已支持OpenAI GPT全模型+国内AI全模型+Midjourney绘画池系统!
AI提问:程序已支持GPT3.5,GPT4.0提问、OpenAIGPT全模型+国内AI全模型、支持GPT联网提问
已支持OpenAIGPT全模型+国内AI全模型,已支持国内AI模型 百度文心一言,支持百度文心4.0版本、微软Azure、阿里云通义千问模型、清华智谱AIChatGLM、科大讯飞星火大模型等、新增支持讯飞星火认知大模型V3.0版本、新增支持腾讯混元大模型
AI绘画:Midjourney绘画(全自定义调参)、Midjourney以图生图、Dall-E2绘画
新增 Midjourney绘画账号池系统,可实现万级用户高并发
支持Midjourney局部重绘(Vary Region)
微信公众号+邮箱+手机号注册登录
一键智能思维导图生成
应用广场知识库,支持用户前台自定义添加私密或共享
AI绘画广场(画廊)
邀请+代理分销模式
用户每日签到功能
会话记录同步保存
支持对接微信官方支付、易支付、码支付、虎皮椒支付等
其他核心功能
1.2 更新日志
SparkAi最近大版本更新日志:
SparkAi【V3.0】版本已上线!
【V3.1.0】更新功能(10.29更新):
1.新增 Midjourney局部重绘(Vary Region)在线编辑功能
2.新增 Midjourney绘画账号池系统,可实现万级用户高并发
3.支持手机端 Midjourney局部重绘功能(Vary Region 局部重绘)
4.首页AI提问UI更新,侧边栏样式更新,对话框工具更新
5.提问模型:新增支持腾讯混元大模型
6.提问模型:新增支持讯飞星火认知大模型V3.0版本(20231024发布评论超越GPT)
7.提问模型:新增支持百度文心4.0版本(对标OpenAI-GPT4.0)
8.移除后台Midjourney绘画代理配置,将转由绘画池一并处理,优化速度
9.修复MJ绘画单张图片下出现U1-4问题 不能对单张图片操作问题
10.用户端大模型列表点击切换后允许自动关闭,且列表支持滑动选择查看
11.修复开启百度敏感词检测,因为以图生图提示词包含了图片链接地址,百度都检测触发推广敏感词导致无法提交绘图的问题
二、系统演示
演示系统
SparkAi官方演示站:
https://ai.sparkaigf.com
管理后端:https://ai.sparkaigf.com/sparkai/admin
测试账号:admin、123456
如不能访问请查看《SparkAi系统详情及搭建部署文档》获取最新地址。
三、系统功能模块
3.1 ChatGPT模型提问
支持GPT联网提问
3.2 Prompt应用
3.2.1 Prompt应用
3.2.2 自定义Prompt应用
支持用户自定义Prompt应用
3.3 支持Midjourney绘画
支持同步官方图片重新生成指令
同步官方 Vary 指令 单张图片对比加强 Vary(Strong) | Vary(Subtle)
同步官方 Zoom 指令 单张图片无限缩放 Zoom out 2x | Zoom out 1.5x
新增 Midjourney局部重绘(Vary Region)在线编辑功能
文生图
以图生图
3.4 Dall-E2绘画(已移除)
3.5 思维导图生成
3.6 AI画廊
其他和后台页面太多功能,就不展示了,直接访问演示站点和演示后台!
四、搭建部署教程
以下教程使用宝塔面板搭建
4.1 基础env环境配置
在代码中我们提供了基础 环境变量文件配置文件 env.example ,使用前先去掉后缀改为 .env 文件即可,我们在env环境配置文件只需要配置如下东西。
授权码授权ip配置
邮件服务配置
mysql数据库 这三项是基础配置、mysql与授权是必须的、在配置mysql与授权的情况下项目才可以启动成功、邮件服务可以后续追加。
4.2 env文件代码
# 服务器ip
SPARK_AI_HOST=
# 授权码
SPARK_AI_KEY=# mysql
DB_HOST=localhost
DB_PORT=3306
DB_USER=数据库用户名
DB_PASS=数据库密码
DB_DATABASE=数据库名
DB_LOG=false
DB_SYNC=true# mailer 邮件服务
MAILER_HOST=smtp.163.com
MAILER_PORT=465
MAILER_USER=发信邮箱
MAILER_PASS=邮箱发信密钥
MAILER_FROM=发信邮箱# Redis
REDIS_PORT=6379
REDIS_HOST=127.0.0.1
REDIS_PASSWORD=# jwt token
JWT_SECRET=chat-spark
# jwt token 过期时间
JWT_EXPIRESIN=7d
# 接口文档前缀
SWAGGERPREFIX=/docs
# 自定义端口
PORT=9520
五、环境安装
前置条件:
国内或者海外服务器均可,最低配置2H2G起,建议2H4G甚至更高
宝塔安装成功
所需环境:
Nginx >= 1.19.8
MySQL >= 5.7 或 MySQL 8.0
PHP-7.4(非必须)
PM2管理器 >=5.5
Redis 7.0.11
Node版本:>=16.19.1
5.1 Node版本
使用PM2切换Node版本(必须)
-
切换Node版本为:v16.19.1
5.2 安装pnpm模块
5.3 安装Redis
六、部署跑起来
6.1 新建站点
进入宝塔 - > 网站 -> 添加站点
6.2 开启HTTPS
6.2.1使用自己的ssl证书
6.2.2 Let's Encrypt 证书申请
如果没有证书,就使用宝塔免费证书,申请 Let's Encrypt
6.3 上传系统源码
删除宝塔创建站点生成的原始文件
将程序上传并解压到网站根目录下
6.3.1 配置.env文件
在宝塔直接双击 .env.example 文件编辑,或在终端vim编辑
配置完成后将文件后缀删掉、文件名字就是 .env
6.3.2 检查验证Node环境
此时再次打开终端、确定我们需要是否有node相关环境
node -v
npm -v
pnpm -v
6.4 启动项目
6.4.1 开启端口
宝塔面板安全开启 9520 端口和 3306 端口
6.4.2 安装依赖
使用终端切换到网站目录
cd /www/wwwroot/网站目录
或直接在网站根目录下输入ssh终端
使用 pnpm i 命令安装依赖
pnpm i
6.4.3 启动项目
使用 pnpm start 命令启动项目
pnpm start
6.4.4 查看启动日志
输入 pm2 log 查看详细日志、看到下图表示成功!
pm2 log
6.4.5 添加反向代理
添加 9520 端口反向代理,宝塔安全需要开启该端口,不然无法访问
七、使用系统
部署完成!此时通过域名即可访问系统了
7.1 管理后台
默认前台地址为域名地址 默认后台地址则为: https://域名地址/sparkai/admin
默认超级管理员账号是 super ,spark123
此时我们就安装完成了
7.2 修改超级管理员默认密码
登录后,请先修改超级管理员默认密码
7.3 搭建完成
八、后台配置&系统版本更新
8.1 后台配置
系统配置教程和其他教程请前往系统详情部署文档或博客原教程。
https://www.idcyli.com
8.2 系统版本更新
系统版本更新教程请前往系统详情部署文档或博客原教程。
相关文章:
智能AI系统ChatGPT系统源码+支持GPT4.0+支持ai绘画(Midjourney)/支持OpenAI GPT全模型+国内AI全模型
一、AI创作系统 SparkAi创作系统是基于OpenAI很火的ChatGPT进行开发的Ai智能问答系统和Midjourney绘画系统,支持OpenAI-GPT全模型国内AI全模型。本期针对源码系统整体测试下来非常完美,可以说SparkAi是目前国内一款的ChatGPT对接OpenAI软件系统。那么如…...
ARM Linux 基础学习 / 系统相关,文件系统,文件属性
编辑整理 by Staok。 本文部分内容摘自 “100ask imx6ull” 开发板的配套资料(如 百问网的《嵌入式Linux应用开发完全手册》,在 百问网 imx6ull pro 开发板 页面 中的《2.1 100ASK_IMX6ULL_PRO:开发板资料》或《2.2 全系列Linux教程…...
nginx https 如何将部分路径转移到 http
nginx https 如何将部分路径转移到 http 我有一个自己的网站,默认是走的 https,其中有一个路径需要走 http。 实现 在 nginx 的配置文件 https 中添加这个路径,并添加一个 rewrite 的指令。 比如我需要将 tools/iphone 的路径转成 http&am…...
算法通关村第八关-白银挑战二叉树的深度和高度问题
大家好我是苏麟 , 今天说说几道二叉树深度和高度相关的题目 . LeetCode给我们造了一堆的题目,研究一下104、110和111三个题,这三个颗看起来挺像的,都是关于深度、高度的。 最大深度问题 描述 : 二叉树的 最大深度 是指从根节点到最远叶子…...
使用LogBack替换Log4j
目录 1.删除log4j有关的依赖,添加logBack依赖 2.删除log4j配置文件,增加logback.xml配置文件 3.更改application.yml配置文件,log文件指向logback.xml 4.重启 1.删除log4j有关的依赖,添加logBack依赖 <dependency><gr…...
财务报告是什么
财务报告是什么 财务报告是企业对外提供的反映企业某一特定日期的财务状况和某一会计期间的经营成果、现金流量等会计信息的文件。 根据财务报告的定义,财务报告具有以下几层含义:一是财务报告应当是对外报告,其服务对象主要是投资者、债权人…...
SOME/IP 协议介绍(四)RPC协议规范
RPC协议规范 本章描述了SOME/IP的RPC协议。 传输协议绑定 为了传输不同传输协议的SOME/IP消息,可以使用多种传输协议。SOME/IP目前支持UDP和TCP。它们的绑定在以下章节中进行了解释,而第[SIP_RPC_450页,第36页]节讨论了选择哪种传输协议。…...
PostgreSQL基础入门
为什么选择PostgreSQL 功能更全面:PGSQL的功能更加全面,支持开窗函数、物化视图、分区表、json等类型,MySQL8以上支持开窗函数、分区表、json等,但物化视图仍不支持。高可用:PG更适合分布式环境,如流复制、…...
Django 密码管理:安全实践与技术深入
在 Web 应用的开发中,密码管理是保障用户安全的关键环节。Django 作为一个强大的 Python Web 框架,提供了一套全面的系统来处理密码的存储、验证和安全。本文将详细探讨 Django 中的密码管理机制,包括密码存储、密码验证、密码安全策略以及自…...
说说你对React Router的理解?常用的Router组件有哪些?
一、是什么 react-router等前端路由的原理大致相同,可以实现无刷新的条件下切换显示不同的页面 路由的本质就是页面的URL发生改变时,页面的显示结果可以根据URL的变化而变化,但是页面不会刷新 因此,可以通过前端路由可以实现单…...
“可一学院”新课程《区块链企业应用》正式上线
2023年8月,上海可一澈科技有限公司启动了一站式区块链学习平台“可一学院BitClass”。9月6日,可一学院正式推出一门新课程《区块链企业应用》,这门课程将帮助学习者了解企业需要什么样的区块链,以及应该如何运用这项技术来推动自身…...
Springboot---整合对象储存服务MinIO
OSS 「OSS」的英文全称是Object Storage Service,翻译成中文就是「对象存储服务」,官方一点解释就是对象存储是一种使用HTTP API存储和检索非结构化数据和元数据对象的工具。 白话文解释就是将系统所要用的文件上传到云硬盘上,该云硬盘提供了…...
HDRP图形入门:HDRP渲染管线depth翻转
新项目开坑HDRP渲染管线,花了些时间把项目开发框架和图形工作流更新到最新版本,其间发现HDRP中深度信息和buildin渲染管线翻转了。 以前的buildin渲染管线,距离摄像机越近depth->0,越远depth->1,这也很好理…...
uniapp——项目02
分类 创建cate分支 渲染分类页面的基本结构 效果页面,包含左右两个滑动区. 利用提供的api获取当前设备的信息。用来计算窗口高度。可食用高度就是屏幕高度减去上下导航栏的高度。 最终效果: 每一个激活项都特殊背景色,又在尾部加了个红条一样的东西。 export d…...
Go语言的Json序列化与反序列化、Goto语法、Tcp Socket通信
目录标题 一、Json序列化与反序列化1. 序列化2. 反序列化 二、Goto语法三、Tcp Socket1. 单客户端发送信息到服务端2. 服务端客户端通信 一、Json序列化与反序列化 1. 序列化 package mainimport ("encoding/json""fmt")type Person struct {Name string…...
gitlab-ce-12.3.5 挖矿病毒及解决方案
前言 最近发现在使用gitlab提交代码的时候总是失败,一访问gitlab还时常报503,于是使用 top 命令查看了内存占用情况,发现了一个git进程内存使用了2.3g,cpu还一直占用300-400%, 以前不知道gitlab还有病毒,只…...
每日一题(LeetCode)----数组--移除元素(四)
每日一题(LeetCode)----数组–移除元素(四) 1.题目([844. 比较含退格的字符串](https://leetcode.cn/problems/sqrtx/)) 给定 s 和 t 两个字符串,当它们分别被输入到空白的文本编辑器后,如果两者相等&…...
421. 数组中两个数的最大异或值/字典树【leetcode】
421. 数组中两个数的最大异或值 给你一个整数数组 nums ,返回 nums[i] XOR nums[j] 的最大运算结果,其中 0 ≤ i ≤ j < n 。 示例 1: 输入:nums [3,10,5,25,2,8] 输出:28 解释:最大运算结果是 5 XOR…...
C++(20):自定义类型实现基于范围的for循环
C自定义类型,可以通过实现begin和end作为成员函数,来支持基于范围的for循环 #include <iostream>class D{ public:int* begin(){return m_data;}int* end(){return m_data 5;} private:int m_data[5]{1, 2, 3, 4, 5}; };int main() {D d;for (in…...
Linux常用命令:find、grep、vim、cat、less、more
目录 我的常用搜索命令 find 命令 grep 命令 vim 常用命令: 1.光标移动命令 2插入命令 3.删除命令 4.复制和粘贴命令 5.撤销和重做命令 6.查找和替换命令 7.文件操作命令 8.其他命令 cat命令 less 命令 more 命令 less和more命令的区别 less和vim命…...
第19节 Node.js Express 框架
Express 是一个为Node.js设计的web开发框架,它基于nodejs平台。 Express 简介 Express是一个简洁而灵活的node.js Web应用框架, 提供了一系列强大特性帮助你创建各种Web应用,和丰富的HTTP工具。 使用Express可以快速地搭建一个完整功能的网站。 Expre…...
装饰模式(Decorator Pattern)重构java邮件发奖系统实战
前言 现在我们有个如下的需求,设计一个邮件发奖的小系统, 需求 1.数据验证 → 2. 敏感信息加密 → 3. 日志记录 → 4. 实际发送邮件 装饰器模式(Decorator Pattern)允许向一个现有的对象添加新的功能,同时又不改变其…...
前端导出带有合并单元格的列表
// 导出async function exportExcel(fileName "共识调整.xlsx") {// 所有数据const exportData await getAllMainData();// 表头内容let fitstTitleList [];const secondTitleList [];allColumns.value.forEach(column > {if (!column.children) {fitstTitleL…...
el-switch文字内置
el-switch文字内置 效果 vue <div style"color:#ffffff;font-size:14px;float:left;margin-bottom:5px;margin-right:5px;">自动加载</div> <el-switch v-model"value" active-color"#3E99FB" inactive-color"#DCDFE6"…...
华为云Flexus+DeepSeek征文|DeepSeek-V3/R1 商用服务开通全流程与本地部署搭建
华为云FlexusDeepSeek征文|DeepSeek-V3/R1 商用服务开通全流程与本地部署搭建 前言 如今大模型其性能出色,华为云 ModelArts Studio_MaaS大模型即服务平台华为云内置了大模型,能助力我们轻松驾驭 DeepSeek-V3/R1,本文中将分享如何…...
蓝桥杯3498 01串的熵
问题描述 对于一个长度为 23333333的 01 串, 如果其信息熵为 11625907.5798, 且 0 出现次数比 1 少, 那么这个 01 串中 0 出现了多少次? #include<iostream> #include<cmath> using namespace std;int n 23333333;int main() {//枚举 0 出现的次数//因…...
Mysql中select查询语句的执行过程
目录 1、介绍 1.1、组件介绍 1.2、Sql执行顺序 2、执行流程 2.1. 连接与认证 2.2. 查询缓存 2.3. 语法解析(Parser) 2.4、执行sql 1. 预处理(Preprocessor) 2. 查询优化器(Optimizer) 3. 执行器…...
人工智能(大型语言模型 LLMs)对不同学科的影响以及由此产生的新学习方式
今天是关于AI如何在教学中增强学生的学习体验,我把重要信息标红了。人文学科的价值被低估了 ⬇️ 转型与必要性 人工智能正在深刻地改变教育,这并非炒作,而是已经发生的巨大变革。教育机构和教育者不能忽视它,试图简单地禁止学生使…...
【 java 虚拟机知识 第一篇 】
目录 1.内存模型 1.1.JVM内存模型的介绍 1.2.堆和栈的区别 1.3.栈的存储细节 1.4.堆的部分 1.5.程序计数器的作用 1.6.方法区的内容 1.7.字符串池 1.8.引用类型 1.9.内存泄漏与内存溢出 1.10.会出现内存溢出的结构 1.内存模型 1.1.JVM内存模型的介绍 内存模型主要分…...
elementUI点击浏览table所选行数据查看文档
项目场景: table按照要求特定的数据变成按钮可以点击 解决方案: <el-table-columnprop"mlname"label"名称"align"center"width"180"><template slot-scope"scope"><el-buttonv-if&qu…...
