最新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 激活成功示例

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/30462.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

ELISA Flex: Monkey IFN-γ (HRP)

ELISA Flex: Monkey IFN-γ (HRP)该ELISA试剂盒能够检测溶液样本比如细胞培养上清或者血清/血浆中猴子γ干扰素(IFN-γ)的含量。 产品组分: 捕获抗体:克隆号MT126L(0.5mg/ml) 检测抗体:克隆号7…

3d模型有个虚拟外框怎么去除?---模大狮模型网

在3D建模和渲染过程中,虚拟外框(Bounding Box)是一个常见的显示元素,用于表示模型的包围盒或选择状态。尽管虚拟外框在一些情况下有其作用,但在最终渲染或呈现阶段,我们通常希望清除这些辅助显示,以展示纯粹的模型效果…

深入了解 Android 中的 ViewStub

在 Android 开发中,性能优化一直是一个重要的话题。ViewStub 作为一种轻量级视图容器,可以帮助我们在合适的时机延迟加载视图,从而优化应用性能。本文将详细介绍 ViewStub 的概念、使用方法以及在实际开发中的应用场景。 什么是 ViewStub&am…

一个简单、快速用于训练和微调中等规模GPT模型的开源项目

大家好,今天给大家分享的是一个简单、快速用于训练和微调中等规模GPT模型的开源项目,该项目旨在拓宽深度学习领域的应用,特别是为深度学习的入门者提供便利。 Nano GPT是一个基于PyTorch的开源项目,由前特斯拉AI负责人Andrej Ka…

linux搭建sftp服务

1. 添加用户及用户组 使用 groupadd sftpgroup 添加sftpgroup 用户组; 使用useradd -G sftpgroup -s /sbin/nologin cmssftp给sftpgroup 添加cmssftp用户; 使用passwd cmssftp给用户cmssftp进行设置密码(默认为:654321)。具体如下图所示: 2.…

运维篇-配置高级

黑马程序员Spring Boot2 文章目录 1、临时属性1.1 命令行中使用临属性1.2 开发环境设定临时属性 2、配置文件分类3、自定义配置文件 1、临时属性 1.1 命令行中使用临属性 使用jar命令启动Sprigboot工程师可以使用临时属性替换配置文件中的属性临时属性添加方式:ja…

vue3 页面左右滑动钩子封装

// useSwiper.js文件 import { ref, onMounted, onUnmounted } from "vue"; export function useSwiper({tabList, //tab数据curTabId,// 当前tab idcurTabIndex,// 当前tab 索引tabChange,// tab改变事件animation,// 动画animationData,// 动画 }) {let minOffset …

jeecg spring数据源用户名和密码加密 避免明文安全漏洞

1.目的 由于系统部署在互联网,配置文件中的数据库账号密码使用明文,存在安全隐患,做等保测试时要求对其加密。 2.实现方法 Jeecg框架本身有PasswordUtil可以使用PBEWITHMD5andDES进行加密,这里为方便改造,且安全性较…

探索数据分析无限潜能:vividime Desktop助力企业智能决策

在数字化浪潮席卷全球的今天,数据已经成为企业最宝贵的资产之一。通过对海量数据的深度挖掘和分析,企业能够洞察市场趋势、优化运营流程、提升用户体验,从而在激烈的市场竞争中脱颖而出。永洪科技的vividime Desktop作为一款功能强大、操作简…

Scala语言:大数据开发的未来之星 - 零基础到精通入门指南

前言 随着大数据时代的到来,数据量的急剧增长为软件开发带来了新的挑战和机遇。Scala语言因其函数式编程和面向对象的特性,以及与Apache Spark的完美协作,在大数据开发领域迅速崛起,成为该领域的新兴宠儿。本篇将从零基础开始&…

【Java】Object、Objects、包装类、StringBuilder、StringJoiner

目录 1.API2.Object类3.Objects类4.包装类4.1包装类概述4.2包装类的其他常见操作 5.StringBuilder 可变字符串5.1概述5.2StringBuilder案例 6.StringJoiner 1.API API:应用程序编程接口,全称application programing interface,即Java已经写好…

从粉丝基础到带货数据:全方位解读TikTok带货达人的选择之道

在如今的数字营销时代,TikTok已成为品牌推广和产品销售的重要平台。通过与合适的TikTok带货达人合作,品牌可以迅速吸引大量的潜在客户,实现销售转化。然而,选择合适的TikTok达人需要慎重考虑多个因素。本文Nox聚星将和大家详细阐述…

Android入门第68天-自动更新/升级怎么做(生产级实例)

开篇 今天我们进入第68讲。 在第60天左右其实很多同学们已经进入了APP应用开发了,因为60天内容足以让大家踏上正实的Android开发生涯。 随着开发的深入,我们发觉日常工作中无非就是一些组件的嵌套、合理应用。当代码迭代、功能迭代越来越频繁后我们面临着另一个问题,即:…

mac禁用电池睡眠-mac盒盖连接显示器

mac禁用电池睡眠-mac盒盖连接显示器-mac断点盒盖连接显示器 讲解:mac盒盖的时候连接显示器会睡眠并断开和显示器的连接,只有在电池->选项->选择使用电源适配器的时候防止睡眠,才可以连接电源线外界显示器 但是苹果的电池相当于手机电…

hdfs文件系统增删查原理

目录 1、hdfs读取文件原理 1.1、读取流程图解 1.2、架构层面读取流程详解 1.3、源码层面读取流程详解 2、hdfs写入文件原理 2.1、写入流程图解 2.2、架构层面写入流程 2.3、源码层面写入流程 3、hdfs删除文件原理 3.1、删除文件图解 3.2、架构层面删除流程 3.3、源码…

Gobject tutorial 七

The GObject base class GObject是一个fundamental classed instantiatable type,它的功能如下: 内存管理构建/销毁实例set/get属性方法信号 /*** GObjectClass:* g_type_class: the parent class* constructor: the constructor function is called by g_object…

云徙科技助力竹叶青实现用户精细化运营,拉动全渠道销售额增长

竹叶青茶以其别具一格的风味与深厚的历史底蕴,一直被誉为茶中瑰宝。历经千年的传承与创新,竹叶青不仅坚守着茶叶品质的极致追求,更在数字化的浪潮中,率先打破传统,以科技力量赋能品牌,成为茶行业的领军者。…

家长必备:超全的VIP硬笔书法课程(250课完结版),手把手教附可打印控笔素材!

今天要跟大家聊聊一个特别有意思的玩意儿——硬笔书法。你没听错,就是那种用钢笔、圆珠笔,甚至铅笔就能写出漂亮字的技艺。这可不仅仅是写字那么简单,它是一门艺术,一种生活的态度。 阿星记得小时候,爷爷总是拿着毛笔…

http缓存及http2配置

http缓存及http2配置极大提高了网页加载得速度 1.1 nginx安装 首先是需要安装nginx 去官网下载windows版本的安装包 nginx 命令 nginx start //启动 nginx -s stop nginx -s reload // 重新运行 tasklist /fi "imagename eq nginx.exe" //进程 把打包好的文件copy…

PyTorch -- RNN 快速实践

RNN Layer torch.nn.RNN(input_size,hidden_size,num_layers,batch_first) input_size: 输入的编码维度hidden_size: 隐含层的维数num_layers: 隐含层的层数batch_first: True 指定输入的参数顺序为: x:[batch, seq_len, input_size]h0:[batc…