快速搭建ChatGPT的AI聊天QQ机器人[含问题解决办法](5分钟在qq群搭建chatgpt机器人)
5分钟在qq群搭建chatgpt机器人
ChatGPT是一个能够进行自然语言处理的开源模型,可以用来构建智能聊天机器人。在QQ群中搭建ChatGPT机器人可以为群聊增加趣味性和便利性。下面是搭建QQ群ChatGPT机器人的大纲:
一、准备工作
- 确保具有魔法(一个幽默的点缀)
- 确保具有有效的ChatGPT账户和API key
二、搭建进程
- 安装nonebot2框架
- 安装cqhttp插件
- 安装ChatGPT for Bot插件
- 启动机器人
参考nonebot2官方文档快速上手
简化安装步骤
下载并解压cqhttp插件
配置config.yml文件
下载ChatGPT for Bot插件
配置config.yml文件中的API key
使用docker命令启动机器人容器
设置机器人回复前缀和会话结束提示
三、ChatGPT机器人的利用
- 一对一聊天功能
- 在群聊中问答功能
在私聊中与机器人进行智能对话
享受个性化的聊天体验
在QQ群中发问并获得机器人的回答
为群聊增加趣味性和互动性
四、拓展利用
- 自定义插件开发
使用nonebot2开发个性化的聊天插件
扩大机器人的功能和利用场景
通过依照上述大纲,你可以快速了解怎样在QQ群中搭建ChatGPT机器人并享受智能聊天的乐趣。
5分钟在qq群搭建chatgpt机器人的进一步展开说明
技术视角深入 ChatGPT
一、cqhttp
1. 下载cqhttp
首先安装 cqhttp 框架,我们从 release 界面下载最新版本的 go-cqhttp,需要根据区别的系统选择区别的文件,例如,如果你正在使用 macOs 系统,则下载 go-cqhttp_darwin_amd64.tar.gz。
2. 启动
解压下载的紧缩包,并将文件放入你的项目文件夹中。进入你的项目文件夹,在 vscode 中打开终端(在这个文件夹中打开终端便可),运行命令 ./go-cqhttp。
首次启动时,cqhttp会读取当前目录下会不会有 config.yml 文件,如果没有,则会生成一个配置文件。 根据提示选择编号3(由于 nonebot 暂时只有反向socket),重新启动后如果成功会显示以下信息:
在这个文件夹中,多了一个 config.yml 的配置文件。修改两个地方:
- QQ账号(在配置文件第4⑸行)第一个是qq号,第二是密码,不填可以用扫二维码登录
- 反向 websocket 服务器地址(第99行)修改成以下所示:- ws-reverse: universal: ws://127.0.0.1:8080/onebot/v11/ws
配置好后记得保存,再次运行命令 ./go-cqhttp,在 vscode 的终端控制台会有 log 信息,并弹出二维码,用刚刚配置文件中的 qq 账号扫码登录,便可看到下面的信息。并且会在文件夹里生成 session.token 的文件,即是你登录状态的 token,下次运行时不再需要登录。
至此 cqhttp 部份结束。
二、NoneBot
1. 安装
确保 Python 版本在 3.8 以上,我这里用的是最新的 Python 3.11。
在当前项目根目录下,使用 venv 创建一个虚拟环境,并使用 source 加载环境:
python3 --version
python3 -m venv venv
source venv/bin/activate
会看到命令行前面有个 venv 标识,即成功。随后使用 pip3 安装 nonebot 脚手架,并通过 nb 命令创建 bot 代码,通过 nb run 运行 bot。
注意:pip 安装速度慢,建议更换国内源。
pip3 install nb-cli
pip3 install nonebot-adapter-onebot nb
在第 3 项和第 4 项的选择中,可以看到前面是空心的,请按空格选中某一项再按回车。现在的目录结构以下:Bot 为刚刚 nb 命令创建的项目。
2. 启动
使用 nb run 启动 bot,或使用 python3 bot 来启动。
在这时候,可能会遇到报错“fastapi.exceptions.FastAPIError: Invalid args for response field! Hint: check that
使用命令 pip3 list,可以看到 fastapi 的版本是 0.89.0。使用命令 pip3 install fastapi==0.88.0,对该依赖进行降级。然后重新运行 nb run 命令,便可看到运行成功了。这时候候可以正常测试机器人的功能了。
不要关闭这个终端,打开一个新的终端,保证其运行目录为项目根目录而不是其中的文件夹 bot。
运行 ./go-cqhttp 可以看到提示“已连接到反向 WebSocket Universal 服务器”。
回到刚刚的终端,也可看到 NoneBot 也提示“[INFO] logging | connection open”。
三、ChatGPT插件
1. 安装
安装之前先关闭上一步启动的机器人。在 bot 文件夹中履行命令,安装 ChatGPT 插件:
nb plugin install nonebot-plugin-chatgpt
由于我们使用的是 DEV 环境,在 bot 文件夹下的 .env.dev 文件中添加三项插件配置:
CHATGPT_SESSION_TOKEN = "XXX"
CHATGPT_COMMAND = "你好AI聊天机器人"
CHATGPT_TO_ME = "False"
由于 onebot 默许是使用 / 开头作为命令的,如果你不想添加这一个斜杆,可以继续在配置文件中添加以下配置:
command_start =[ "" ]
记得保存。
2. 启动
使用命令 nb run 启动机器人,并保证第一部份的 go-http 是开启状态。
在 QQ 中通过好友发送消息,便可取得回答。
启动时其实不会报错,但在发送消息后等待机器人响应时可能会出现毛病。提示报错最后带有这样的信息:“AttributeError: ‘NoneType’ object has no attribute ‘new_page’”。
在毛病信息中可以找到答案,有一个叫 Playwright 的框架提示你会不会只是下载了但没有安装。这是 ChatGPT 加了避免机器人限制以后的一种解决方法,是通过 Playwright 浏览器测试框架打开一个浏览器窗口(实际在后台打开没有实际窗口)来摹拟通过浏览器页面来调用 API。大佬们真的都很牛。
这里我们只需要履行安装便可,运行命令 playwright install,等待便可。安装好后,再次运行命令 nb run 便可享受 ChatGPT 的 AI 对话啦。
参考文章
本文参考自大佬文章:“5分钟在QQ群搭建ChatGPT机器人!”。
但是,依照上述文章进行安装时,遇到了几个问题。通过自己的努力解决后,现在将它们分享出来。如果能帮到遇到一样问题的朋友就很高兴了。
以上是对原文的改写,仅供参考。
5分钟在qq群搭建chatgpt机器人的常见问答Q&A
问题1:ChatGPT是甚么?
答案:ChatGPT是一种自然语言处理模型,可以用于生成人类类似的文本响应。它是由OpenAI开发的,使用了大量的语料数据进行训练。ChatGPT可以用于构建聊天机器人、问答系统等各种自然语言处理任务。
- ChatGPT使用了大范围的无监督学习,在海量文本数据中学习语言模型。
- ChatGPT的生成结果可以在很多实际利用中使用,例如智能助手、客服系统等。
- ChatGPT在生成文本时可以接收上下文信息,并生成与之相关的文本响应。
问题2:怎么搭建基于ChatGPT的QQ机器人?
答案:搭建基于ChatGPT的QQ机器人可以遵守以下步骤:
- 准备机器人所需的环境和工具,例如安装Python和QQ机器人开发框架NoneBot2。
- 获得ChatGPT模型,并将其集成到QQ机器人中。
- 配置机器人的QQ号码和其他必要的信息。
- 编写机器人的逻辑,包括接收要求、生成响应等。
- 测试机器人的功能和性能。
- 部署机器人到QQ群或其他聊天平台中。
这些步骤可以根据具体的需求和环境来进行调剂和扩大。建议参考相关的教程和文档来了解更详细的搭建步骤和注意事项。
问题3:有哪几种参考资料可以用于搭建ChatGPT的QQ机器人?
答案:以下是一些参考资料,可以帮助你搭建基于ChatGPT的QQ机器人:
- 《【有手就行】5分钟教你把ChatGPT接入QQ,搭建你的专属聊天机器人》- 一篇知乎文章,详细介绍了怎样使用ChatGPT搭建QQ机器人。
- 《从零开始搭建一个基于ChatGPT的QQ机器人 – 知乎》- 一名技术博主分享的搭建教程。
- 《5分钟搭建ChatGPT机器人_李世龙的技术博客_51CTO博客》- 一篇介绍了怎样快速搭建ChatGPT机器人的博客文章。
这些参考资料提供了区别角度和层次的搭建指点,可以根据自己的需求选择合适的参考资料来学习和实践。