AI创作系统ChatGPT系统源码,支持Midjourney绘画,GPT语音对话+DALL-E3文生图

一、前言

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?#

①新增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/266481.html

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

相关文章

【RabbitMQ】RabbitMQ详解(一)

RabbitMQ详解 RabbitMQ介绍四大核心概念RabbitMQ 入门案例Hello RabbitMQ生产者消费者 Work Queues轮询消费 RabbitMQ消息应答与发布自动应答手动应答的方法肯定确认应答否定确认应答拒绝处理该消息恢复到消息队列Multiple的解释消息重新入队手动应答案例 RabbitMQ持久化队列持…

面向对象设计与分析40讲(12)简单工厂方法模式

文章目录 定义示例优缺点 定义 简单工厂模式是一种创建型模式,用于根据客户端的需求创建对象实例,所谓的需求反映到编程语言里就是传入的参数。 简单工厂模式包括三个主要部分: 工厂类(Simple Factory):…

python dash学习2

代码 内有说明: from dash import Dash, html, dcc, callback, Output, Input import plotly.express as px import pandas as pd# 从 Plotly 数据集中读取数据 df pd.read_csv(https://raw.githubusercontent.com/plotly/datasets/master/gapminder_unfiltered.c…

STM32实现流水灯

led.c #include"led.h"void Led_Init(void) {GPIO_InitTypeDef GPIO_VALUE; //???RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC,ENABLE);//???GPIO_VALUE.GPIO_ModeGPIO_Mode_Out_PP;//???? ????GPIO_VALUE.GPIO_PinGPIO_Pin_1|GPIO_Pin_2|GPIO_Pin_…

Golang 链表的基础知识

文章目录 链表链表基础知识部分链表的存储方式链表的定义链表的操作性能分析 链表 更多有关于go链表的内容可以见这篇文章链表的创建和读取 链表基础知识部分 什么是链表,链表是一种通过指针串联在一起的线性结构,每一个节点由两部分组成,…

图解LRU缓存

图解LRU缓存 OJ链接 介绍 LRU 缓存机制可以通过哈希表辅以双向链表实现,我们用一个哈希表和一个双向链表维护所有在缓存中的键值对。 双向链表按照被使用的顺序存储了这些键值对,靠近尾部的键值对是最近使用的,而靠近头部的键值对是最久未…

论文润色的原理是什么 PaperBERT

大家好,今天来聊聊论文润色的原理是什么,希望能给大家提供一点参考。 以下是针对论文重复率高的情况,提供一些修改建议和技巧,可以借助此类工具: 标题:论文润色的原理――探究论文润色背后的科学依据 一、…

nodejs+vue+ElementUi洗衣店订单管理系统4691l

衣服但是找订单的时间太长,体验非常的差。而且对于店家这也很头疼,麻烦的查找订单的方式,让他总是重复着繁琐的步骤,记录的时候也很容易出问题,容易把衣服弄错,再然后就是对于收来的衣服也很麻烦&#xff0…

HarmonyOS构建第一个ArkTS应用(FA模型)

构建第一个ArkTS应用(FA模型) 创建ArkTS工程 若首次打开DevEco Studio,请点击Create Project创建工程。如果已经打开了一个工程,请在菜单栏选择File > New > Create Project来创建一个新工程。 选择Application应用开发&a…

P4 音频知识点——PCM音频原始数据

目录 前言 01 PCM音频原始数据 1.1 频率 1.2 振幅: 1.3 比特率 1.4 采样 1.5 量化 1.6 编码 02. PCM数据有以下重要的参数: 采样率: 采集深度 通道数 ​​​​​​​ PCM比特率 ​​​​​​​ PCM文件大小计算: ​…

如何利用PPT绘图并导出清晰图片

在写论文的过程中,免不了需要绘图,但是visio等软件绘图没有在ppt上绘图比较熟练,尤其流程图结构图. 但是ppt导出的图片也不够清晰,默认分辨率是96dpi,而杂志投稿一般要求至300dpi。解决办法如下: 1.打开注…

神经网络:机器学习基础

【一】什么是模型的偏差和方差? 误差(Error) 偏差(Bias) 方差(Variance) 噪声(Noise),一般地,我们把机器学习模型的预测输出与样本的真实label…

Python自动化办公,又双叒增加功能了!

大家好,这里是程序员晚枫,今天给大家分享一下Python自动化办公,最近更新的功能。 以下代码,全部都可以免费使用哦~! 彩色的输出 有没有觉得python自带的无色输出看腻了?增加了彩色输出的功能,可以实现无痛替换。 上面效果的实现代码如下,👇 自动收发邮件 这个12月发…

采用SpringBoot框架+原生HTML、JS前后端分离模式开发和部署的电子病历编辑器源码(电子病历评级4级)

概述: 电子病历是指医务人员在医疗活动过程中,使用医疗机构信息系统生成的文字、符号、图表、图形、数据、影像等数字化信息,并能实现存储、管理、传输和重现的医疗记录,是病历的一种记录形式。 医院通过电子病历以电子化方式记录患者就诊的信息,包括&…

Flink 数据序列化

为 Flink 量身定制的序列化框架 大家都知道现在大数据生态非常火,大多数技术组件都是运行在JVM上的,Flink也是运行在JVM上,基于JVM的数据分析引擎都需要将大量的数据存储在内存中,这就不得不面临JVM的一些问题,比如Ja…

第4章 | 安徽某高校《统计建模与R软件》期末复习

第4章 参数估计 参数估计是统计建模的关键步骤之一,它涉及根据样本数据推断总体参数的过程。在统计学中,参数通常用于描述总体的特征,如均值、方差等。通过参数估计,我们可以利用样本信息对这些未知参数进行推断,从而…

kubernetes集群 应用实践 kafka部署

kubernetes集群 应用实践 kafka部署 零.1、环境说明 零.2、kafka架构说明 zookeeper在kafka集群中的作用 一、Broker注册 二、Topic注册 三、Topic Partition选主 四、生产者负载均衡 五、消费者负载均衡 一、持久化存储资源准备 1.1 创建共享目录 [rootnfsserver ~]# mkdir -…

深度学习 | 基础卷积神经网络

卷积神经网络是人脸识别、自动驾驶汽车等大多数计算机视觉应用的支柱。可以认为是一种特殊的神经网络架构,其中基本的矩阵乘法运算被卷积运算取代,专门处理具有网格状拓扑结构的数据。 1、全连接层的问题 1.1、全连接层的问题 “全连接层”的特点是每个…

用C的递归函数求n!-----(C每日一编程)

用递归函数求n! 有了上面这个递归公式就能写C代码了。 参考代码: int fac(int n) {if (n 1 || n 0)return 1;else return n * fac(n - 1); } void main() {int n;scanf("%d",&n);int f fac(n);printf("\n%d!%d\n", n, f); …

linux设置线程优先级以及调度策略浅析

linux线程调度策略 Linux内核会根据线程的优先级和调度策略来分配处理器时间。线程的优先级越高,它在竞争处理器时间时就越有可能被选中执行。调度策略定义了内核在选择下一个要执行的线程时所遵循的规则。 在Linux中,有以下几种常见的调度策略&#x…