前言
想要一个万能回复你的AI助手机器人吗?我看到网上很多基于Linux系统搭建的教程,今天就分享一个用windos系统就可以搭建的chatgpt机器人,而且用自己电脑就可以使用啦,下面是windos和Linux系统搭建的教程会持续更新新的版本~!
下面是搭建教程:
QQ机器人体验群:602354227
2022-12-14 13:43
修改revChatGPT代码使其最新版本能够支持Linux和Windows系统运行
点击下载
使用教程依旧如下
2022-12-13 14:01
增加一个Linux版本,可以自动获取cloudflare Cookie,如果你使用Windows版本依然不能自动获取,也可以在Windows上使用这个版本
2022-12-12 23:52
增加一个Windows专用版本,只能在Windows电脑或服务器上使用,可以自动获取cloudflare Cookie
2022-12-12 12:38 更新内容
增加CloudFlare配置,更新依赖,暂不支持账号密码,暂不知道CloudFlare配置多久需要更换一次,现在好像必须要翻墙了
2022-12-10 17:42 更新内容
增加账号密码支持,可以不使用token,直接使用账号密码
2022-12-10 00:23 更新内容
将每个QQ私聊区分,每个人私聊机器人都是一个独立的会话
将每个QQ群区分,每个QQ群是一个独立的会话
增加回复字数限制,超过限制转换成图片回复(见配置文件)
如果想要重置会话,对机器人发送:重置会话
简介
监听QQ消息并不需要我们写代码,因为市面上已经有很多开源QQ机器人框架,在这里我们使用go-cqhttp
官方文档: go-cqhttp
如果您感兴趣的话,可以阅读一下官方文档,如果不想看,直接看我的文章即可。
前提条件
- 您需要准备一个QQ号,不要使用自己大号
- 您需要准备一个OpenAi的账号,用来获取Token
- 一台服务器(可选,如果您想让机器人7x24小时在线的话,请准备一台,1核1G足以,外服最好)
注意:OpenAi(ChatGPT)的注册方式B站有一堆视频,随便参考一个就行。
搭建
获取ChatGPT接口Token
首先登录ChatGPT https://chat.openai.com/
登录后按F12打开调试面板,安装图中操作,将token复制出来并保存
修改代码
可以使用我打包好的文件,也可以根据前两个文章自行开发,推荐使用我打包好的:
点击下载
下载解压后你会得到如下文件
首先我们修改逻辑处理端,打开py文件夹
用一个合适的编辑器打开config.json,如果没有合适的,用记事本打开也行
如果所有消息都想用图片回复,max_length可以设置为0,如果不想使用图片回复,可以设置为9999
打开后按图上的提示修改,修改后保存即可
然后修改 QQ机器人\QBot 文件夹下的 config.yml
启动服务
启动逻辑处理端
打开文件夹: QQ机器人\py
Windows系统双击 python-3.11.1-amd64.exe 安装Python环境
已经有Python环境的不用安装
Linux系统请根据系统自行安装
环境安装完成之后,双击 安装依赖.bat 安装依赖
Linux系统请使用如下命令安装:
pip3 install -r requirements.txt
依赖安装完成后,双击 windows启动.bat 启动逻辑处理端
Linux系统使用如下命令启动
# 前台运行
py chat-gpt-qbot.py
# 后台运行
nohup py chat-gpt-qbot.py &
启动后如下图所示
此时我们可以用浏览器访问 127.0.0.1:7777 可以看到如下图所示
启动监听端
打开文件夹 QQ机器人\QBot
Windows 双击 go-cqhttp.bat 即可启动
注意此时需要输入 2 并回车,选择扫码验证登录
扫码后即可登录成功
注意:如果你打算部署到Linux服务器(不管什么系统的云服务器)上,你依然需要完成上述步骤,即在电脑上登录一次,然后将QBot文件夹里生成的文件上传到你的服务器上再完成启动流程(防止QQ风控)
如果你看到下面这种提示,忽略就行不用管
Linux启动需要使用如下命令:
# 前台运行命令
./go-cqhttp
# 后台运行命令
nohup ./go-cqhttp > logs/`date -d yesterday +%Y%m%d`.log 2>&1 &
测试
私聊测试,基本上你问的正常的问题都会回复你哟~这个是AI机器人,不是那种按照别人固定数据库的回答回复你~灰常人性化~
版权属于:戏人看戏博客网
本文链接:https://day.nb.sb/archives/394.html
若无注明均为戏人看戏原创,转载请注明出处,感谢您的支持!
https://cf-shit.aurorax.cloud/challenge这个网站502了。。。
大家先别急,这个是逆向官方的接口的,还有个是直接使用官方的api接口版本,操作比这个更容易,等有时间在更新一下
我启动报错啊
E:\NODEproject\QQ-robot\py>py chat-gpt-qbot.py
Traceback (most recent call last):
File "D:\Python\python-3.11.1-amd64\Lib\site-packages\requests\models.py", line 971, in json
return complexjson.loads(self.text, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "D:\Python\python-3.11.1-amd64\Lib\json\__init__.py", line 346, in loads
return _default_decoder.decode(s) ^^^^^^^^^^^^^^^^^^^^^^^^^^
File "D:\Python\python-3.11.1-amd64\Lib\json\decoder.py", line 337, in decode
obj, end = self.raw_decode(s, idx=_w(s, 0).end()) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "D:\Python\python-3.11.1-amd64\Lib\json\decoder.py", line 355, in raw_decode
raise JSONDecodeError("Expecting value", s, err.value) from None
json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "E:\NODEproject\QQ-robot\py\chat-gpt-qbot.py", line 31, in
chatbot = Chatbot(config, conversation_id=None) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "D:\Python\python-3.11.1-amd64\Lib\site-packages\revChatGPT\revChatGPT.py", line 69, in init
self.refresh_session()
File "D:\Python\python-3.11.1-amd64\Lib\site-packages\revChatGPT\revChatGPT.py", line 270, in refresh_session
if response.json() == {}: ^^^^^^^^^^^^^^^
File "D:\Python\python-3.11.1-amd64\Lib\site-packages\requests\models.py", line 975, in json
raise RequestsJSONDecodeError(e.msg, e.doc, e.pos)
requests.exceptions.JSONDecodeError: Expecting value: line 1 column 1 (char 0)
环境没装好吧