AI创作系统ChatGPT网站源码/支持DALL-E3文生图/支持最新GPT-4-Turbo模型+Prompt应用
一、AI创作系统
SparkAi创作系统是基于OpenAI很火的ChatGPT进行开发的Ai智能问答系统和Midjourney绘画系统,支持OpenAI-GPT全模型+国内AI全模型。本期针对源码系统整体测试下来非常完美,可以说SparkAi是目前国内一款的ChatGPT对接OpenAI软件系统。那么如何搭建部署AI创作ChatGPT?小编这里写一个详细图文教程吧!本系统使用Nestjs+Vue+Typescript框架技术,持续集成AI能力到本系统。支持OpenAI DALL-E3文生图,支持最新GPT-4多模态模型。已支持OpenAI GPT全模型+国内AI全模型+Midjourney绘画池系统!
《SparkAi系统详情及搭建部署文档》:
SparkAi系统文档 · 语雀
新增Dall-E3绘画(可直接对话文生图)
AI模型提问
AI绘画
新增Midjourney局部重绘(Vary Region)在线编辑功能
移动端
1.1 程序核心功能
已支持OpenAI GPT全模型+国内AI全模型+Midjourney绘画池系统!
- AI提问:程序已支持GPT3.5,GPT4.0提问、OpenAIGPT全模型+国内AI全模型、支持GPT联网提问
- 已支持OpenAIGPT全模型+国内AI全模型,已支持国内AI模型 百度文心一言、微软Azure、阿里云通义千问模型、清华智谱AIChatGLM、科大讯飞星火大模型、腾讯混元大模型等!
- AI绘画:Midjourney绘画(全自定义调参)、Midjourney以图生图、Dall-E3绘画
- 支持最新GPT-4多模态模型、OpenAI GPT-4-Turbo-With-Vision-128K模型(后续支持对话识图功能)
- 新增支持对话插件系统,后续逐步增加插件功能,扩展AI能力
- 新增KEY支持单独配置消耗费率,比如GPT4-32K比GPT4成本更高应该消耗更多的额度次数
- 微信公众号+邮箱+手机号注册登录
- 一键智能思维导图生成
- 应用广场,支持用户前台自定义添加私密或共享
- AI绘画广场(画廊)
- 邀请+代理分销模式、用户每日签到功能
- 会话记录同步保存
- 支持对接微信官方支付、易支付、码支付、虎皮椒支付等
- 自定义聚合会员套餐、卡密系统
- 其他核心功能
- 后续其他免费版本功能更新
1.2 更新日志
SparkAi最近大版本更新日志:
SparkAi【V3.0】版本已上线!
- 新增支持最新GPT-4多模态模型、OpenAI GPT-4-Turbo-With-Vision-128K模型(后续支持对话识图功能)
- 新增支持最新OpenAI GPT-3.5-Turbo-1106、GPT-4-1106-Preview模型
- 新增支持对话插件系统,后续逐步增加插件功能,扩展AI能力
- 新增支持OpenAI DALL-E3文生图插件,可直接对话文生图,搭配GPT4-Turbo使用(官网20231107发布)
- 新增KEY支持单独配置消耗费率,比如GPT4-32K比GPT4成本更高应该消耗更多的额度次数
- 新增后台配置指定用户端默认使用大模型
二、系统模块演示
SparkAi官方演示站:
https://ai.sparkaigf.com
管理后端:
SparkAi
测试账号: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.3.1 文生图
3.3.2 以图生图
3.4 Dall-E3绘画(可直接对话文生图)
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=
REDIS_DB=0# 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网站源码/支持DALL-E3文生图/支持最新GPT-4-Turbo模型+Prompt应用
一、AI创作系统 SparkAi创作系统是基于OpenAI很火的ChatGPT进行开发的Ai智能问答系统和Midjourney绘画系统,支持OpenAI-GPT全模型国内AI全模型。本期针对源码系统整体测试下来非常完美,可以说SparkAi是目前国内一款的ChatGPT对接OpenAI软件系统。那么如…...

二维码智慧门牌管理系统升级,异常门牌聚合解决方案助力高效管理
文章目录 前言一、异常门牌聚合解决方案 前言 在今天的数字化时代,智慧城市已成为发展趋势,其中二维码智慧门牌管理系统扮演着至关重要的角色。通过对门牌信息进行数字化管理,该系统极大提升了城市管理的效率和便捷性。然而,随着…...

【XTDrone Ubuntu20.04】XTDrone+ Ubuntu20.04 + PX4安装
XTDrone仿真平台配置 文章目录 XTDrone仿真平台配置依赖安装 ROS一键安装Marvos安装PX4 安装安装QTGroundControlXTDrone下载安装 环境: VMWare 16.0 Ubuntu 22.04 (因为没人配过)Ubuntu 20.04 参考文章: 仿真平台基础配置 (yuq…...

河北大学选择ZStack Cube超融合一体机打造实训云平台
河北大学通过云轴科技ZStack Cube超融合一体机构建校园实训云平台,部署测试仅耗时1天,该平台能够更快地为学生提供高性能、高可用的云主机、云存储和云网络服务;同时也能满足日常运维管理要求,为学生提供更好的实训环境。 河北省…...

IDEA远程一键部署SpringBoot到Docker
IDEA是Java开发利器,Spring Boot是Java生态中最流行的微服务框架,docker是时下最火的容器技术,那么它们结合在一起会产生什么化学反应呢? 一、开发前准备 1. Docker安装 可以参考:https://docs.docker.com/install/ 2…...
索引三星结构
三星索引的定义,可以先给我们对索引优化提供一个大概的思路: 满足第1颗星: 取出所有的等值谓词的列,作为索引最开头的列——以任意顺序都可以。 满足第2颗星: 将order by加入到索引列,不要改变这些列的顺…...
rust 笔记 高级错误处理
文章目录 错误处理组合器or() 和 and()or_else() 和 and_then()filtermap() 和 map_err()map_or() 和 map_or_else()ok_or() and ok_or_else() 自定义错误类型错误转换 From 特征 归一化不同的错误类型Box<dyn Error>自定义错误类型 简化错误处理thiserroranyhow 错误处理…...
python+Django 使用apscheduler实现定时任务 管理调度
apscheduler实现定时任务 管理调度 在Django 项目中经常会用到定时任务去处理一些业务处理 使用 APScheduler 可以轻松地实现定时任务的管理和调度。你可以通过以下步骤来创建、启动、停止和删除定时任务: 1.创建调度器对象: from apscheduler.schedu…...

Java编程中,异步操作流程中,最终一致性以及重试补偿的设计与实现
一、背景 微服务设计中,跨服务的调用,由于网络或程序故障等各种原因,经常会出现调用失败而需要重试。另外,在异步操作中,我们提供接口让外部服务回调。回调过程中,也可能出现故障。 这就要求我们主动向外…...

吴恩达《机器学习》8-7:多元分类
在机器学习领域,经常会遇到不止两个类别的分类问题。这时,需要使用多类分类技术。本文将深入探讨多类分类,并结合学习内容中的示例,了解神经网络在解决这类问题时的应用。 一、理解多类分类 多类分类问题是指当目标有多个类别时…...

Postman批量运行用例
近期在复习Postman的基础知识,在小破站上跟着百里老师系统复习了一遍,也做了一些笔记,希望可以给大家一点点启发。 一)注意点 有上传文件的接口,需要做如下设置: 1、打开能读取外部文件的开关 2、把需要…...
20个Golang最佳实践
在本教程中,我们将探讨 Golang 中的 20 个最佳编码实践。它将帮助您编写有效的 Go 代码。 #20:使用正确的缩进 良好的缩进使您的代码具有可读性。一致地使用制表符或空格(最好是制表符)并遵循 Go 标准缩进约定。 package main …...
Java 类之 java.lang.System
Java 类之 java.lang.System 文章目录 Java 类之 java.lang.System一、简介二、主要功能1、currentTimeMillis() - 获取当前时间的毫秒数说明代码示例 2、getProperty(String key) - 获取系统属性说明代码示例 3、exit(int status) - 终止虚拟机说明代码示例 4、arraycopy(Obje…...
认识Modbus通信协议(笔记)
Modbus 莫迪康 1979年 PLC 1969年 什么是modbus? 它是一个Bus,即总线协议。比如串口协议、IIC协议、SPI都是通信协议。 协议,顾名思义是一种规定和约束 Modbus协议是一种引用层的报文传输协议,RTU、ASCLL、TCP,都属于Modbus协…...

【算法】距离(最近公共祖先节点)
题目 给出 n 个点的一棵树,多次询问两点之间的最短距离。 注意: 边是无向的。所有节点的编号是 1,2,…,n。 输入格式 第一行为两个整数 n 和 m。n 表示点数,m 表示询问次数; 下来 n−1 行,每行三个整数 x,y,k&am…...

基于SpringBoot的SSMP整合案例(消息一致性处理与表现层开发)
消息一致性处理 在后端执行完相应的操作后,我们需要将执行操作后的结果与数据返回前端,前端 调用我们传回去的数据,前端是如何知道我们传回去的数据名称的? 答:前后端遵循了同一个"协议"。这个协议就是定义…...

c#之反射详解
总目录 文章目录 总目录一、反射是什么?1、C#编译运行过程2、反射与元数据3、反射的优缺点 二、反射的使用1、反射相关的类和命名空间1、System.Type类的应用2、System.Activator类的应用3、System.Reflection.Assembly类的应用4、System.Reflection.Module类的应用…...

synchronized jvm实现思考
底层实现时,为什么使用了cxq队列和entryList双向链表?这里为什么不跟AQS中使用一个队列就行了,加了一个entryList的目的是为了什么? 个人理解这里多一个entryList,可能是用于减少频繁的cas操作。假设存在很多锁竞争时&…...
【hive基础】hive常见操作速查
文章目录 一. hive变量操作1. 查看当前hive配置信息2. 设置变量3. 修改变量4. 进入hive终端重新加载配置 二. 执行hive sql三. 启动hive 一. hive变量操作 1. 查看当前hive配置信息 # 查看当前所有配置信息 hive > set ;# 查看某一项配置信息 hive >set hive.metastore…...

2024年山东省职业院校技能大赛中职组“网络安全”赛项竞赛试题-A
2024年山东省职业院校技能大赛中职组 “网络安全”赛项竞赛试题-A 一、竞赛时间 总计:360分钟 二、竞赛阶段 竞赛阶段 任务阶段 竞赛任务 竞赛时间 分值 A、B模块 A-1 登录安全加固 180分钟 200分 A-2 本地安全策略设置 A-3 流量完整性保护 A-4 …...

观成科技:隐蔽隧道工具Ligolo-ng加密流量分析
1.工具介绍 Ligolo-ng是一款由go编写的高效隧道工具,该工具基于TUN接口实现其功能,利用反向TCP/TLS连接建立一条隐蔽的通信信道,支持使用Let’s Encrypt自动生成证书。Ligolo-ng的通信隐蔽性体现在其支持多种连接方式,适应复杂网…...

【Python】 -- 趣味代码 - 小恐龙游戏
文章目录 文章目录 00 小恐龙游戏程序设计框架代码结构和功能游戏流程总结01 小恐龙游戏程序设计02 百度网盘地址00 小恐龙游戏程序设计框架 这段代码是一个基于 Pygame 的简易跑酷游戏的完整实现,玩家控制一个角色(龙)躲避障碍物(仙人掌和乌鸦)。以下是代码的详细介绍:…...
<6>-MySQL表的增删查改
目录 一,create(创建表) 二,retrieve(查询表) 1,select列 2,where条件 三,update(更新表) 四,delete(删除表…...
Java 8 Stream API 入门到实践详解
一、告别 for 循环! 传统痛点: Java 8 之前,集合操作离不开冗长的 for 循环和匿名类。例如,过滤列表中的偶数: List<Integer> list Arrays.asList(1, 2, 3, 4, 5); List<Integer> evens new ArrayList…...

使用分级同态加密防御梯度泄漏
抽象 联邦学习 (FL) 支持跨分布式客户端进行协作模型训练,而无需共享原始数据,这使其成为在互联和自动驾驶汽车 (CAV) 等领域保护隐私的机器学习的一种很有前途的方法。然而,最近的研究表明&…...
条件运算符
C中的三目运算符(也称条件运算符,英文:ternary operator)是一种简洁的条件选择语句,语法如下: 条件表达式 ? 表达式1 : 表达式2• 如果“条件表达式”为true,则整个表达式的结果为“表达式1”…...

376. Wiggle Subsequence
376. Wiggle Subsequence 代码 class Solution { public:int wiggleMaxLength(vector<int>& nums) {int n nums.size();int res 1;int prediff 0;int curdiff 0;for(int i 0;i < n-1;i){curdiff nums[i1] - nums[i];if( (prediff > 0 && curdif…...

cf2117E
原题链接:https://codeforces.com/contest/2117/problem/E 题目背景: 给定两个数组a,b,可以执行多次以下操作:选择 i (1 < i < n - 1),并设置 或,也可以在执行上述操作前执行一次删除任意 和 。求…...
第25节 Node.js 断言测试
Node.js的assert模块主要用于编写程序的单元测试时使用,通过断言可以提早发现和排查出错误。 稳定性: 5 - 锁定 这个模块可用于应用的单元测试,通过 require(assert) 可以使用这个模块。 assert.fail(actual, expected, message, operator) 使用参数…...
Linux云原生安全:零信任架构与机密计算
Linux云原生安全:零信任架构与机密计算 构建坚不可摧的云原生防御体系 引言:云原生安全的范式革命 随着云原生技术的普及,安全边界正在从传统的网络边界向工作负载内部转移。Gartner预测,到2025年,零信任架构将成为超…...