更新记录
V1.0
成功搭建QQ机器人,接入ChatGPT的API
机器人QQ号:2641924697
可以选择与机器人私聊或者在群中@机器人进行提问(tips:在群聊中@机器人提问时,转发消息中的@无效)
提问时直接输入想要提问的问题即可
V1.1
新增功能:
聊天过程机器人可以联系上下文作出回答
用户发送“再见”时或累计发送词数超过1024时自动清除聊天记录(之前发送的消息无法在之后的提问中进行复现)
漏洞修复:
修复了无法识别提问信息中“+”符号的bug
项目搭建过程
想法来源
事实上,在ChatGPT的整体使用过程中,对于稳定的科学上网渠道始终有着一定的要求,一些客观因素日益严苛的限制条件使得使用的体验与便捷度并不尽如人意。基于这样的考量,同时也是受到软件设计老师提供的公用ChatGPT对话脚本(现已无法使用)的启发,决定基于python并利用网上开源的go-cqhttp和OpenAI官网提供的API接口使用方法例程等资源搭建QQ端的接口,使得更多人能够更加便捷地享受这一空前的语言模型带来的巨大红利。
具体实施
在利用ChatGPT进行咨询学习的过程中,我也意识到网页端ChatGPT使用的繁琐与不稳定,同时其使用也具有一定的门槛。虽然随着API的开放,国内也有很多镜像资源以及免费的平台可以实现与AI的交流,但对于大多数人来说,许多黑心商家利用ChatGPT外接套壳赚钱的现状还是让大家对于ChatGPT望而生畏。对于我个人而言,也是为了让自己能够更加便捷地与ChatGPT沟通进行学习,希望通过python脚本,利用QQ平台搭建机器人接通ChatGPT的API,以实现与ChatGPT更加快捷方便的沟通,并进一步方便更多的人。
整体架构搭建思路如下图所示。
获取API-KEY
由于本人的账号没有免费额度,特地从淘宝购入了大额度的api-key(实测可用)以进行进一步的搭建。
Django服务端接口的搭建
结合OpenAI官网提供的接入api-key的相关代码样例,完成了这一部分的搭建,通过运行manage.py服务器脚本,实现了在全局代理的前提下利用api-key通过本地8000端口与ChatGPT实现通信。
接入noneBot机器人聊天逻辑
借助现成的noneBot机器人聊天逻辑框架,将其接入上述已连接ChatGPT API服务的Django服务器端口实现机器人进一步构建;运行bot.py脚本即可打开聊天机器人终端。