当前位置: 首页 > news >正文

AI智能问答系统源码/AI绘画商业系统/支持GPT联网提问/支持Midjourney绘画

一、AI创作系统

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

1.1 程序核心功能

  1. AI提问:程序已支持GPT3.5、GPT4.0提问、支持GPT联网提问
  2. 国内模型:OpenAI GPT全模型+百度云 文心一言模型、微软Azure模型、阿里云 通义千问模型、清华智谱AI ChatGLM、科大讯飞 星火认知大模型等! OpenAI GPT全模型+国内AI全模型接口开发中!即将更新!
  3. AI绘画:Midjourney绘画(全自定义调参)、Midjourney以图生图、Dall-E2绘画
  4. 微信公众号+邮箱+手机号注册登录
  5. 一键智能思维导图生成
  6. 应用广场知识库,支持用户前台自定义添加私密或共享
  7. AI绘画广场(画廊)
  8. 邀请+代理分销模式
  9. 用户每日签到功能
  10. 会话记录同步保存
  11. 支持对接微信官方支付、易支付、码支付、虎皮椒支付等
  12. 自定义聚合会员套餐
  13. 其他核心功能
  14. 后续其他免费版本功能更新...

1.2 功能更新计划

  • 将支持OpenAI GPT全模型+国内AI全模型(开发中,即将上线!)
  • 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.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源码下载

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

4.4 原文详细部署教程

SparkAi系统部署搭建文档SparkAi系统部署搭建文档https://www.idcyli.com/33.html

五、搭建部署教程

以下教程使用宝塔搭建!

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相关环境

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

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

相关文章:

AI智能问答系统源码/AI绘画商业系统/支持GPT联网提问/支持Midjourney绘画

一、AI创作系统 SparkAi创作系统是基于国外很火的ChatGPT进行开发的AI智能问答系统和AI绘画系统。本期针对源码系统整体测试下来非常完美,可以说SparkAi是目前国内一款的ChatGPT对接OpenAI软件系统。那么如何搭建部署AI创作ChatGPT?小编这里写一个详细图…...

玩具玩偶配送经营商城小程序的作用是什么?

玩具玩偶是小孩子们喜欢的产品,其市场需求度很高,以前玩具店里总是不缺乏客户,但现在随着人们生活品牌提升及消费形式改变,无论玩具厂商还是门店经销商都面对着不少痛点: 如拓客引流难、线上销售经营难、营销难、分销…...

latex表格内容换行

问题描述: 在用latex表格中编写公式时,可能出现公式太长,表格中后面的内容不能在文档中呈现,如下图1,故要进行行内内容的换行,使内容呈现完全而传统的\换行后,换行内容会顶格,如图2。 解决方…...

2023 牛客国庆day4 【10.2训练补题】

目录 B-Basic Gcd Problem&#xff08;素数筛快速幂&#xff09; H-Harder Gcd Problem&#xff08;素数&#xff09; B-Basic Gcd Problem&#xff08;素数筛快速幂&#xff09; 打表找规律发现答案为 (n质因子数目)^c #include<bits/stdc.h> using namespace std;…...

android的USB开发时 mUsbManager.getDeviceList()获取都为空

类提供的主要方法有&#xff1a; getDeviceList() 获得设备列表&#xff0c;返回的是一个HashMap.;hasPermission(UsbDevice device) 判断你的应用程序是否有接入此USB设备的权限&#xff0c;如果有则返回真&#xff0c;否则返回false.openDevice(UsbDevice device) 打开USB设…...

SpringCloud Alibaba - Seata 部署 TC 服务,并集成微服务

目录 一、Seata 架构 1.1、Seata 架构重要角色 1.2、部署 TC 服务 1.2.1、前言 1.2.2、下载 seata-server 包&#xff0c;解压 1.2.3、修改配置 1.2.4、在 nacos 中添加配置 1.2.5、创建数据库表 1.2.6、启动 TC 服务 1.3、微服务集成 Seata 1.3.1、引入依赖 1.3.2、…...

Java基础面试,接口和抽象类的区别?

接口和抽象类的区别&#xff1f; 抽象类可以存在普通成员函数&#xff0c;而接口中只能存在public abstract 方法。抽象类中的成员变量可以是各种类型的&#xff0c;而接口中的成员变量只能是public static final类型的.抽象类只能继承一个&#xff0c;接口可以实现多个。 接…...

《视觉 SLAM 十四讲》V2 第 4 讲 李群与李代数 【什么样的相机位姿 最符合 当前观测数据】

P71 文章目录 4.1 李群与李代数基础4.1.3 李代数的定义4.1.4 李代数 so(3)4.1.5 李代数 se(3) 4.2 指数与对数映射4.2.1 SO(3)上的指数映射罗德里格斯公式推导 4.2.2 SE(3) 上的指数映射SO(3),SE(3),so(3),se(3)的对应关系 4.3 李代数求导与扰动模型4.3.2 SO(3)上的李代数求导…...

【深蓝学院】手写VIO第4章--基于滑动窗口算法的 VIO 系统:可观性和 一致性--笔记

0. 内容 T1. 参考SLAM14讲P247直接可写&#xff0c;注意 ξ 1 , ξ 2 \xi_1,\xi_2 ξ1​,ξ2​之间有约束&#xff08;关系&#xff09;。 套用舒尔补公式&#xff1a; marg掉 ξ 1 \xi_1 ξ1​之后&#xff0c;信息被传递到 L 1 和 L 2 L_1和L_2 L1​和L2​之间了。 T2....

mfc 动态加载dll库,Mat转CImage,读ini配置文件,鼠标操作,在edit控件上画框,调试信息打印

动态加载dll库 h文件中添加 #include "mydll.h" #ifdef UNICODE //区分字符集 #define LoadLibrary LoadLibraryW #else #define LoadLibrary LoadLibraryA #endif // !UNICODEtypedef double(*mydllPtr)(int, int);类内添加&#xff1a; mydllPtr m_mydll; cpp…...

索尼 toio™应用创意开发征文|检测工业平台震动

虽然索尼toio Q宝机器人主要是为儿童教育娱乐开发的&#xff0c;但我认为它在工业等领域也有一定应用潜力。例如&#xff0c;工业领域经常会有某些平面在实际作业中持续震动&#xff0c;导致零件过疲劳、平台失去稳定等问题。而这样的平台往往位于机器内部&#xff0c;从外部很…...

【已解决】 Expected linebreaks to be ‘LF‘ but found ‘CRLF‘.

问题描述 团队都是用mac&#xff0c;只有我自己是windows&#xff0c;启动项目一直报错 Expected linebreaks to be ‘LF‘ but found ‘CRLF‘. 但我不能因为自己的问题去改团队配置&#xff0c;也尝试过该vscode配置默认是LF还是报错 思路 看文章vscode如何替换所有文件的…...

Java8 Lambda.stream.sorted() 方法使用浅析分享

文章目录 Java8 Lambda.stream.sorted() 方法使用浅析分享sorted() 重载方法一升序降序 sorted() 重载方法二升序降序多字段排序 mock代码 Java8 Lambda.stream.sorted() 方法使用浅析分享 本文主要分享运用 Java8 中的 Lambda.stream.sorted方法排序的使用&#xff01; sorted…...

Neural Networks for Fingerprint Recognition

Neural Computation ( IF 3.278 ) 摘要&#xff1a; 在采集指纹图像数据库后&#xff0c;设计了一种用于指纹识别的神经网络算法。当给出一对指纹图像时&#xff0c;算法输出两个图像来自同一手指的概率估计值。在一个实验中&#xff0c;神经网络使用几百对图像进行训练&…...

ChatGPT推出全新功能,引发人工智能合成声音担忧|百能云芯

人工智能AI科技企业OpenAI公司25日宣布&#xff0c;其聊天应用程序ChatGPT如今具备「看、听、说」能力&#xff0c;至少能够理解口语、用合成语音回应并且处理图像&#xff1b;但专家忧心&#xff0c;以假乱真与深度伪造的乱象可能变本加厉。 国家广播公司新闻网(NBC News)报导…...

Java 实现遍历一个文件夹,文件夹有100万数据,获取到修改时间在2天之内的数据

目录 1 需求2 实现1&#xff08;第一种方法&#xff09;2 实现2 &#xff08;推荐使用这个&#xff0c;快&#xff09;3 实现3&#xff08;推荐&#xff09; 1 需求 现在有一个文件夹&#xff0c;里面会一直存数据&#xff0c;动态的存数据&#xff0c;之后可能会达到100万&am…...

持续集成部署-k8s-命令行工具:基础命令的使用

持续集成部署-k8s-命令行工具:基础命令的使用 1. 资源类型与别名2. 资源操作2.1 创建对象2.2 显示和查找资源2.3 更新资源2.4 修补资源2.5 编辑资源2.6 scale 资源2.7 删除资源3. 格式化输出1. 资源类型与别名 资源类型缩写别名clusterscomponentstatusescsconfigmapscmdaemon…...

使用python脚本的时间盲注完整步骤

文章目录 一、获取数据库名称长度二、获取数据库名称三、获取表名总长度四、获取表名五、获取指定表列名总长度六、获取指定表列名七、获取指定表指定列的表内数据总长度八、获取指定表指定列的表内数据 一、获取数据库名称长度 测试环境是bwapp靶场 SQL Injection - Blind - …...

C++项目:仿mudou库one thread one loop式并发服务器实现

目录 1.实现目标 2.HTTP服务器 3.Reactor模型 3.1分类 4.功能模块划分: 4.1SERVER模块: 4.2HTTP协议模块: 5.简单的秒级定时任务实现 5.1Linux提供给我们的定时器 5.2时间轮思想&#xff1a; 6.正则库的简单使用 7.通用类型any类型的实现 8.日志宏的实现 9.缓冲区…...

【算法训练-贪心算法 一】买卖股票的最佳时机II

废话不多说&#xff0c;喊一句号子鼓励自己&#xff1a;程序员永不失业&#xff0c;程序员走向架构&#xff01;本篇Blog的主题是【贪心算法】&#xff0c;使用【数组】这个基本的数据结构来实现&#xff0c;这个高频题的站点是&#xff1a;CodeTop&#xff0c;筛选条件为&…...

Vue3 + Element Plus + TypeScript中el-transfer穿梭框组件使用详解及示例

使用详解 Element Plus 的 el-transfer 组件是一个强大的穿梭框组件&#xff0c;常用于在两个集合之间进行数据转移&#xff0c;如权限分配、数据选择等场景。下面我将详细介绍其用法并提供一个完整示例。 核心特性与用法 基本属性 v-model&#xff1a;绑定右侧列表的值&…...

PPT|230页| 制造集团企业供应链端到端的数字化解决方案:从需求到结算的全链路业务闭环构建

制造业采购供应链管理是企业运营的核心环节&#xff0c;供应链协同管理在供应链上下游企业之间建立紧密的合作关系&#xff0c;通过信息共享、资源整合、业务协同等方式&#xff0c;实现供应链的全面管理和优化&#xff0c;提高供应链的效率和透明度&#xff0c;降低供应链的成…...

Objective-C常用命名规范总结

【OC】常用命名规范总结 文章目录 【OC】常用命名规范总结1.类名&#xff08;Class Name)2.协议名&#xff08;Protocol Name)3.方法名&#xff08;Method Name)4.属性名&#xff08;Property Name&#xff09;5.局部变量/实例变量&#xff08;Local / Instance Variables&…...

系统设计 --- MongoDB亿级数据查询优化策略

系统设计 --- MongoDB亿级数据查询分表策略 背景Solution --- 分表 背景 使用audit log实现Audi Trail功能 Audit Trail范围: 六个月数据量: 每秒5-7条audi log&#xff0c;共计7千万 – 1亿条数据需要实现全文检索按照时间倒序因为license问题&#xff0c;不能使用ELK只能使用…...

OkHttp 中实现断点续传 demo

在 OkHttp 中实现断点续传主要通过以下步骤完成&#xff0c;核心是利用 HTTP 协议的 Range 请求头指定下载范围&#xff1a; 实现原理 Range 请求头&#xff1a;向服务器请求文件的特定字节范围&#xff08;如 Range: bytes1024-&#xff09; 本地文件记录&#xff1a;保存已…...

【算法训练营Day07】字符串part1

文章目录 反转字符串反转字符串II替换数字 反转字符串 题目链接&#xff1a;344. 反转字符串 双指针法&#xff0c;两个指针的元素直接调转即可 class Solution {public void reverseString(char[] s) {int head 0;int end s.length - 1;while(head < end) {char temp …...

MySQL中【正则表达式】用法

MySQL 中正则表达式通过 REGEXP 或 RLIKE 操作符实现&#xff08;两者等价&#xff09;&#xff0c;用于在 WHERE 子句中进行复杂的字符串模式匹配。以下是核心用法和示例&#xff1a; 一、基础语法 SELECT column_name FROM table_name WHERE column_name REGEXP pattern; …...

Python 高效图像帧提取与视频编码:实战指南

Python 高效图像帧提取与视频编码:实战指南 在音视频处理领域,图像帧提取与视频编码是基础但极具挑战性的任务。Python 结合强大的第三方库(如 OpenCV、FFmpeg、PyAV),可以高效处理视频流,实现快速帧提取、压缩编码等关键功能。本文将深入介绍如何优化这些流程,提高处理…...

上位机开发过程中的设计模式体会(1):工厂方法模式、单例模式和生成器模式

简介 在我的 QT/C 开发工作中&#xff0c;合理运用设计模式极大地提高了代码的可维护性和可扩展性。本文将分享我在实际项目中应用的三种创造型模式&#xff1a;工厂方法模式、单例模式和生成器模式。 1. 工厂模式 (Factory Pattern) 应用场景 在我的 QT 项目中曾经有一个需…...

Android写一个捕获全局异常的工具类

项目开发和实际运行过程中难免会遇到异常发生&#xff0c;系统提供了一个可以捕获全局异常的工具Uncaughtexceptionhandler&#xff0c;它是Thread的子类&#xff08;就是package java.lang;里线程的Thread&#xff09;。本文将利用它将设备信息、报错信息以及错误的发生时间都…...