# GPT-WEB-JAVA **Repository Path**: luanyutop/GPT-WEB-JAVA ## Basic Information - **Project Name**: GPT-WEB-JAVA - **Description**: 基于JDK8的ChatGPT对话后台 - **Primary Language**: Java - **License**: Apache-2.0 - **Default Branch**: Mj-plus - **Homepage**: http://ai.klgeek.com - **GVP Project**: No ## Statistics - **Stars**: 14 - **Forks**: 6 - **Created**: 2023-04-17 - **Last Updated**: 2025-04-23 ## Categories & Tags **Categories**: ai **Tags**: None ## README
Siana 智能Ai机器人
演示地址:https://ai.v-wim.xyz
🧧 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🪧 若使用nginx反向代理到后端需要增加SEE支持,与SEE长连接时间
```powershell 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; } ``` ## 💬 USE GPT - 1.在gpt_key中配置对应的gpt key,注意区分3.5与4.0 - 2.若国内环境使用请使用代理访问,或使用cloudflare搭理,[教程地址](https://github.com/x-dr/chatgptProxyAPI) - 3.gpt使用sse方式进行消息推送与前端交互,若使用nginx请查看上方nginx配置 ## 🧩 USE 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" ## 🎨 USE 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开关) ## 🎨 USE Midjourney - 1.注册 MidJourney创建自己的频道、[参考地址](https://docs.midjourney.com/docs/quick-start) - 2.添加成功之后查看浏览器中的地址如:https://discord.com/channels/123/456 其中123为mj_guild_id,456为mj_channel_id - 3.获取mj_user_token,浏览器打开F12随便发送一个信息查看Network,Authorization为用户token ## 🪜 USE ProxyGPT、Midjourney 国内网络环境下使用代理访问
- 代理使用,配置流程、[参考地址](https://github.com/a616567126/GPT-WEB-JAVA/wiki/%E4%BD%BF%E7%94%A8%E4%BB%A3%E7%90%86%E8%AF%B7%E6%B1%82GPT%E3%80%81Midjourney) ## 📄 USE BaiduGPT、Midjourney、Stable-Diffusion 使用文本审核,Midjourney、Stable-Diffusion,使用百度翻译
- 1.百度翻译申请,配置流程、[参考地址](https://github.com/a616567126/GPT-WEB-JAVA/wiki/%E7%94%B3%E8%AF%B7%E7%99%BE%E5%BA%A6%E7%BF%BB%E8%AF%91) - 1.百度文本审核申请,配置流程、[参考地址](https://github.com/a616567126/GPT-WEB-JAVA/wiki/%E7%94%B3%E8%AF%B7%E7%99%BE%E5%BA%A6%E5%86%85%E5%AE%B9%E5%AE%A1%E6%A0%B8%E5%B9%B3%E5%8F%B0-%E6%96%87%E6%9C%AC) ## 📄 USE Google Bard - 1.访问https://bard.google.com/并登录账号密码 - 2.F12获取cookie - 3.组合token'__Secure-1PSID'+';'+__Secure-1PSIDTS 例如:aAjs4boxxxx;sidts-xxxx - 4.将组合好的token配置到sys_config中的bard_token字段 ## 🍾 Put It Last - 作者使用服务器地址:[浅夏云](https://www.qxqxa.com/aff/ZGWPEDLQ) - 作者使用机场地址:[新华云](https://newhua99.com/#/register?code=fMYmE5Ri) - 默认启动时需配置如下三个表的数据(根据自己实际情况) - gpt_key - pay_config - sys_config - 项目启动时会加载对应参数到redis中,如果手动修改数据库,需要在redis中修改对应参数,防止不生效 - FlagStudio地址:http://flagstudio.baai.ac.cn/ **支付配置(pay_config)** 字段|描述|注意 -|:-:|-: pid|易支付商户id|无 secret_key|易支付商户秘钥|无 submit_url|易支付支付请求域名|易支付发起支付的api地址,例如:https://pay888.mfysc.shop/submit.php api_url|易支付订单查询api|后端核对订单时,易支付使用订单查询的api地址例如:https://pay888.mfysc.shop/api.php wx_appid|微信支付的appid|无 wx_mchid|微信支付商户号|微信支付平台-商户信息-微信支付商户号 wx_v3_secret|微信apiv3秘钥|微信支付平台-账户中心-设置APIv3秘钥 wx_serial_no|证书序列号|微信支付平台-账户中心-API安全-API证书管理-证书序列号(若没有则申请新证书) wx_private_key|商户证书内容|微信支付平台-账户中心-API安全-API证书管理-与证书序列号一一对应内容为生成的apiclient_key.pem文件全部内容 **系统配置(sys_config)** 字段|描述|注意 -|:-:|-: registration_method|注册模式 1 账号密码 2 邮箱注册 3 公众号 |开启邮件注册后需要在emil_config中配置邮件相关参数 default_times|默认注册次数|用户注册时默认赠送请求次数 gpt_url|gpt请求地址|可使用官方或替换第三方 gpt4_url|gpt4请求地址|可使用官方或替换第三方 is_open_gpt|gpt开关 0-未开启、1-开启gpt3.5、2-开启gpt4.0、3-全部|默认开启3.5 is_open_gpt_official|gpt画图开关 0-未开启、1-开启|默认关闭 img_upload_url|图片上传地址|例如:/usr/local 配置图片上传路径 img_return_url|图片域名前缀|上传图片后与图片名组合成可访问的url 例如:https://baidu.com 图片上传成功后 则返回 https://baidu.com /2023/04/26/2222.jpg api_url|后台接口地址|用于mj、支付、微信等回调使用 client_url|客户端页面地址|用于支付跳转等 is_open_sd|是否开启sd 0未开启 1开启|无 sd_url|Sd接口地址|开启sd时需配置这个地址 is_open_flag_studio|是否开启FlagStudio 0-未开启 1开启|无 flag_studio_key|FlagStudio key|登录之后api获得每天500次请求 flag_studio_url|FlagStudio 接口地址|暂时写死https://flagopen.baai.ac.cn/flagStudio baidu_appid|百度appid|用于百度翻译 baidu_secret|百度Secret|用于百度翻译 baidu_key|百度应用key|用于敏感词检查 baidu_secret_key|百度应用Secret|用于敏感词检查 is_open_mj|是否开启mj 0-未开启 1开启|无 is_open_proxy|是否开启代理 0关闭 1开启|无 proxy_ip|代理ip|无 proxy_port|代理端口|无 bing_cookie|微软bing cookie|无 is_open_bing|是否开启bing 0-未开启 1开启|无 is_open_stable_studio|是否开启StableStudio 0未开启 1 开启|无 stable_studio_api|StableStudioapi地址前缀|写死:https://api.stability.ai stable_studio_key|StableStudio key|无 client_logo|客户端logo地址|无 client_name|客户端名字|无 bard_token|谷歌BardToken|格式为aAjs4boxxxx;sidts-xxxx 注意中间';' ## 💪 Contributors