最新ChatGPT网站系统源码+AI绘画系统+支持GPT语音对话+详细图文搭建教程/支持GPT4.0/H5端系统/文档知识库

一、前言

SparkAi创作系统是基于ChatGPT进行开发的Ai智能问答系统和Midjourney绘画系统,支持OpenAI-GPT全模型+国内AI全模型。本期针对源码系统整体测试下来非常完美,可以说SparkAi是目前国内一款的ChatGPT对接OpenAI软件系统。那么如何搭建部署AI创作ChatGPT?小编这里写一个详细图文教程吧!支持GPT-4-Turbo模型、支持DALL-E3文生图,支持最新GPT-4-Turbo模型、GPT-4-1106-Preview多模态模型。支持GPT-4图片对话能力上传图片并识图理解对话。GPT文档对话总结开发中!

《SparkAi系统详情及搭建部署文档》:

https://www.yuque.com/yuqueyonghutq9yt2/egy0d0/ah9sq89lgl6b7s4w

①新增OpenAI的TTS语音对话功能

支持电脑PC浏览器和手机端使用(调整用户端语音交互,语音输入则语音回复,文本输入则文本回复)

②DALL-E3文生图(支持直接对话绘画)

③新增已支持GPT-4图片对话能力(上传图片并识图理解对话)

可同时支持5张图同时上传对话

1.1AI模型提问

1.2人工智能AI绘画

新增Midjourney局部重绘(Vary Region)在线编辑功能

手机端页面:

1.1 程序核心功能

已支持 OpenAI GPT全模型 + 国内AI全模型 + 绘画池系统 + OpenAI TTS语音对话功能!

  1. AI提问:程序已支持GPT3.5,GPT4.0提问、OpenAIGPT全模型+国内AI全模型、支持GPT联网提问

  2. 新增OpenAI的TTS语音对话功能,支持电脑PC浏览器和手机端使用(调整用户端语音交互,语音输入则语音回复,文本输入则文本回复)

  3. 已支持OpenAIGPT全模型+国内AI全模型,已支持国内AI模型 百度文心一言、微软Azure、阿里云通义千问模型、清华智谱AIChatGLM、科大讯飞星火大模型、腾讯混元大模型等!

  4. AI绘画:Midjourney绘画(全自定义调参)、Midjourney以图生图、Dall-E3绘画

  5. 支持最新GPT-4多模态模型、OpenAI GPT-4-Turbo-With-Vision-128K模型

  6. 支持GPT-4图片对话能力(上传图片并识图理解对话)

  7. 新增支持对话插件系统,后续逐步增加插件功能,扩展AI能力

  8. 新增KEY支持单独配置消耗费率,比如GPT4-32K比GPT4成本更高应该消耗更多的额度次数

  9. 微信公众号+邮箱+手机号注册登录

  10. 一键智能思维导图生成

  11. 应用广场,支持用户前台自定义添加私密或共享

  12. AI绘画广场(画廊)

  13. 邀请+代理分销模式、用户每日签到功能

  14. 会话记录同步保存

  15. 支持对接微信官方支付、易支付、码支付、虎皮椒支付等

  16. 自定义聚合会员套餐、卡密系统

  17. 其他核心功能

  18. 后续其他免费版本功能更新

1.2 更新日志

【V4.2.0】更新功能(2023.12.14号更新)

  1. 新增OpenAI的TTS语音对话功能,支持电脑PC浏览器和手机端使用(调整用户端语音交互,语音输入则语音回复,文本输入则文本回复)

  2. 新增后台dall-e-3和dall-e-2模型独立配置apiKey,扩展更多apiKey来源轮训调用,增强多源配置,提高系统稳定性

  3. 新增支持所有微软Azure OpenAl模型,支持Azure OpenAl dall-e-3

  4. 新增后台知识库接入(对接百度千帆知识库),用户端动态显示知识库插件并通过插件的方式选择与知识库对话,可自定义训练内容回答和文档总结,上传文档作为知识库内容用于特定场景对话回答,比如企业文化规章制度、产品说明文档、客服等等各行业知识库等

  5. 优化分享和代理推广链接,代理邀请链接在安卓手机里可能被截断导致邀请失败

  6. 新增用户列表显示手机号字段并增加手机号搜索查询用户功能

  7. 新增邮箱注册校验规则,过滤临时邮箱注册(防止使用非本人邮箱刷免费额度等)

  8. 新增后台配置APIKey选择厂商时动态显示模型列表,避免模型与厂商不匹配导致调用报错的问题

  9. UI布局样式优化:手机和电脑端输入框大小调整、公告栏样式修改、MJ绘画比例显示适用场景、AI画廊页面优化以及默认显示比例调整

二、系统模块演示

快速体验

官方演示站:

  • 系统用户端:https://ai.sparkaigf.com
  • 管理后端:https://ai.sparkaigf.com/sparkai/admin
  • 测试账号密码:admin 123456

三、系统功能模块

3.1ChatGPT模型提问

已支持GPT联网提问提问

3.2Prompt应用

3.2.1Prompt应用

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.2以图生图

3.4Dall-E3绘画

可直接对话文生图

3.5智能思维导图生成

3.6AI画廊

3.6系统后台管理系统

其他和后台页面太多功能,就不展示了,直接访问演示站点和演示后台。 

四、搭建部署教程

4.1基础env环境配置

在代码中我们提供了基础 环境变量文件配置文件 env.example ,使用前先去掉后缀改为 .env 文件即可,我们在env环境配置文件只需要配置如下东西。

  • 授权码授权ip配置

  • 邮件服务配置

  • mysql数据库 这三项是基础配置、mysql与授权是必须的、在配置mysql与授权的情况下项目才可以启动成功、邮件服务可以后续追加。

4.2env文件代码

# 服务器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

五、环境安装

前置条件:

  1. 国内或者海外服务器均可,最低配置2H2G起,建议2H4G甚至更高

  2. 宝塔安装成功

所需环境:

  • Nginx >= 1.19.8

  • MySQL >= 5.7MySQL 8.0

  • PHP-7.4(非必须)

  • PM2管理器 >=5.5

  • Redis 7.0.11

  • Node版本:>=16.19.1

5.1Node版本

使用PM2切换Node版本(必须)

切换Node版本为:v16.19.1

5.2安装pnpm模块

5.3安装Redis

六、部署跑起来

6.1新建站点

进入宝塔 - > 网站 -> 添加站点

6.2开启HTTPS

6.2.1使用自己的ssl证书

6.2.2Let'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系统版本更新

系统版本更新教程请前往系统详情部署文档或博客原教程。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

TYPE C 接口知识详解

1、Type C 概述 Type-C口有4对TX/RX分线,2对USBD/D-,一对SBU,2个CC,另外还有4个VBUS和4个地线。 当Type-C接口仅用作传输DP信号时,则可利用4对TX/RX,从而实现4Lane传输,这种模式称为DPonly模式…

C++ 检测 是不是 com组件 的办法 已解决

在日常开发中,遇到动态库和 com组件库的调用 无法区分。检测是否com组件的办法 在头部文件,引入文件 如果能编译成功说明是 com组件,至于动态库如何引入,还在观察中 #import "TerraExplorerX.dll" no_namespace, nam…

云原生之深入解析基于FunctionGraph在Serverless领域的FinOps的探索和实践

一、背景 Serverless 精确到毫秒级的按用付费模式使得用户不再需要为资源的空闲时间付费。然而,对于给定的某个应用函数,由于影响其计费成本的因素并不唯一,使得用户对函数运行期间的总计费进行精确的事先估计变成了一项困难的工作。以传统云…

TCP_滑动窗口介绍

简介 TCP协议中有两个窗口,滑动窗口和拥塞窗口,两者均是一种流控机制;滑动窗口是接收方的流控机制,拥塞窗口是发送方的流控机制。 本文介绍滑动窗口,接收方为TCP连接设置了接收缓存。当TCP连接接收到正确、按序的字节…

Mybatis3系列课程8-带参数查询

简介 上节课内容中讲解了查询全部, 不需要带条件查, 这节我们讲讲 带条件查询 目标 1. 带一个条件查询-基本数据类型 2.带两个条件查询-连个基本数据类型 3.带一个对象类型查询 为了实现目标, 我们要实现 按照主键 查询某个学生信息, 按照姓名和年级编号查询学生信息 按照学生…

MyBatis中延迟加载,全局和局部的开启使用与关闭

文章目录 MyBatis中延迟加载,全局和局部的开启使用与关闭1、问题提出2、延迟加载和立即加载延迟加载立即加载 3、三种对应的表关系中的加载4、打开全局延迟加载(实现一对一的延迟加载)5、实现一对多的延迟加载(将上面设置的全局延…

渲染控制之条件渲染

目录 1、使用规则 2、更新机制 3、使用if进行条件渲染 4、if ... else ...语句和子组件状态 5、嵌套if语句 ArkTS提供了渲染控制的能力。条件渲染可根据应用的不同状态,使用if、else和else if渲染对应状态下的UI内容。 1、使用规则 支持if、else和else if语句…

pip 常用指令 pip list 命令用法介绍

📑pip 常用命令归类整理 pip list 是一个用于列出已安装的 Python 包的命令。这个命令会显示出所有已安装的包,以及它们的版本号。 pip list 命令有以下参数 -o, --outdated:列出所有过时的包,即有新版本可用的包。-u, --uptod…

DPDK单步跟踪(3)-如何利用visual studio 2019和visual gdb来单步调试dpdk

准备工作 因为时间的关系,我想到哪说到哪,可能没那么高的完成度。 但其实有心的人,看到这个标题,就关了本文自己能做了。 why和how to build debug version DPDK,见前两篇。这里我们准备开始。 首先,你有一台linux机…

什么是“人机协同”机器学习?

“人机协同”(HITL)是人工智能的一个分支,它同时利用人类智能和机器智能来创建机器学习模型。在传统的“人机协同”方法中,人们会参与一个良性循环,在其中训练、调整和测试特定算法。通常,它的工作方式如下…

《软件方法(下)》8.2.4 类和属性的命名

DDD领域驱动设计批评文集 做强化自测题获得“软件方法建模师”称号 《软件方法》各章合集 8.2 建模步骤C-1 识别类和属性 8.2.4 类和属性的命名 8.2.4.2 关于DDD话语中的“通用语言” DDD(领域驱动设计)话语中有“通用语言(Ubiquitous L…

【JAVA面试题】什么是代码单元?什么是码点?

🍎个人博客:个人主页 🏆个人专栏: JAVA ⛳️ 功不唐捐,玉汝于成 目录 目录 前言 思路 代码单元(Code Unit): 码点(Code Point): 作…

vscode | python | remote-SSH | Debug 配置 + CLIP4Clip实验记录

安装Extension 本地安装Remote-SSH、python 远程服务器上安装Python 难点:主机和远程服务器上安装Python扩展失败,可能是网络、代理等原因导致解决方法: 主机在官方网站下载Python扩展:https://marketplace.visualstudio.com/it…

RobotFramework 自动化测试实战进阶篇

工具 Robotframework, 采用PO设计模式 PO模型 PO模型即Page Objects,直译意思就是“页面对象”,通俗的讲就是把一个页面,或者说把一个页面的某个区域当做一个对象,通过封装这个对象可以实现调用。 PO设计的好处 代码复用&…

【沁恒蓝牙mesh】CH58x DataFlash 详解

本文主要介绍了 沁恒蓝牙芯片 CH58x 的 DataFlash 分区以及读写操作以及原理 📋 个人简介 💖 作者简介:大家好,我是喜欢记录零碎知识点的小菜鸟。😎📝 个人主页:欢迎访问我的 Ethernet_Comm 博…

P3375 【模板】KMP

【模板】KMP 题目描述 给出两个字符串 s 1 s_1 s1​ 和 s 2 s_2 s2​,若 s 1 s_1 s1​ 的区间 [ l , r ] [l, r] [l,r] 子串与 s 2 s_2 s2​ 完全相同,则称 s 2 s_2 s2​ 在 s 1 s_1 s1​ 中出现了,其出现位置为 l l l。 现在请你求…

链表常见题型(1)

1.反转链表 1.1反转链表 如果我们想要反转链表,那应该有head的next指针指向空,其余结点的next指针反过来,指向它的上一个结点,那我们在执行该操作的时候就需要定义变量cur(current)表示我们当前遍历到的结点,变量pre(…

Linux应用程序管理(rpm yum 源码安装)

一.Linux应用程序基础 当我们主机安装Linux操作系统时候,也会同时安装一些软件或网络服务等等,但是随着系统一起安装的软件包毕竟他是少数的,能够实现的功能也是有限的,如果需要实现更丰富的功能,那就需要安装应用程序…

vue2 el-table 行按钮过多,按钮超出指定个数,显示为下拉菜单(简单的自定义组件)01

vue2 el-table 行按钮过多&#xff0c;按钮超出指定个数&#xff0c;显示为下拉菜单&#xff08;简单的自定义组件01&#xff09; 上图 优化前 按钮太多不美观 优化后 默认展示三个按钮 超出显示下拉菜单 上代码 封装按钮组件 OperateBtn.vue // OperateBtn.vue<templ…

【Linux】归档和备份

简介 计算机系统管理员的一个主要任务就是保护系统的数据安全&#xff0c;其中一种方法是通过时时备份系 统文件&#xff0c;来保护数据。即使你不是一名系统管理员&#xff0c;也经常会处理大量文件&#xff0c;在这里我们看看常见的管理文件集合命令。 压缩命令&#xff1a…