智能AI问答系统ChatGPT网站系统源码+Midjourney绘画+支持GPT-4-Turbo模型+支持GPT-4图片理解能力

一、AI创作系统

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

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

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

OpenAI GPT全模型+国内AI全模型

新增Dall-E3绘画(可直接对话文生图)

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

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

AI模型提问

AI绘画

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

1.1 程序核心功能

已支持OpenAI GPT全模型+国内AI全模型+Midjourney绘画池系统!

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

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

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

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

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

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

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

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

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

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

  11. AI绘画广场(画廊)

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

  13. 会话记录同步保存

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

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

  16. 其他核心功能

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

1.2 更新日志

SparkAi最近大版本更新日志:

【V3.3.1】更新功能(2023.11.24号更新)

  1. 新增支持GPT-4-Turbo-Vision插件

  2. 新增已支持GPT-4图片对话能力(上传图片并识图理解对话)可同时支持5张图同时上传对话

  3. OpenAI DALL-E3文生图对话形式及图片大小占比优化,效果与OpenAI PLUS一致

  4. 优化合并DALL-E3和GPT-4-Turbo-Vision的计费方式为GPT-4-Turbo,只需配置gpt-4-1106-Preview模型即可

  5. 新增MJ绘画系统并发执行数量设置,可后台设置系统并发数量

  6. 新增阿里云OSS存储可配置自定义域名,实现用户可以直接预览图片

  7. 新增大模型Agent代理多插件调用处理任务并总结返回结果

  8. 修复GPT联网提问失效和不稳定问题(后期将开发新的联网功能,可控制联网模块)

  9. 优化MJ单次绘画查询的超时时间为4分钟,应对MJ官方慢速绘画太慢可能导致绘画失败的问题

  10. 修复绘画存储不走绘画池Discord-CND代理,导致部分时候存储失败问题

  11. 新增DALL-E3文生图连续对话可对同一张图提出修改意见,DALL-E3文生图插件的调用时机由大模型理解用户提问动态择机调用。与OpenAI同步,支持gpt-4、gpt-4-1106-preview、gpt-4-0613、gpt-3.5-turbo、gpt-3.5-turbo-1106、gpt-3.5-turbo-0613模型调用。

二、系统模块演示

SparkAi官方演示站:

https://ai.sparkaigf.com

管理后端:

https://ai.sparkaigf.com/sparkai/admin

测试账号:admin、123456

如不能访问请查看《SparkAi系统详情及搭建部署文档》获取最新地址。

三、系统功能模块

3.1 ChatGPT模型提问

支持GPT联网提问提问

3.2 Prompt应用

3.2.1 Prompt应用

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.4 Dall-E3绘画(可直接对话文生图)

3.5 Mind思维导图生成

3.6 AI画廊

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

四、搭建部署教程

4.1 基础env环境配置

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

  • 授权码授权ip配置

  • 邮件服务配置

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

4.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=
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.1 Node版本

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

切换Node版本为:v16.19.1

5.2 安装pnpm模块

5.3 安装Redis

六、部署跑起来

6.1 新建站点

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

6.2 开启HTTPS

6.2.1使用自己的ssl证书

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

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

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

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

相关文章

如何进行微服务测试?

微服务测试是一种特殊的测试类型,因为它涉及到多个独立的服务。以下是进行微服务测试的一般性步骤: 1. 确定系统架构 了解微服务架构对成功测试至关重要。确定每个微服务的职责、接口、依赖项和通信方式。了解这些信息可以帮助您更好地规划测试用例和测…

Springboot——HttpClient入门(Get和Post)

1. HttpClient 1.1 介绍 HttpClient 是Apache Jakarta Common 下的子项目,可以用来提供高效的、最新的、功能丰富的支持 HTTP 协议的客户端编程工具包,并且它支持 HTTP 协议最新的版本和建议。 HttpClient作用: 发送HTTP请求接收响应数据…

运维知识点-SQLServer/mssql

SQLServer/mssql Microsoft structed query language常见注入提权 技术点:0x00 打点前提 0x01 上线CS0x02 提权0x03 转场msf0x04 抓取Hash0x05 清理痕迹 Microsoft structed query language 常见注入 基于联合查询注入 order by 判断列数(对应数据类型…

从零开始的c语言日记day38——数组参数,指针参数

一维数组传参 要把数组或者指针传给函数,那函数参数如何设计? 上面各写法有问题嘛? 第一个没问题 第二个没问题 第三个没问题 第四个没问题 第五个解析:定义int*arr2[20]为20个int*类型的数组,test2之后用的是ar…

计算机毕业设计 基于协同推荐的白酒销售管理系统的设计与实现 Java实战项目 附源码+文档+视频讲解

博主介绍:✌从事软件开发10年之余,专注于Java技术领域、Python人工智能及数据挖掘、小程序项目开发和Android项目开发等。CSDN、掘金、华为云、InfoQ、阿里云等平台优质作者✌ 🍅文末获取源码联系🍅 👇🏻 精…

鸿蒙(HarmonyOS)应用开发——应用程序入口UIAbility

概述 UIAbility是一种包含用户界面的应用组件,主要用于和用户进行交互 UIAbility是系统调度的单元,为应用提供窗口在其中绘制界面 应用程序的几种交互界面形式 点击桌面图标进入应用 一个应用拉起另一个应用 最近任务列表切回应用 每一个UI Abili…

基于ora2pg迁移Oracle19C到postgreSQL14

📢📢📢📣📣📣 哈喽!大家好,我是【IT邦德】,江湖人称jeames007,10余年DBA及大数据工作经验 一位上进心十足的【大数据领域博主】!😜&am…

【刷题】链表

链表 206. 反转链表 给你单链表的头节点 head ,请你反转链表,并返回反转后的链表。 示例 1: 输入:head [1,2,3,4,5] 输出:[5,4,3,2,1] 示例 2: 输入:head [1,2] 输出:[2,1] 示…

iview弹窗提交问题优化

如上图所示 有时候在弹窗中 有比较复杂的表格组件数据 这时候 你如果把提交按钮直接放在弹窗上 就会很麻烦 不仅要处理表格的验证 同时也要维护弹窗的开启和关闭状态 不是很自由 这时候 就看见把提交按钮单独摘出来 可以在自建的按钮上 判断各种状态 是不是很方便呢

智慧城市包括哪些内容?有哪些智慧城市物联网方案?

数字城市、智慧城市的发展,离不开对公共基础设施的数字化、智慧化改造升级。通过融合边缘计算、5G、物联网、数字孪生、人工智能等新一代信息技术,助力传统公共基础设施提升增强全流程数据能力、计算能力、服务能力,从而不断丰富公共基础设施…

iOS--UIPickerView学习

UIPickerView 使用场景和功能UIPickerView遵循代理协议和数据源协议创建对象,添加代理必须实现的代理方法非必要实现的方法demo用到的其他函数提示 效果展示 使用场景和功能 UIPickerView 最常见的用途是作为选项选择器,允许用户从多个选项中选择一个。…

C++11——initializer_list

initializer_list的简介 initializer_list是C11新出的一个类型,正如类型的简介所说,initializer_list一般用于作为构造函数的参数,来让我们更方便赋值 但是光看这些,我们还是不知道initializer_list到底是个什么类型,…

《尚品甄选》:后台系统——分类品牌和规格管理(debug一遍)

文章目录 一、分类品牌管理1.1 表结构介绍1.2 列表查询1.3 添加功能1.4 修改功能1.5 删除功能 二、商品规格管理2.1 表结构介绍2.2 列表查询2.3 添加功能2.4 修改功能2.5 删除功能 一、分类品牌管理 分类品牌管理就是将分类的数据和品牌的数据进行关联,分类数据和品…

【java】图书管理系统

完整代码链接:https://gitee.com/zeng-xuehui/Java_repository/tree/master/test_11_27_1/src我们在写这个系统时,首先需要搭建框架,再实现业务逻辑;图书管理系统是用户通过各种功能对图书进行操作的一个系统;我们需要…

【腾讯地图】【微信小程序】地图选点

【相关文章】 【腾讯地图】【微信小程序】地图选点 【腾讯地图】【微信小程序】路线规划 【腾讯地图】【微信小程序】城市记录(基于地图选点入门版) 【效果展示】 【官方文档】 微信小程序插件-地图选点插件 【完善流程】 当前操作和官方文档操作有部…

36 - 电商系统表设计优化案例分析

如果在业务架构设计初期,表结构没有设计好,那么后期随着业务以及数据量的增多,系统就很容易出现瓶颈。如果表结构扩展性差,业务耦合度将会越来越高,系统的复杂度也将随之增加。这一讲我将以电商系统中的表结构设计为例…

vue2+element-ui npm run build打包后,在服务器打开报错

报错 页面的图标也显示不出来,如下 解决: 在build->utils.js文件里面加上publicPath: ../../,再打包发布一下就可以了 // Extract CSS when that option is specified// (which is the case during production build)if (options.extrac…

Spring Cloud Stream如何屏蔽不同MQ带来的差异性?

引言 在当前的微服务架构下,使用消息队列(MQ)技术是实现服务解耦和削峰填谷的重要策略。为了保证系统的灵活性和可替换性,我们需要避免对单一开源技术的依赖。 市面上有多种消息队列技术,如 Kafka、RocketMQ、Rabbit…

思维模型 达维多定律

本系列文章 主要是 分享 思维模型,涉及各个领域,重在提升认知。持续创新,引领市场潮流。 1 达维多定律的应用 1.1 达维多定律应用之吉列公司:不断创新的刀片领导者 吉列公司是一家以剃须刀片而闻名的公司。自 1901 年推出首款安…

【开源视频联动物联网平台】开箱即用的物联网项目介绍

写一个开箱即用的物联网项目捐献给Dromara组织 一、平台简介 MzMedia开源视频联动物联网平台,简单易用,更适合中小企业和个人学习使用。适用于智能家居、农业监测、水利监测、工业控制,车联网,监控直播,慢直播等场景。…