最新ChatGPT网站源码+支持GPT4.0+支持Midjourney绘画+支持国内全AI模型

2023-09-14 19:05:45

一、智能创作系统

SparkAi创作系统是基于国外很火的ChatGPT进行开发的Ai智能问答系统。本期针对源码系统整体测试下来非常完美,可以说SparkAi是目前国内一款的ChatGPT对接OpenAI软件系统。那么如何搭建部署AI创作ChatGPT?小编这里写一个详细图文教程吧!SparkAi程序使用Nestjs和Vue3框架技术,持续集成AI能力到AIGC系统!

1.1 程序核心功能

程序已支持ChatGPT3.5/4.0提问、AI绘画、Midjourney绘画(全自定义调参)、Midjourney以图生图、Dall-E2绘画、思维导图生成、知识库(可自定义训练)、AI绘画广场、邀请+代理分销模式、用户每日签到功能、会话记录保存、访客体验模式、微信公众号+邮箱+手机号注册登录、后续其他免费版本功能更新...

1.2 版本更新日志

最新功能更新计划:

  • 将支持OpenAI GPT全模型+国内AI全模型
  • 系统UI更新
  • MJ专业绘画功能更新(10月初)

9月底左右更新功能:

OpenAI GPT全模型+国内AI全模型接口开发中!


目前系统最新版本SparkAi【V2.6.1】

9月核心功能更新日志

  • 增加访客体验功能、可配置每日未登录使用额度、注册账号可同步访客使用数据。

  • 增加后台底部自定义配置版权信息。

  • 增加虎皮椒支付自定义网关。

  • 违规敏感词检测记录功能。

8月核心功能更新日志

  • 优化key池额度耗尽锁定逻辑(8月26日更新)!

  • 优化MJ绘画连接、优化CSS、部分页面样式修改(8月26日更新)!

  • 增加手机端签到领取免费次数功能、优化后台总计绘画数量逻辑!

  • 新增 MJ 官方图片重新生成指令功能

  • 同步官方 Vary 指令 单张图片对比加强 Vary(Strong) | Vary(Subtle)

  • 同步官方 Zoom 指令 单张图片无限缩放 Zoom out 2x | Zoom out 1.5x

二、系统模块演示

https://ai.idcyli.com

三、系统功能模块

3.1 ChatGPT模型提问

支持GPT联网提问

3.2 Prompt应用(知识库)

3.2.1 Prompt应用广场

3.2.2 支持用户自定义Prompt

3.3 Midjourney专业绘画

  • 支持同步官方图片重新生成指令

  • 同步官方 Vary 指令 单张图片对比加强 Vary(Strong) | Vary(Subtle)

  • 同步官方 Zoom 指令 单张图片无限缩放 Zoom out 2x | Zoom out 1.5x

3.3.1 文生图

3.3.2 以图生图

3.4 Dall-E2基础绘画

3.5 mind思维导图

3.6 AI绘画广场

四、SparkAi系统介绍

本系统使用Nestjs和Vue3框架技术,持续集成AI能力到本系统!

4.1 前台演示站点

系统演示站点:https://ai.idcyli.com

4.2演示后台站点

  1. 演示系统后台:Spark-AI

  2. 演示后台账号密码:admin,123456

4.3 SparkAi源码下载

五、搭建部署教程

以下教程使用宝塔搭建!

5.1基础env环境配置

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

  • 授权码授权ip配置

  • 邮件服务配置

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

5.2 env文件代码

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

# mj并发数
CONCURRENCY=3

# jwt token
JWT_SECRET=chat-spark
# jwt token 过期时间
JWT_EXPIRESIN=7d
# 自定义端口
PORT=9520

六、环境安装

  • Nginx >= 1.19.8

  • MySQL >= 5.7或者MySQL 8.0

  • PHP-7.4

  • PM2管理器 5.5

  • Redis 7.0.11

  • Node版本:>=16.19.1

详细搭建教程:

6.1 Node版本

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

  • 切换Node版本为:v16.19.1

6.2 安装pnpm模块

6.3 安装Redis

七、部署跑起来

7.1 新建站点

宝塔 - 网站 - 添加站点

7.2 开启HTTPS安全访问

7.2.1 使用自己的ssl证书

7.2.2 Let's Encrypt 证书申请

如果没有证书,就使用宝塔免费证书,申请Let's Encrypt

7.3 上传源码

删除原始文件

将程序上传并解压到网站根目录下

7.3.1 配置.env文件

在宝塔直接双击 .env.example 文件编辑,或在终端vim编辑

配置完成后将文件后缀删掉、文件名字就是 .env

7.3.2 此时再次打开终端确定我们需要是否有node相关环境

node -v
npm -v
pnpm -v

如果没有,就需要手动下载:

依次执行下面两条命令,安装node环境

curl -fsSL https://rpm.nodesource.com/setup_16.x | sudo bash - sudo yum install nodejs -y

然后安装 pnpm、pm2 模块

npm i pm2 pnpm -g

7.4 启动项目

7.4.1 开启端口

宝塔面板安全开启9520端口和3306端口

7.4.2 安装依赖

使用终端切换到网站目录

cd /www/wwwroot/网站目录

或者直接在网站根目录下达赖ssh终端

使用 pnpm i 命令安装依赖

pnpm i

7.4.3 启动项目

使用 pnpm start 命令启动项目

pnpm start

7.4.4 查看启动日志

输入 pm2 log 查看详细日志、看到下图表示成功!

pm2 log

7.4.5 添加反向代理

添加 9520 端口反向代理,宝塔安全需要开启该端口,不然无法访问

八、 使用系统

部署完成!此时通过域名即可访问SparkAi系统了!

8.1 管理后台

默认前台地址为域名地址 默认后台地址则为: 域名地址/sparkai/admin

默认超级管理员账号是:super

默认超级管理员密码:spark123

此时时我们就安装完成了!

8.2 修改超级管理员默认密码

登录后,请先修改超级管理员默认密码

8.3 搭建完成

配置好KEY池测试:

九、后台配置&系统版本更新

9.1 后台配置&系统版本更新

系统配置教程和其他教程请直接点击博客首页查看!

更多推荐

【lesson8】gdb的介绍及使用

文章目录gdb的介绍什么是gdb?背景认识gdb的使用gcc/g++程序文件名-o将来生成的可执行程序名-ggdb调试命令gdb可执行程序名quitlistl0Enterr(run)b(breakpoint)+n(行号)infobd(delete)+断点编号n(next)p(printf)+变量名s(step)btfi

Python中的文件I/O操作:常见问题与解决方案

目录常见问题代码示例文件路径问题:文件权限问题:文件编码问题:文件读写模式问题:文件未关闭问题:大文件处理问题:文件读写过程中的异常处理问题:文件内容格式问题:跨平台换行符问题:二进制文件处理问题:总结在Python编程中,文件I/O操作是常见的任务之一。无论是读取文件内容、写入新数据还是追加信息,文件I/O操作都是不

客观题:Android基础【基础题】

一.单选题(共6题,60分)1.(单选题,10分)Android四层架构中,应用框架层使用的是什么语法?A.JavaB.AndroidC.CD.C++正确答案:AAndroid四层架构通常指的是Android应用的四个关键组件,包括:应用层(ApplicationLayer):这是最顶层的层次,包括用户界面(UI)和应

GaussDB技术解读系列:数据库迁移创新实践

近日,以“数智赋能共筑未来”为主题的第14届中国数据库技术大会(DTCC2023)在北京举行,在GaussDB“五高两易”核心技术,给世界一个更优选择的专场,华为云数据库生态工具研发总监窦德明分享了GaussDB数据库的迁移创新实践。本篇将分享GaussDB数据库迁移的创新实践。易迁移能力是企业数据库替换选型的关键考量

华硕电脑怎么录屏?分享实用录制经验!

“华硕电脑怎么录屏呀,刚买的笔记本电脑,是华硕的,自我感觉挺好用的,但是不知道怎么录屏,最近刚好要录一个教程,怎么都找不到在哪里录制,有人能教教我吗?”随着电脑技术的不断发展,人们越来越依赖电脑进行工作和娱乐。录屏功能作为电脑的一项重要功能,已经逐渐成为人们日常生活中的必备工具。华硕作为知名的电脑品牌,为用户提供了便捷

C语言——自定义类型结构体_学习笔记

结构体的基本概念结构体是一种用户自定义的数据类型,可以包含多个不同类型的变量。通过使用结构体,我们可以将相关联的数据组织在一起,便于管理和使用。结构体的声明正常的结构体声明在C语言中,结构体(struct)指的是一种数据结构,是C语言中聚合数据类型的一类。结构体可以包含多个不同类型的数据成员,例如:int、float、

linux的应用线程同步与驱动同步机制

同步机制在Linux应用程序和内核中的驱动程序中,有一些常见的同步机制用于实现线程或进程之间的同步和数据访问保护。下面是它们的一些主要机制:Linux应用程序中的同步机制:互斥锁(Mutex):用于保护共享资源,确保只有一个线程可以访问该资源。应用程序可以使用pthread_mutex_t类型的互斥锁,使用pthrea

爬虫入门基础:深入解析HTTP协议的工作过程

目录一、HTTP协议简介二、HTTP协议的工作过程三、请求方法与常见用途四、请求头与常见字段五、状态码与常见含义六、进阶话题和注意事项总结在如今这个数字化时代,互联网已经成为我们获取信息、交流和娱乐的主要渠道。而在互联网中,HTTP协议则扮演着至关重要的角色。HTTP,全称HypertextTransferProtoc

SpringMVC之JSR303和拦截器

目录一.JSR303二.JSR常用的注解三.JSR快速入门四.拦截器⭐⭐⭐拦截器和过滤器有什么不一样,或者它们的区别是什么??五.拦截器快速入门--登录的案例一.JSR303JSR303是Java规范的一部分,全称为BeanValidation框架。它定义了一组基于标注的验证注解,用于验证Java对象的属性值的合法性。

【Java 基础篇】ThreadPoolExecutor 详解

多线程编程是现代应用程序开发中的一个重要主题。为了更有效地管理和利用多线程资源,Java提供了丰富的线程池支持。ThreadPoolExecutor类是Java中用于创建和管理线程池的核心类之一,本文将详细介绍ThreadPoolExecutor的使用方法和原理。线程池的基本概念在深入探讨ThreadPoolExecu

leetcode 54. 螺旋矩阵

1.题解如果一条边从头遍历到底,则下一条边遍历的起点随之变化选择不遍历到底,可以减小横向、竖向遍历之间的影响一轮迭代结束时,4条边的两端同时收窄1一轮迭代所做的事情变得很清晰:遍历一个“圈”,遍历的范围收缩为内圈一层层向里处理,按顺时针依次遍历:上、右、下、左。不再形成“环”了,就会剩下:一行或一列,然后单独判断矩阵不

热文推荐