最新AI智能聊天对话问答系统源码(详细图文搭建部署教程)+AI绘画系统(Midjourney),DALL-E3文生图,TTS语音识别输入,文档分析
一、文章前言
随着人工智能技术的持续进步,AI绘画已经发展成为一个日益成熟的领域。越来越多的人开始尝试使用AI绘画软件来创作艺术作品。尽管这些AI绘画软件对绘画领域产生了显著影响,但它们并不会完全取代画师。与传统手绘不同,AI绘画可以在短时间内生成大量作品,并根据用户需求进行调整和定制。尽管AI绘画能够生成非常精美的作品,但它们依然无法取代传统画师的创造力和灵感,也难以表达情感和个性。画师在创作过程中,会将个人情感和想法注入作品中,而在构图、色彩搭配和氛围营造等方面,AI绘画难以完全模拟。因此,在某些方面,AI绘画仍然需要依赖画师的帮助。


系统文档
- 《SparkAI系统介绍文档 - 渐进式AIGC系统》
二、系统演示
系统用户端:https://ai.sparkaigf.com
管理后端:Admin - v6.6
测试账号密码:admin 123456
三、系统功能模块
3.1 AI全模型支持/插件系统
AI模型提问
文档分析
识图理解能力
3.2 GPts应用
3.2.1 GPTs应用
可全网搜索使用

3.2.2 GPTs工作台

3.2.3 自定义创建预设应用

3.3 AI专业绘画
3.3.1 文生图/图生图(垫图)

3.3.2 局部编辑重绘

3.3.3 混图生图

3.3.4 AI换脸

3.4 Dall-E2/E3/E4绘画

3.5 智能思维导图生成

3.6 AI绘画广场

3.7 支持微信登录
支持微信环境静默登录、浏览器中微信主动扫码登录、邮箱注册登录、手机号注册登录

3.8 管理后台(部分)


其他和后台页面太多功能,就不展示了,直接访问演示站点和演示后台
四、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美化、移动端适配、针对聊天窗口的美化
-
对话组配置修改统一到弹窗、可同时修改多项配置信息
五、部署教程(Node.js + PM2 部署)
这里使用标准Node.js + PM2 部署项目,系统提供Docker快速部署教程
当你进入这个栏目的时候说明你已经想要使用宝塔面板部署了、如果你不知道什么是宝塔、那么请前往宝塔官网进行简单的了解、我们默认你已经安装了宝塔面板、这是最基础的需要。
5.1 环境安装
宝塔需要安装的环境
Nginx >= 1.19.8
MySQL >= 5.7或者MySQL 8.0
PHP-7.4(非系统需要环境)
PM2管理器 5.5
Redis 7.0.11
Node版本:>=v16.14.1
初始安装环境推荐使用LNMP一键环境套件
5.2 Node版本选择
使用PM2切换Node版本(必须)
-
切换Node版本为:大于等于v16.14.1(这里为v16.19.1为例)
5.3 安装pnpm模块

如果安装不上pnpm,是宝塔默认淘宝源已经无法使用,打开命令控制台,切换为官方源,单独安装pnpm模块
(宝塔默认会安装pnpm 9 的最新版本,此版本要求Node.js版本最低为18,很多linux版本不支持最新pnpm 9)

先设置npm为官方源:
npm config set registry https://registry.npmjs.org/
单独安装pnpm:
请直接安装 pnpm 8 的版本
npm install -g pnpm@8

此时再次打开终端、确定我们需要是否有node相关环境
分别执行以下命令,出现版本号说明已经安装成功
node -v
npm -v
pnpm -v
验证pm2环境是否存在:
pm2 -v
如果提示 pm2: command not found,则并没有成功安装,再次手动命令安装:
npm install -g pm2
再次输入 pm2 -v 显示以下页面,则成功安装
5.4 安装Redis

5.5 部署跑起来
5.5.1 新建站点
宝塔 - 网站 - 添加站点
5.5.2 配置SSL证书
如果自己没用商业SSL证书,就使用宝塔免费证书,申请 Let's Encrypt 证书
开启强制HTTPS并保存
5.5.3 上传SparkAi系统源码
进入网站站点根目录
删除新建站点生成默认文件
将系统程序上传并解压到网站根目录下
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 搭建完成
搭建完成,访问域名,输入域名授权码即可
5.6 授权激活系统
访问你自己的系统前台域名
5.6.1 未授权激活
5.6.2 激活成功示例
相关文章:
最新AI智能聊天对话问答系统源码(详细图文搭建部署教程)+AI绘画系统(Midjourney),DALL-E3文生图,TTS语音识别输入,文档分析
一、文章前言 随着人工智能技术的持续进步,AI绘画已经发展成为一个日益成熟的领域。越来越多的人开始尝试使用AI绘画软件来创作艺术作品。尽管这些AI绘画软件对绘画领域产生了显著影响,但它们并不会完全取代画师。与传统手绘不同,AI绘画可以…...
项目四 OpenStack身份管理
任务一 理解身份服务 1.1 •Keystone的基本概念 • 认证 ( Authentication ) —— 确认 用户身份的过程,又称身份验证 。 • 凭证 ( Credentials ) —— 又 称凭据,是用于确认用户身份的数据 。 • 令牌 …...
【后端】websocket学习笔记
文章目录 1. 消息推送常见方式1.1 轮询 VS 长轮询1.2 SSE(server-sent event)服务器发送事件 2. websocket介绍2.1 介绍2.2 原理2.3 websoket API2.3.1 客户端【浏览器】API2.3.2 服务端API 3. 代码实现3.1 流程分析3.2 pom依赖3.3 配置类3.4 消息格式3.5 消息类 4.…...
DataWhale - 吃瓜教程学习笔记(一)
学习视频:第1章-绪论_哔哩哔哩_bilibili 西瓜书对应章节: 第一章 & 第二章 文章目录 机器学习三观What:什么是机器学习?Why: 为什么要学机器学习?1. 机器学习理论研究2. 机器学习系统开发3. 机器学习算法迁移 &…...
Attention Is All You Need论文地址
论文地址 点击即可...
如何优雅的一键下载OpenHarmony活跃分支代码?请关注【itopen: ohos_download】
itopen组织:1、提供OpenHarmony优雅实用的小工具2、手把手适配riscv qemu linux的三方库移植3、未来计划riscv qemu ohos的三方库移植 小程序开发4、一切拥抱开源,拥抱国产化 一、概述 为方便大家每次下载OpenHarmony不同分支/tag代码,…...
torch.topk用法
torch.topk用法 介绍使用示例 介绍 官网介绍:https://pytorch.org/docs/stable/generated/torch.topk.html 在指定维度选取k个最大(最小)的值。 使用示例 values torch.tensor([[2, 1, 3], [1, 2, 3]]) # values # tensor([[2, 1, 3], #…...
终极版本的Typora上传到博客园和csdn
激活插件 下载网址是这个: https://codeload.github.com/obgnail/typora_plugin/zip/refs/tags/1.9.4 解压之后这样的: 解压之后将plugin,复制到自己的安装目录下的resources 点击安装即可: 更改配置文件 "dependencies&q…...
洛谷:P5707【深基2.例12】上学迟到
1. 题目链接 https://www.luogu.com.cn/problem/P5707 【深基2.例12】上学迟到 2. 题目描述 学校和y的家距离s米,s以v的速度去学校,8点之前到,y出门前要打扫10分钟卫生,求s最晚的出门时间 输入:两个正整数路程s&…...
数据治理:数据提取过程中的合规性与安全性
数据治理:数据提取过程中的合规性与安全性 随着数字化时代的到来,数据已经成为企业运营和决策的核心驱动力。然而,在数据提取的过程中,确保数据的合规性和安全性成为了企业面临的重要挑战。数据治理作为一种系统的方法࿰…...
24计算机应届生的活路是什么
不够大胆❗ 很多小伙伴在找工作时觉得自己没有竞争力,很没有自信,以至于很害怕找工作面试,被人否定的感觉很不好受。 其实很多工作并没有想象中的高大上,不要害怕,计算机就业的方向是真的广,不要走窄了&…...
HTML页面布局-使用div示例
<!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>Title</title> </head> <body><!--text-align:center 文字水平居中line-height:200px; 文字垂直居中,行高设置跟高…...
怎么把webp文件转换为jpg?快来试试这四种转换方法!
怎么把webp文件转换为jpg?Webp是一种不常见的图片格式,这种格式在使用过程中有很多缺点,首先它的浏览器兼容性不是很强,这就代表大家无法随意进行网络传输,可能需要准备特定的操作才能进行,然后编辑webp的工…...
计算机网络(7) 错误检测
一.校验和 使用补码计算校验和是一种常见的错误检测方法,应用于网络协议如IP和TCP。补码是二进制数的一种表示方法,可以有效地处理符号位和进位。下面是如何利用补码计算校验和的详细步骤和算数例子。 ### 计算步骤 1. **将数据分块**:将数…...
实体类status属性使用枚举类型的步骤
1. 问题引出 当实体类的状态属性为Integer类型时,容易写错 2. 初步修改 把状态属性强制为某个类型,并且自定义一些可供选择的常量。 public class LessonStatus {public static final LessonStatus NOT_LEARNED new LessonStatus(0,"未学习"…...
pytorch基础【4】梯度计算、链式法则、梯度清零
文章目录 梯度计算计算图(Computational Graph)梯度求导(Gradient Computation)函数与概念 示例代码更多细节梯度求导的过程梯度求导的基本步骤示例代码注意事项总结 链式法则是什么?链式法则的数学定义链式法则在深度…...
mapreduce综合应用案例 — 招聘数据清洗
MapReduce是一个编程模型和处理大数据集的框架,它由Google开发并广泛使用于分布式计算环境中。MapReduce模型包含两个主要的函数:Map和Reduce。Map函数用于处理输入的键值对生成中间键值对,Reduce函数则用于合并Map函数输出的具有相同键的中间…...
发力采销,京东的“用户关系学”
作者 | 曾响铃 文 | 响铃说 40多岁打扮精致的城市女性,在西藏那曲的偏远农村,坐着藏民的摩托车,行驶在悬崖边的烂泥路上,只因为受顾客的“委托”,要寻找最原生态的藏区某款产品。 30多岁的憨厚中年男性,…...
期望23K,go高级社招面试复盘
面经哥只做互联网社招面试经历分享,关注我,每日推送精选面经,面试前,先找面经哥 我最终还是上岸了,花了一周总结了3万字的go社招高级面试知识体系思维导图,分享出来希望能帮助有缘人吧,以下只是…...
电感(线圈)具有哪些基本特性
首先,电感(线圈)具有以下基本特性,称之为“电感的感性电抗” ?①直流基本上直接流过。 ?②对于交流,起到类似电阻的作用。 ?③频率越高越难通过。 下面是表示电感的频率和阻抗特性的示意图。 在理想电感器中&#…...
【Oracle APEX开发小技巧12】
有如下需求: 有一个问题反馈页面,要实现在apex页面展示能直观看到反馈时间超过7天未处理的数据,方便管理员及时处理反馈。 我的方法:直接将逻辑写在SQL中,这样可以直接在页面展示 完整代码: SELECTSF.FE…...
MFC内存泄露
1、泄露代码示例 void X::SetApplicationBtn() {CMFCRibbonApplicationButton* pBtn GetApplicationButton();// 获取 Ribbon Bar 指针// 创建自定义按钮CCustomRibbonAppButton* pCustomButton new CCustomRibbonAppButton();pCustomButton->SetImage(IDB_BITMAP_Jdp26)…...
Day131 | 灵神 | 回溯算法 | 子集型 子集
Day131 | 灵神 | 回溯算法 | 子集型 子集 78.子集 78. 子集 - 力扣(LeetCode) 思路: 笔者写过很多次这道题了,不想写题解了,大家看灵神讲解吧 回溯算法套路①子集型回溯【基础算法精讲 14】_哔哩哔哩_bilibili 完…...
linux 下常用变更-8
1、删除普通用户 查询用户初始UID和GIDls -l /home/ ###家目录中查看UID cat /etc/group ###此文件查看GID删除用户1.编辑文件 /etc/passwd 找到对应的行,YW343:x:0:0::/home/YW343:/bin/bash 2.将标红的位置修改为用户对应初始UID和GID: YW3…...
土地利用/土地覆盖遥感解译与基于CLUE模型未来变化情景预测;从基础到高级,涵盖ArcGIS数据处理、ENVI遥感解译与CLUE模型情景模拟等
🔍 土地利用/土地覆盖数据是生态、环境和气象等诸多领域模型的关键输入参数。通过遥感影像解译技术,可以精准获取历史或当前任何一个区域的土地利用/土地覆盖情况。这些数据不仅能够用于评估区域生态环境的变化趋势,还能有效评价重大生态工程…...
laravel8+vue3.0+element-plus搭建方法
创建 laravel8 项目 composer create-project --prefer-dist laravel/laravel laravel8 8.* 安装 laravel/ui composer require laravel/ui 修改 package.json 文件 "devDependencies": {"vue/compiler-sfc": "^3.0.7","axios": …...
七、数据库的完整性
七、数据库的完整性 主要内容 7.1 数据库的完整性概述 7.2 实体完整性 7.3 参照完整性 7.4 用户定义的完整性 7.5 触发器 7.6 SQL Server中数据库完整性的实现 7.7 小结 7.1 数据库的完整性概述 数据库完整性的含义 正确性 指数据的合法性 有效性 指数据是否属于所定…...
RabbitMQ入门4.1.0版本(基于java、SpringBoot操作)
RabbitMQ 一、RabbitMQ概述 RabbitMQ RabbitMQ最初由LShift和CohesiveFT于2007年开发,后来由Pivotal Software Inc.(现为VMware子公司)接管。RabbitMQ 是一个开源的消息代理和队列服务器,用 Erlang 语言编写。广泛应用于各种分布…...
搭建DNS域名解析服务器(正向解析资源文件)
正向解析资源文件 1)准备工作 服务端及客户端都关闭安全软件 [rootlocalhost ~]# systemctl stop firewalld [rootlocalhost ~]# setenforce 0 2)服务端安装软件:bind 1.配置yum源 [rootlocalhost ~]# cat /etc/yum.repos.d/base.repo [Base…...
比较数据迁移后MySQL数据库和OceanBase数据仓库中的表
设计一个MySQL数据库和OceanBase数据仓库的表数据比较的详细程序流程,两张表是相同的结构,都有整型主键id字段,需要每次从数据库分批取得2000条数据,用于比较,比较操作的同时可以再取2000条数据,等上一次比较完成之后,开始比较,直到比较完所有的数据。比较操作需要比较…...
