ChatGPT在线个人小助手应用搭建

2023-11-08

ChatGPT在线个人小助手应用搭建

效果图

在线体验

点我在线体验

因为openAI账户申请后会默认有18美元的账户,
openAI每次调用大概会花掉0.01美元,
所以为了防止恶意刷api,无意义聊天,
页面做了密码限制,如果密码不对,是不会启用openAI智能回复的.
代码此文就不讲解了,源码面前,了无秘密.
后端:https://gitee.com/fengkuangdejava/chatGpt.git
前端:https://gitee.com/fengkuangdejava/chat-view.git

快速部署

环境准备(cenos云服务一台)

	#cenos云服务一台 其它linux系统也行 只是此处命令使用了yum,其它系统可能不一样
	yum install -y unzip nginx java-1.8.0-openjdk* dos2unix
	service nginx start

部署后端

# 安装后端服务
wget http://124.220.38.75:8080/monkey-chat-0.0.1-SNAPSHOT.tar.gz
tar -zxvf monkey-chat-0.0.1-SNAPSHOT.tar.gz
# 修改monkey-chat/application-dev.yml配置文件中的token为自己的token,如果没有token,下面会说如果获取token
dos2unix */*.sh&&dos2unix */*/*.sh
sh monkey-chat/deploy-tar.sh
#查看项目启动日志,部署成功
tail -f /var/logs/ai-chat/dev/info.log
#重启 
nohup sh /opt/java/chat-gpt-java/monkey-chat/bin/tar-service.sh restart >/dev/null 2>&1 &

#其它说明
#项目日志目录
/var/logs/ai-chat/dev/
#项目配置目录
/opt/java/chat-gpt-java/monkey-chat/conf
#项目启动文件
/opt/java/chat-gpt-java/monkey-chat/bin
#项目启动命令
#启动
nohup sh /opt/java/chat-gpt-java/monkey-chat/bin/tar-service.sh start >/dev/null 2>&1 &
#停止
nohup sh /opt/java/chat-gpt-java/monkey-chat/bin/tar-service.sh stop >/dev/null 2>&1 &
#重启
nohup sh /opt/java/chat-gpt-java/monkey-chat/bin/tar-service.sh restart >/dev/null 2>&1 &

部署前端

# 获取前端资源包并部署
mkdir -p /opt/chat-web/chat-view
wget -P /opt/chat-web/chat-view/ http://124.220.38.75:8080/dist.zip
unzip -d /opt/chat-web/chat-view/ /opt/chat-web/chat-view/dist.zip

# !!! 以下看情况执行!!!
## 后端服务没换端口的情况下 替换ip 把文件中的公网ip 替换成你自己的后台服务的域名或者ip
cd /opt/chat-web/chat-view&&sed -i "s/124.220.38.75/公网ip/g" `find . -type f -name "*.js"` >/dev/null 2>&1
## 后端服务换了端口的情况下 替换ip+端口 把文件中的公网ip 替换成你自己的后台服务的域名或者ip+端口
cd /opt/chat-web/chat-view&&sed -i "s/124.220.38.75:8079/公网ip:端口/g" `find . -type f -name "*.js"` >/dev/null 2>&1
# 开启nginx 此处已默认的nginx配置文件目录为例,有的nginx配置文件目录不在/etc/nginx/conf.d
wget -P /etc/nginx/conf.d/ http://124.220.38.75:8080/8080.conf
# 默认是8080 如果冲突 请修改/etc/nginx/conf.d/8080.conf文件的内部配置的端口和当前文件名
service nginx reload

# 检查公网是否开通端口 8097,8080.
# 然后尝试访问
http://你的公网ip:8080/

Token获取

点我直达

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

ChatGPT在线个人小助手应用搭建 的相关文章

随机推荐

  • nuxt项目中引用less/scss全局变量

    nuxt项目中有些样式需要经常使用 并且未来有可能会改 比如主题色 theme color 所以希望在一个地方定义后 后面直接引用变量即可 但是正常使用时 less的变量是不能跨文件使用的 下面使用 nuxtjs style resourc
  • 国外IP地址汇总

    ip route 1 0 0 0 255 255 255 0 10 201 130 13 ip route 1 1 1 0 255 255 255 0 10 201 130 13 ip route 1 2 3 0 255 255 255 0
  • SylixOS下移植C++程序——命名粉碎

    1 概念 1 1 命名粉碎 命名粉碎 name mangling 又称命名修饰 name mangling是一种在编译器和链接器之间用于通信的符号协议 其目的在于按照程序中的语言规范 使符号具备足够的语义信息以保证链接过程准确无误的进行 编
  • props传递对象_解决vue组件props传值对象获取不到的问题

    先说问题 父组件利用props向子组件传值 浏览器 console 有这个值 但是获取不到内部的属性 困了我3个小时 真的 personal console 以下为原代码 1 home vue 父组件 personal是被传的参数 pers
  • 可视化卡片笔记写作?我试了最近才开放的 Heptabase

    2021 年 12 月末 我在微信里面读了 Alan 詹雨安 Heptabase 开发者 的文章 立即对更名不久的 Heptabase 来了兴趣 靠着海玮的邀请 我加入了 Heptabase 的 Discord 做了自我介绍 当然 也加入了
  • js常用hook

    一 Hook 技术原理 Hook是一种钩子技术 在系统没有调用函数之前 钩子程序就先得到控制权 这时候钩子函数既可以加工处理该函数的执行行为 也可以强制结束消息的传递 简单来说就是修改原有的js代码就是hook JS 是一种弱类型语言 同一
  • GB28181平台如何接入无人机实现智能巡检?

    大家都知道 无人机巡检系统 有效解决了传统巡查工作空间和时间局限问题 降低人力工作成本 有效替代人工巡检工作模式 智能巡检系统通过人工智能技术和机械智能技术完美结合 在工业等场景下 应用非常广泛 本文旨在讲如何实现无人机 如大疆无人机 数据
  • Java泛型机制

    Generics 泛型 一个接口或类可能被声明为一个或者多个类型的参数 该类或接口写在尖括号中 提供的实体类需要属于该接口或类 Generic Programming 泛型编程 泛型类可以是编码更安全以及方便阅读 尤其是在集合类中 Java
  • 【隧道篇 / PPTP&L2TP】(5.2) ❀ 01. PPTP & L2TP 连接 ❀ FortiGate 防火墙

    简介 虽然有SSL 但是因为要安装 FortiClient 客户端软件 很多人还是喜欢用PPTP或L2TP 理由很简单 那就是只要是Windows就可以连 不用安装其它软件 PPTP 与 L2TP 协议的联系与区别 PPTP Point t
  • JAVA三种多数据源配置详解(一)

    在大型项目的开发中 我们可能因为微服务 分布式 集群等架构的影响 而需要到不同的数据库中去查询需要对应的数据 这时 单一的数据库配置就无法满足业务需求 下面我会介绍集中不同场景下的多数据源配置 大家可以根据自身情况进行选择和实现 yml文件
  • 纪念古龙诞辰:论古龙的江湖为何没有一“tong”?

    古龙 nbsp 原名熊耀华 1938年6月7日生于香港 武侠小说家 新派武侠小说泰斗 代表作品 多情剑客无情剑 绝代双骄 楚留香传奇 武林外史 等 有人喜欢金庸 也有很多人喜欢古龙 他们之间的同与不同 以及那些至今仍然令我们备受感动的地方
  • vue中a标签下载本地文件-未找到【已解决】

    首先看一下我的情况 如下 目录如图 代码如下 a href public kjxz pptx 课件下载 a 一切看起来很正常 但是结果如下 然后我搜了一下发现原来href路径的问题 原来使用 public kjxz pptx 文件会找不到
  • 漫步IOS--三目运算符、switch、枚举

    1 三目运算符 三目运算符的定义 表达式1 表达式2 表达式3 例如 a gt b 2 5 三木运算符也是有返回值的 返回值等于对应的表达式的返回值 2 switch 在c语言中 switch只支持整型 但是这里的整型包括 整型 字符 布尔
  • 如何将文档上传到 ChatGPT

    OpenAI 一直在为 ChatGPT 添加几个有趣的功能 包括对网页浏览和插件的支持 但是 仍然没有办法本地上传文档并根据其上下文提出问题 当然 有些用户可以在他们的数据上训练 AI 聊天机器人 但并不是每个人都了解如何设置工具和库 因此
  • 华为OD机试 C++ 去除多余空格

    题目 你需要写一个功能 它能处理一段文本 去除其中不必要的空格 但是如果这些空格被一对单引号包围起来 就保留它们不变 同时 你还要调整一些特定词汇的位置 这些词汇的位置会以坐标的方式给出 坐标要基于新的文本 特别注意 关键词的位置一定不是空
  • Unity 入门 Input 类

    1 获得键盘 Input GetKey KeyCode A Input GetKeyDown KeyCode A Input GetKeyUp KeyCode A 2 获得鼠标信息 Input mousePosition 鼠标位置 Inpu
  • 关系型数据库是如何运作的

    一说到关系型数据库 我总感觉缺了点什么 如果你尝试透过 关系型数据库是如何运作的 的关键词句来进行搜索 其搜索结果是少量的而且内容是简短的 难道说是由于它已经太老旧而已经不再流行吗 作为一名开发者 我讨厌使用我不明白的技术 此外 关系型数据
  • s、x、t -learner

  • DICOM之Transfer Syntax

    Transfer Syntax A Transfer Syntax is a set of encoding rules able to unambiguously represent one or more Abstract Syntax
  • ChatGPT在线个人小助手应用搭建

    ChatGPT在线个人小助手应用搭建 在线体验 点我在线体验 因为openAI账户申请后会默认有18美元的账户 openAI每次调用大概会花掉0 01美元 所以为了防止恶意刷api 无意义聊天 页面做了密码限制 如果密码不对 是不会启用op