最新AI创作系统+ChatGPT商业运营源码+支持GPT4.0+支持国内AI模型/支持AI绘画

news2024/12/23 12:40:54

一、AI创作系统

SparkAi系统是基于很火的GPT提问进行开发的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更新(开发中)
  • Midjourney绘画局部重绘功能(开发中)

国内模型包括不限于

OpenAI GPT全模型+百度云 文心一言模型、微软Azure模型、阿里云 通义千问模型、清华智谱AI ChatGLM、科大讯飞 星火认知大模型等! OpenAI GPT全模型+国内AI全模型接口开发中!9月底更新!

1.3 更新日志

当前官方站点版本【V2.6.2】更新功能

【V2.6.2】9月核心功能更新日志(9.17更新)

  • 新增MJ提交绘画,中文自动翻译英文功能
  • 修复非会员用户开通限时会员,会员次数为:原永久次数+会员次数 BUG
  • 优化思维导图生成逻辑,防止只生成两级大纲
  • 修复后台关闭签到功能,手机端仍然显示bug

【V2.6.1】9月核心功能更新日志

  • 增加访客体验功能、可配置每日未登录使用额度、注册账号可同步访客使用数据
  • 增加后台底部自定义配置版权信息
  • 增加虎皮椒支付自定义网关
  • 违规敏感词检测记录功能

【V2.6.0】8月核心功能更新日志

  • 优化key池额度耗尽锁定逻辑

  • 优化MJ绘画连接、优化CSS、部分页面样式修改

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

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

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

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

二、系统模块演示

https://ai.idcyli.comicon-default.png?t=N7T8http://SparkAI

三、系统功能模块

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源码下载

  • SparkAi-点击下载(https://pan.baidu.com/s/1_jnAsU_aC_i_mWSjIfyQgw?pwd=vw0o)

五、搭建部署教程

以下教程使用宝塔搭建!

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 后台配置&系统版本更新

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

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

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

相关文章

多线程的学习上篇

座右铭: 天行健,君子以自强不息;地势坤,君子以厚德载物. 引入进程这个概念的目的 引入进程这个概念,最主要的目的,是为了解决“并发编程"这样的问题. 这是因为CPU进入了多核心的时代 要想进一步提高程序的执行速度,就需要充分的利用CPU 的多核资源…

部署Envoy Sidecar代理:演示如何将Envoy作为Sidecar代理注入到应用容器中

🌷🍁 博主猫头虎 带您 Go to New World.✨🍁 🦄 博客首页——猫头虎的博客🎐 🐳《面试题大全专栏》 文章图文并茂🦕生动形象🦖简单易学!欢迎大家来踩踩~🌺 &a…

【pytest】 pytest拓展功能 PermissionError问题

目录 1. pytest-html 1.1 PermissionError: [Errno 13] Permission denied: D:\\software\\python3\\anconda3\\Lib\\site-packages\\pytest_html\\__pycache__\\tmp_ttoasov 1.2错误原因 2. 失败用例重试 3. 用例并行执行 pytest-parallel 1. pytest-html 管理员打开 A…

使用postman测试邮件接口

首先找到token的位置 找到token的值之后 复制接口文档里的地址,在接口文档给的底之前前加api 配置token 在params参数里增加token参数 值复制浏览器里的token参数 发送send就ok了

交换机的工作原理(含实例,华为ensp操作)

目录​​​​​​​ ​​​​​​​1.交换机学习和转发 案例 1.设置静态地址表项 2.配置黑洞mac地址表项 1.交换机学习和转发 交换机工作在数据链路层。当交换机从某个端口收到一个帧时,它并不是向所有的接口转发此帧,而是根据此帧的目的MAC地址&a…

JMeter:接口测试基础介绍

一、什么是接口 接口是非常抽象的概念,先来看下中国最大的综合性辞典《辞海》是怎样定义接口的: 两个不同系统或系统中两个不同特性部分的交接部分。一般分硬件接口和软件接口两种。前者是为连接计算机各部分之间、计算机与计算机之间、计算机与外部系统…

Matlab论文插图绘制模板第114期—带图形标记的图

之前的文章中,分享了Matlab带线标记的图: 带阴影标记的图: 带箭头标记的图: 进一步,分享一下带图形标记的图,先来看一下成品效果: 特别提示:本期内容『数据代码』已上传资源群中&…

9.18 QT作业

mainwindow.h QT_BEGIN_NAMESPACE namespace Ui { class MainWindow; } QT_END_NAMESPACEclass MainWindow : public QMainWindow {Q_OBJECTpublic:MainWindow(QWidget *parent nullptr);~MainWindow();signals:void jump(); //自定义跳转信号函数private slots:vo…

小插曲 -- 使用Linux编写 判断程序是否在运行的小程序

编写思路 首先,在执行“ps -elf |grep xxx”时,如果xxx存在,通常会有两条结果,一个是xxx对应的PID,一个则是grep对应的PID,但是如果我希望执行命令后,xxx存在就只有xxx对应的PID,不…

Vue3函数式编程

文章目录 前言一、三种编程风格1.template2.jsx/tsx3.函数式编写风格 二、函数式编程1.使用场景2.参数3.例子3.render渲染函数 总结 前言 本文主要记录vue3中的函数式编程以及其他编程风格的简介 一、三种编程风格 1.template Vue 使用一种基于 HTML 的模板语法,…

QML元素定位器:Row、Colum、Grid、Flow、定位器嵌套以及Repeater用法

在QML中,定位器(Positioner)是一种特殊的组件,用于管理其子项的位置。定位器确保其子项始终根据给定的规则排列。Qt Quick提供了几种定位器,用于处理不同的布局需求。 以下是一些常用的QML定位器: Row:将其子项沿水平线排列。Column:将其子项沿垂直线排列。Grid:将其子…

6.3 字符数组

思维导图: 前言: 主要内容: 前言内容整理 字符型数据和存储 字符型数据是依据字符的ASCII代码存储在内存单元中,通常占用一个字节的空间。ASCII代码可以被认为是整数,因此在C99标准中,字符类型被归类为整…

若依DataScopeAspect数据权限解析和ew.customSqlSegment源码解析

目录 一、DataScopeAspect使用场景二、ew.customSqlSegment${ew.customSqlSegment}build:this.normal : queryWrapper where 条件不为空的时候,才有normalget第二次 进来add(), 已经拼接完 ew.customSqlSegment 了, 因为DataPermission 注解进…

开发一个训练LORA的WebUI

文章目录 效果原理说明代码 效果 原理 基于开源项目kohya-ss/sd-scripts增加了Gradio UI,精简了训练参数,更适合初级“炼丹宝宝”的炼丹炉! 核心思想还是比较简单的,通过Gradio UI来收集设置的训练参数,并通过python的…

全国职业技能大赛云计算--高职组赛题卷⑤(私有云)

全国职业技能大赛云计算--高职组赛题卷⑤(私有云) 第一场次题目:OpenStack平台部署与运维任务1 基础运维任务(5分)任务2 OpenStack搭建任务(15分)任务3 OpenStack云平台运维(15分&am…

渗透测试信息收集方法

一、域名收集 OneForAll输出表格方便筛选(status、title) layer5.0saintsec更新版子域名挖掘机 百度云链接: https://pan.baidu.com/s/1VQ2HLocs39B72ElysskPog 提取码:121l subdomainsBurte,python2子域名爆破 https://github.com/y1ng1996/lijiejie_subDomainsBru…

偶现来电时手机操作出现重启

问题描述:偶现来电时手机操作出现重启 问题分析:从系统Log看 09-06 10:22:44.791829 1400 1425 W Watchdog: *** WATCHDOG KILLING SYSTEM PROCESS: Blocked in handler on main thread (main) 09-06 10:22:44.794133 1400 1425 W Watchdog: main …

Python Web开发:构建动态Web应用

💂 个人网站:【工具大全】【游戏大全】【神级源码资源网】🤟 前端学习课程:👉【28个案例趣学前端】【400个JS面试题】💅 寻找学习交流、摸鱼划水的小伙伴,请点击【摸鱼学习交流群】 Python已经成为一门流行…

功能基础篇2——常用哈希和加密算法介绍及Python相关库与实现

加解密 https://docs.python.org/3/library/crypto.html 三方库推荐,https://cryptography.io/en/latest/ Criptography,https://pypi.org/project/cryptography/ PyCryptodome,a fork of PyCrypto,https://pypi.org/project/…

vue3+ts 实现移动端分页

current 开始页码 pageSize 结束页码 const sizeref<number>(10) //一页显示十条 const eachCurrentPageref<number>(1) //默认是第一页interface ITdata {current: number,pageSize: number,// xxxx 其他参数... } const selectApplyList ref<…