最新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社招高级面试知识体系思维导图,分享出来希望能帮助有缘人吧,以下只是…...

电感(线圈)具有哪些基本特性
首先,电感(线圈)具有以下基本特性,称之为“电感的感性电抗” ?①直流基本上直接流过。 ?②对于交流,起到类似电阻的作用。 ?③频率越高越难通过。 下面是表示电感的频率和阻抗特性的示意图。 在理想电感器中&#…...

XML Group端口详解
在XML数据映射过程中,经常需要对数据进行分组聚合操作。例如,当处理包含多个物料明细的XML文件时,可能需要将相同物料号的明细归为一组,或对相同物料号的数量进行求和计算。传统实现方式通常需要编写脚本代码,增加了开…...

.Net框架,除了EF还有很多很多......
文章目录 1. 引言2. Dapper2.1 概述与设计原理2.2 核心功能与代码示例基本查询多映射查询存储过程调用 2.3 性能优化原理2.4 适用场景 3. NHibernate3.1 概述与架构设计3.2 映射配置示例Fluent映射XML映射 3.3 查询示例HQL查询Criteria APILINQ提供程序 3.4 高级特性3.5 适用场…...
1688商品列表API与其他数据源的对接思路
将1688商品列表API与其他数据源对接时,需结合业务场景设计数据流转链路,重点关注数据格式兼容性、接口调用频率控制及数据一致性维护。以下是具体对接思路及关键技术点: 一、核心对接场景与目标 商品数据同步 场景:将1688商品信息…...
python如何将word的doc另存为docx
将 DOCX 文件另存为 DOCX 格式(Python 实现) 在 Python 中,你可以使用 python-docx 库来操作 Word 文档。不过需要注意的是,.doc 是旧的 Word 格式,而 .docx 是新的基于 XML 的格式。python-docx 只能处理 .docx 格式…...

k8s业务程序联调工具-KtConnect
概述 原理 工具作用是建立了一个从本地到集群的单向VPN,根据VPN原理,打通两个内网必然需要借助一个公共中继节点,ktconnect工具巧妙的利用k8s原生的portforward能力,简化了建立连接的过程,apiserver间接起到了中继节…...

零知开源——STM32F103RBT6驱动 ICM20948 九轴传感器及 vofa + 上位机可视化教程
STM32F1 本教程使用零知标准板(STM32F103RBT6)通过I2C驱动ICM20948九轴传感器,实现姿态解算,并通过串口将数据实时发送至VOFA上位机进行3D可视化。代码基于开源库修改优化,适合嵌入式及物联网开发者。在基础驱动上新增…...

QT开发技术【ffmpeg + QAudioOutput】音乐播放器
一、 介绍 使用ffmpeg 4.2.2 在数字化浪潮席卷全球的当下,音视频内容犹如璀璨繁星,点亮了人们的生活与工作。从短视频平台上令人捧腹的搞笑视频,到在线课堂中知识渊博的专家授课,再到影视平台上扣人心弦的高清大片,音…...
[USACO23FEB] Bakery S
题目描述 Bessie 开了一家面包店! 在她的面包店里,Bessie 有一个烤箱,可以在 t C t_C tC 的时间内生产一块饼干或在 t M t_M tM 单位时间内生产一块松糕。 ( 1 ≤ t C , t M ≤ 10 9 ) (1 \le t_C,t_M \le 10^9) (1≤tC,tM≤109)。由于空间…...
拟合问题处理
在机器学习中,核心任务通常围绕模型训练和性能提升展开,但你提到的 “优化训练数据解决过拟合” 和 “提升泛化性能解决欠拟合” 需要结合更准确的概念进行梳理。以下是对机器学习核心任务的系统复习和修正: 一、机器学习的核心任务框架 机…...
2.2.2 ASPICE的需求分析
ASPICE的需求分析是汽车软件开发过程中至关重要的一环,它涉及到对需求进行详细分析、验证和确认,以确保软件产品能够满足客户和用户的需求。在ASPICE中,需求分析的关键步骤包括: 需求细化:将从需求收集阶段获得的高层需…...