Lucent's Blog

当时明月在 曾照彩云归

人生不相见,动如参与商。

6LCi5Y2O5qKFLOaIkeaDs+S9oOS6hg==


[ChatGPT] 使用Python对接OpenAi APi 实现智能QQ机器人(三) - 搭建QQ机器人

前两个文章我们已经解决了和ChatGPT通信的问题和QQ处理消息的问题,现在我们就需要处理如何监听QQ消息了

2023-02-22 21:32

  • 逆向接口版本更新,Windows和Linux都可以直接使用
  • 点击下载

2022-12-14 19:56

官方接口版本发布,速度更快,接口更稳定 请查看: https://lucent.blog/?p=101

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/ ChatGPT首页.png 登录后按F12打开调试面板,安装图中操作,将token复制出来并保存 复制token.png

获取Api Key

这一步是可选的,如果你打算使用AI画图,请获取一下API Key 登录OpenAi官网后 https://beta.openai.com/login/ 点击下面链接生成Api Key: https://beta.openai.com/account/api-keys image.png 生成Api Key之后保存好

修改代码

可以使用我打包好的文件,也可以根据前两个文章自行开发,推荐使用我打包好的(Windows、Linux通用): 点击下载

下载解压后你会得到如下文件 文件夹介绍.png 首先我们修改逻辑处理端,打开py文件夹 image.png 用一个合适的编辑器打开config.json,如果没有合适的,用记事本打开也行 image.png

如果所有消息都想用图片回复,max_length可以设置为0,如果不想使用图片回复,可以设置为9999

打开后按图上的提示修改,修改后保存即可

然后修改 *QQ机器人\QBot* 文件夹下的 config.yml 这里可以不填密码,密码留空即可强制扫码登录 配置文件1.png 配置文件2.png

启动服务

启动逻辑处理端

打开文件夹: QQ机器人\py Windows系统双击 python-3.11.1-amd64.exe 安装Python环境 已经有Python环境的不用安装 py安装.png

Linux系统请根据系统自行安装 环境安装完成之后,双击 安装依赖.bat 安装依赖 Linux系统请使用如下命令安装:

pip3 install -r requirements.txt

依赖安装完成后,双击 windows启动.bat 启动逻辑处理端 Linux系统使用如下命令启动:

# 前台运行
py chat-gpt-qbot.py
# 后台运行
nohup py chat-gpt-qbot.py &

启动后如下图所示 启动py2.png 此时我们可以用浏览器访问 127.0.0.1:7777 可以看到如下图所示 image.png

启动监听端

打开文件夹 QQ机器人\QBot Windows 双击 go-cqhttp.bat 即可启动 注意此时需要输入 2 并回车,选择扫码验证登录 启动cq1.png 扫码后即可登录成功 启动cq2.png

注意:如果你打算部署到Linux服务器(不管什么系统的云服务器)上,你依然需要完成上述步骤,即在电脑上登录一次,然后将QBot文件夹里生成的文件上传到你的服务器上再完成启动流程(防止QQ风控)

如果你看到下面这种提示,忽略就行不用管 image.png

Linux启动需要使用如下命令:

# 前台运行命令
./go-cqhttp
# 后台运行命令
nohup ./go-cqhttp > logs/`date -d yesterday +%Y%m%d`.log 2>&1 &

测试

私聊测试

机器人回答.png

拉群测试

拉群测试2.png

画图测试

直接生成图像:是将你的描述直接生成一个图 image.png

生成图像:是将你的描述由ChatGPT润色后,根据其润色后的结果生成图像 image.png

到此,您就拥有了一个接入了ChatGPT的QQ机器人 如果您有不懂的地方,欢迎加群讨论: 206867743

上一篇

很多人搭建好QQ机器人后跟我反馈,说比官网速度要慢,是不是网络原因?下面我给出我的观点QQ机器人比ChatGPT官网上给人的感觉是回复慢,这是事实,原因有以下几点:国内网络原因,连接官方接口速度确实慢最近ChatGPT爆火,用户快速增加,官方接口压力倍增,相对于刚刚开放时速度也确实慢了官网使用流的方…

阅读
下一篇

上个文章我们实现了一个接口,用代码成功获取到了ChatGPT的对话内容,下面我们将继续完善QQ机器人相关逻辑,注意看代码中的注释chat-gpt-qbot.pyimport flaskimport jsonimport requestsfrom flask import requestfrom re…

阅读