Giter Club home page Giter Club logo

gpt-web-java's Introduction

Siana 智能Ai机器人

Java version     MySql version    Redis version           

🎉 2.0全新版本,全新ui,全新体验

演示地址:https://bot.aisiana.top

🧧 2.0全新ui,客户端与管理端移动端,购买后加入VIP群持续更新,扫码下方作者微信添加好友咨询加群

后台管理ui演示地址地址:https://github.com/a616567126/GPT-WEB-JAVA/wiki/%E5%90%8E%E5%8F%B0%E7%AE%A1%E7%90%86ui%E6%BC%94%E7%A4%BA

👨‍🚀 Major Function

📌 客户端

  • GPt对话
  • 1.基于SSE WebSocket流式推送
    
  • 2.支持3.5,4.0等模型
    
  • 3.支持官方,第三方api地址
    
  • 4.支持GPT4.0图片识别
    
  • GPT 画图 (dall-e-3模型)
  • 星火大模型
  • 1.基于SSE WebSocket流式推送
    
  • 2.支持2,3,3.5模型
    
  • Midjourney画图
  • 1./imagine(文生图)
    
  • 2./describe(图生文)
    
  • 3.重做
    
  • 4.--relax,--fast(切换出图模式)
    
  • 5.U放大,V变换
    
  • 6.Strong,Subtle,U2x,U4x,ZoomOut 2x,ZoomOut 1.5x,➡️⬅️⬆️⬇️位置偏移
    
  • 7./shorten(咒语解析)
    
  • 7./blend(混合生图)
    
  • 8.垫图
    
  • 9.账号池
    
  • Stable-Diffusion画图
  • 1.模型选择
    
  • 2.Lora选择
    
  • 3.支持高清修复
    
  • 4.垫图
    
  • 个人信息展示(剩余次数,身份,昵称)
  • 个人信息修改(头像,密码)
  • 产品查询购买
  • 订单查询
  • 支付方式 易支付、卡密兑换、微信支付
  • 图片存储方式本地/oss存储,可动态配置

📌 管理端

  • 首页(数据统计)
  • 支付配置
  • 对KEY配置
  • 用户管理
  • MJ账号池
  • 订单管理
  • 公告管理
  • 产品管理
  • 系统配置

📌 公众号

  • 扫码登录、注册
  • Midjourney画图
  • SD画图(开发中)
  • GPT对话(开发中)
  • 卡密获取、兑换

客户端UI演示(Vue2开发)

1.登录 image
image 2.GPT对话 image image 3.GPT画图 image 4.Midjourney image

image 5.Stable Diffusion image image 6.画廊 image image 7.我的 image

移动端UI演示(uniapp开发,可打包小程序,app,H5等)

1.登录

image

2.菜单页面

image

3.GPT对话

image

4.GPT画图

image

5.Stable Diffusion

image

image

image

6.Midjourney

image

image

image

image

7.画廊

image

image

8.个人中心

image

💻 INSTALL AND START

   安装步骤
    1.安装mysql8.0,redis,安装jdk1.8 也可使用个更高版本但不建议
    2.创建数据库名字为:intelligent_bot
    3.导入src/resources/下的intelligent_bot.sql 文件
    4.检查sys_conf中各个参数是否配置正常,默认账号密码注册,
       默认关闭Midjourney画图,Stable-Diffusion画图,星火等功能,需要功能自行配置开关
    5.若使用Midjourney画图,需在discord_account_config表中配置频道id,服务器id,用户token
    6.若使用Stable-Diffusion画图,sd_lora中配置lora模型,sd_model中配置模型,
      可运行后在管理端进行操作,注意!!lora名字无需后缀名,model中名字需全名,模型名+后缀名
      sys_conf中打开开关
    7.若使用gpt,需在gpt_key中配置key,注意区分3.5与4.0,sys_conf中可配置第三方,中转,官方地址
    8.若使用支付,检查pay_conf,可使用微信支付,易支付,自行选择对应支付方式
    9.修改yml中的数据库配置与redis配置
    10.在根目录下创建临时上传路径/www/temp/data 或自己根据自己实际的路径来配置,注意修改yml中第17行
    11.增加上传图片目录/www/uploads/ 或自己根据自己实际路径来配置,注意修改sys_config表中的图片上传路径
    12.gpt默认角色对应的图片在resources/role_img中,在上传目录中创建role文件夹,将role_img中的图片复制到role中
    13.打包java代码,可使用Idea下载好mavn依赖后执行install,将target下的‘Intelligent-Bot-0.0.1-SNAPSHOT.jar’文件
       复制到/usr/local/siana/下,后续都已这个为准,可根据自己的项目实际位置自行更改
    14.执行nohup java -jar Intelligent-Bot-0.0.1-SNAPSHOT.jar 启动后台
    15.查看日志是否有异常日志,若没有则启动成功
    16.管理员账号admin密码123456,根据自己需求合理增加或修改表内数据,初始化sql只为正常启动代码
    ----------------以下说明为客户端、管理端、移动端部署说明---------------------
    17.在服务器上配置启动好服务之后,在客户端与管理端修改api.js里的接口地址,
       PC端与移动端App.js中修改对应的页面地址,siana_bot(填写移动端地址),
       siana_mobile(填写PC端地址),配置好后自动适配设备,
       PC端管理端使用Node14,Npm6其他版本可能出现各种异常情况,推荐使用vscode打开项目
    18.使用npm run install安装所需依赖
    19.使用npm run dev 测试是否接口请求正常。,
    20.使用npm run build 打包代码,并部署到服务器
    21.使用Hbuilder打开移动端代码,打包方式(网站-PC Web或手机H5(仅适用于 uni-app))
    22.可使用nginx,代理图片服务器,客户端及管理端页面
    23.系统中使用百度翻译与百度内容审核,查看下方教程进行开通
    24.GPT与Midjourney需要外网环境,可使用香港服务器,延迟低,可购买下方浅夏云,
       特惠香港活动690一年8核心16G内存30m

🕹 使用 Nginx

🪧 若使用nginx反向代理到后端需要增加SEE支持,与SEE长连接时间

 server {
        listen 443 ssl http2;  # 1.1版本后这样写
        server_name api.baidu.com; #填写绑定证书的域名
        ssl_certificate /www/server/nginx/ssl/baidu.pem;# 指定证书的位置,绝对路径
        ssl_certificate_key /www/server/nginx/ssl/baidu.key; # 绝对路径,同上
        ssl_session_timeout 5m;
        ssl_protocols TLSv1 TLSv1.1 TLSv1.2; #按照这个协议配置
        ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;#按照这个套件配置
        ssl_prefer_server_ciphers on;
        location / {
          proxy_pass http://127.0.0.1:8080/;   #转发到tomcat
          proxy_set_header Host $http_host;  ##proxy_set_header用来重定义发往后端服务器的请求头
          proxy_set_header X-Real-IP $remote_addr;
          proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
          proxy_set_header X-Forwarded-Proto $scheme;
          proxy_buffering off;
          proxy_http_version  1.1;
          proxy_read_timeout 600s; ##设置SSE长链接保持时间为 600s
          }
    }
    server {
         #SSL 默认访问端口号为 443
         listen 443 ssl http2; 
         #请填写绑定证书的域名客户端、管理端通用
         server_name bot.baidu.com;
         #请填写证书文件的相对路径或绝对路径
         ssl_certificate /www/server/nginx/ssl/bot/bot.baidu.com.crt;
         #请填写私钥文件的相对路径或绝对路径
         ssl_certificate_key /www/server/nginx/ssl/bot/bot.baidu.com.key;
         ssl_session_timeout 5m;
         #请按照以下协议配置
         ssl_protocols TLSv1.2 TLSv1.3; 
         #请按照以下套件配置,配置加密套件,写法遵循 openssl 标准。
         ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE; 
         ssl_prefer_server_ciphers on;
         location / {
             #网站主页路径。此路径仅供参考,具体请您按照实际目录操作。
             #例如,您的网站主页在 Nginx 服务器的 /etc/www 目录下,则请修改 root 后面的 html 为 /etc/www。
            root    /usr/local/siana/bot;
            index   index.html;
            try_files  $uri $uri/ /index.html;
            }
   }
   server {
        listen       80;
        server_name  bot.baidu.com;#客户端、管理端通用80强制443
        rewrite ^ https://$http_host$request_uri? permanent;

    }
   server {
        listen 443 ssl http2;
        server_name img.baidu.com; #图片服务器
        location    / {
            root   /www/uploads/;
            charset utf-8;          #显示中文
            add_header 'Access-Control-Allow-Origin' '*'; #允许来自所有的访问地址
            add_header 'Access-Control-Allow-Credentials' 'true';
            add_header 'Access-Control-Allow-Methods' 'GET, PUT, POST, DELETE, OPTIONS'; #支持请求方式
            add_header 'Access-Control-Allow-Headers' 'Content-Type,*';
        }
         #请填写证书文件的相对路径或绝对路径
         ssl_certificate /www/server/nginx/ssl/img/img.xx.crt;
         #请填写私钥文件的相对路径或绝对路径
         ssl_certificate_key /www/server/nginx/ssl/img/img.xx.key;
         ssl_session_timeout 5m;
         #请按照以下协议配置
         ssl_protocols TLSv1.2 TLSv1.3; 
         #请按照以下套件配置,配置加密套件,写法遵循 openssl 标准。
         ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE; 
         ssl_prefer_server_ciphers on;
    }

💬 使用 GPT

  • 1.在gpt_key中配置对应的gpt key,注意区分3.5与4.0
  • 2.若国内环境使用请使用代理访问,或使用cloudflare搭理,教程地址
  • 3.gpt使用sse方式进行消息推送与前端交互,若使用nginx请查看上方nginx配置

🧩 使用 Image Upload(图片上传)

  • 1.创建指定的文件夹如:/usr/local/upload
  • 2.创建成功后在"sys_config"表中"img_upload_url"配置第一步创建的目录记得最后边加上"/"如:/usr/local/upload/
  • 3.使用nginx进行文件夹代理
  • 4.nginx代理的域名或ip配置到sys_config中img_return_url如:"https://www.baidu.com"
  • 5.上传的图片会以每天的年月日来进行创建文件夹
  • 6.图片名称分为两种,Midjourney的名字为任务id,其余的图片为当前时间戳
  • 7.图片最终的地址为:"img_return_url"+"img_upload_url"+文件名,如:"https://www.baidu.com/20230618/123.jpg"

🎨 使用 Stable-Diffusion

  • 1.在"sd_model"表中配置模型(名字(全部内容包括后缀),图片)
  • 2.若有lora在"sd_lora"表中配置lora(名字,图片)
  • 3.配置"sys_config"表中"is_open_sd"为1,开启状态
  • 4.配置"sys_config"表中"sd_url"的地址,本地默认地址为http://127.0.0.1:7860(记得打开api开关)

🎨 使用 Midjourney

  • 1.注册 MidJourney创建自己的频道、参考地址
  • 2.添加成功之后查看浏览器中的地址如:https://discord.com/channels/123/456 其中123为mj_guild_id,456为mj_channel_id
  • 3.获取mj_user_token,浏览器打开F12随便发送一个信息查看Network,Authorization为用户token

🪜 使用 Proxy(代理)

GPT、Midjourney 国内网络环境下使用代理访问

📄 使用 百度翻译,内容审核

GPT、Midjourney、Stable-Diffusion 使用文本审核,Midjourney、Stable-Diffusion,使用百度翻译

🍾 作者推荐

🥤 Reward(有能力的可以请作者喝一杯冰可落)

  • 支付宝

  • 微信

✉ Scan code to add friends(扫码添加微信好友)⭐ 记得点一个Star哦!!!!

扫码添加好友

Star History Chart

SPONSOR

本项目由JetBranins赞助相关开发工具

License

Apache License 2.0

gpt-web-java's People

Contributors

a616567126 avatar litter-coder avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.