Nonebot插件Nature_gpt部署智能聊天机器人
*代表不确定
指导链接:https://www.bilibili.com/read/cv23554318/(linux)
Nonebot:在python3.8以上环境下运行的聊天机器人的框架
Natural_gpt:是Nonebot中的一个插件,使用gpt密钥api key来聊天
gocqhttp:相当于QQ的客户端
将gocqhttp放在服务器上运行,在后台挂上Nonebot框架,Natural_gpt使用api key来调用gpt聊天机器人
开始与 go-cqhttp 交互
在 go-cqhttp
成功运行之后, 你就可以通过自己写的程序, 使用 HTTP
或者 WebSocket
与 go-cqhttp
进行通讯, 实现 QQ 机器人. 在这个过程中, 你的程序只需要把一些数据发送给 go-cqhttp
, 关于 QQ 的通信协议, go-cqhttp
会帮你解决.
go-cqhttp的具体细节https://docs.go-cqhttp.org/
用到的命令行
- screen:
#screen使用
screen -R 窗口名称 //创建会话
ctrl+a d //组合在后台运行会话,将窗口最小化,程序进入detached状态不会应为用户退出或者终端关闭而中断
screen -R 窗口名称 //回到会话
#screen 状态 attached | detached
screen -X -S id.screenname quit //关闭会话
screen -ls //查看会话列表
- 解决ssh连接长时间不操作自动断开的问题*
vim /etc/profile
#在最后添加'TMOUT=1800',表示30分钟后自动time logout
#最好不要修改etc里的文件,etc目录里的文件与系统运行有关
*无效
修改
etc/ssh/sshd_config
# 服务器每隔60秒会给客户端发送一次保活信息包给客户端,可以将这个值设置大一点
ClientAliveInterval 60
# 服务器发出的请求如果客户端没有响应,则判断超时1次,这个参数是表示允许超时的次数。可以将这个值设置大一点。
ClientAliveCountMax 666
最优解法:创建screen来ping自己
- linux目录中重要的文件目录
etc #有点像execute但我查过出处是于一个希腊单词有关
lib #libary文件是一个动态库文件,程序运行时函数调用时要用到这个库文件,类似于dll文件
root #管理员文件
var #various 用来存放修改的文件
usr #共享资源的文件unix shared resources,和Windows中的program file类似
bin 是 Binaries (二进制文件) 的缩写, 这个目录存放着最经常使用的命令。
- 文件下载和文件解压
用wget curl等下载
tar -xvf 文件名 #解压选项-x解压前的文件名 -v显示解压详情 -f解压后的文件名
- 配置文件,token文件,其他
相当于图形化界面中的设置
token文件像一段密钥用来标识代表个人的身份等等
json数据文件
- 虚拟环境
#在虚拟环境中运行程序,相当于Windows的环境变量*
sudo python3 -m venv myenv //python中的-m选项创建python3的虚拟环境,且名为myenv
source /myvenv/bin/activate //进入虚拟环境
- 端口
nginx用于web服务且监听了443端口https,80端口http
web用户发送的请求都会转为443和80端口,https用的是TCP协议
因为一个端口不能被监听两次,就会需要有一个域名来经行解析到443端口,来进行部署多个web应用
一般为顶级域名yujie95.top作为主要网站,cloud.yujie95.top/gpt.yujie95.top二级域名作为服务器管理员的web应用
可以看到DNS出来的都是443端口,也就是nginx的代理,实际上我gpt.的用的是3002端口/cloud.用的也是其他端口。
nginx代理-> ip+端口 <-DNS解析
对于这个实例,只部署了后台程序和QQ客户端(手机上显示的是手表登录),我不需要提供web服务,只需要在后台挂载即可。我们不用开放防火墙8000端口
- 重定向
但是如果我使用http://yujie95.top来发送请求访问我的网站,我的服务器就会自动重定向到https://yujie95.top
因为我的ssl证书中设置了强制https,无证书或者是自签名的证书浏览器访问时都会显示不安全。
https://raw.githubusercontent.com/9527copy/typora-picgo/main/202401011106588.png
nb的配置文件加一行权限,调配置文件等级(调debug)
vim .env.prod
LOG_LEVEL=DEBUG
适配器
nb adapter list
nb adapter install "OneBot V11"