实现在QQ上部署ChatGPT的一种可行方案
声明:仅作转载整理,非原创,详见参考链接。
近日ChatGPT大火,笔者也是搜索大量资料,搭建了一个属于自己的QQ-ChatGPT机器人。在这期间我尝试过许多版本,在这里写下最为简洁明了的一个版本,以供大家参考。如果你在搭建过程中遇到了任何问题,欢迎 加群讨论
参考链接:
[1]Mrs4s/go-cqhttp: cqhttp的golang实现,轻量、原生跨平台. (github.com),
[2][ChatGPT] 使用Python对接OpenAi APi 实现智能QQ机器人(四) - 官方开放接口 - Lucent's Blog
[3]lss233/chatgpt-mirai-qq-bot: 🚀 一键部署!真正的 QQ 聊天机器人!支持ChatGPT、文心一言、Bing、Bard,多账号负载均衡,人设调教,敏感词检测,虚拟女仆、对话上下文,图片渲染,代理加速 (内有视频教程)| 还支持 OneBot、Telegram、Discord 等平台 (github.com)
需要什么?:
一台具有python3.9以上环境的电脑或服务器(Win或Linux皆可);
一个openai账号(需要API);
国内环境需要科学上网工具;
基本的计算机操作基础。
前期准备:
在你的计算机上安装好Python环境,至于如何安装,自行百度相关教程。windows的过程十分简单,Linux可参考以下教程:Linux下安装Python3.9 - 简书 (jianshu.com)
建立你的安装目录,下载程序包并解压,下载链接:https://drive.fcip.xyz/s/cwr4ke
正式开始:
1.解压安装包
解压完成后,可以看到这样两个文件夹。其中,py用于存放程序本体,Qbot采用go-cqhttp框架与QQ进行通信。

2.打开py文件夹中的两个文件进行配置
windows下右键记事本打开即可,linux下可使用vim(非图形界面)或gedit(图形界面)

其中,config.json应该这样配置,都是字面意思,其余的参数有特殊要求可以自行更改如何获取api-key:首先打开科学上网工具,登陆 ai.com ,进入到正常聊天界面后,再进入 platform.openai.com 再右上角找到你的头像,鼠标悬停时会出现二级菜单

点击view API keys,进入以下界面
在左侧点击API Keys,复制右侧以sk-开头的一串字母即可,把它粘贴到config.json里面,可以复制多个。
这里的“人设“相关配置要直接描写详细的预设,注意是详细描写预设内容!下面会用到。例如:

至于从哪里获得预设,自行编辑或搜索。
(当然你也可以暂时不做配置,安装完再进行操作,这时,保持原有内容不变即可)
至此,config.json告一段落,开始配置ini.py。

各项参数的意义文件中已经给出,自行编辑即可。其中人格列表便是上文提到的要注意的地方,这里是你定义的人格的名字,不可以填写人格内容,要与config.json中的区分开。(同样的,如你暂时不需要预设,可以跳过这部分)
表情包部分存在一些bug,可能会出现一些问题,所以这里不做讲解,下个版本修复再说。配置完的效果应该如图

至此,ini.py配置完成。你还可以选择配置banlist.py,即黑名单的意思,自行操作不再讲解。
3.配置Qbot文件夹中的文件
进入Qbot文件夹,你只需配置config.yml中的以下部分

填好你用作机器人的qq号的相关信息,保存退出即可。
4.开始运行你的机器人
Windows环境
首先进入py文件夹,双击运行”安装依赖.bat“等待依赖安装完后关闭相应的终端窗口,然后双击运行”windows启动.bat“如果你看到以下界面,说明你的项目已经成功了1/2。这里要注意的是,启动后不要关掉这个终端窗口,这会使你的程序停止运行。

在进入Qbot文件夹,双击运行”go-cqhttp.bat“根据提示进行操作。

出现上面这个界面时,恭喜你,搭建步骤已经基本完成,现在进入QQ和你的ChatGPT聊天吧!
Linux环境
同样的,进入py文件夹,运行以下命令:
nohup python3 QBot.py &这样,QBot.py便可以在后台运行了。如果运行失败,会提示exited with code 0 这时你需要浏览相关日志看看是哪里出了问题。如何查看日志:
cat nohub.out下面还需要运行cq-http,第一次登陆时需要登陆账号,输入以下命令
cd ../Qbot #进入存放机器人的目录
chmod +x ./go-cqhttp
./go-cqhttp按照提示进行操作,登陆你的账号看到与windows部分登陆成功的日志相同的输出后,按Ctrl+C退出即可。下面执行以下命令
nohup ./go-cqhttp > logs/`date -d yesterday +%Y%m%d`.log 2>&1 & #后台运行机器人并且保存日志到指定位置即可保持go-cqhttp后台运行,将日志按照日期命名保存到./logs目录下。
现在恭喜你,搭建步骤已经基本完成,现在进入QQ和你的ChatGPT聊天吧!
5.指令说明
