欢迎光临散文网 会员登陆 & 注册

将ChatGPT接入QQ机器人

2023-03-14 11:04 作者:EucalyptLuvK  | 我要投稿

0x01

ChatGPT 在3月初 推出了 `gpt-3.5-turbo` 模型,生成答案的速度更快,每千 tokon 的价格进一步降低至 $0.002。

外加网页版的访问越来越困难,DNS污染 + cf 限制运营商 IP 访问的双重夹击

所以上周花了点时间,研究了一下 [go-cqhttp](https://github.com/Mrs4s/go-cqhttp) 和 openai 开放的 [api](https://platform.openai.com/docs/guides/chat/introduction),将两头对接起来,写了一个 QQ 机器人程序,直接用 QQ 对话来使用 ChatGPT:

chatbot 1


程序用 Rust 语言编写,现已更新 release v0.2.0,开源在 [qbot](https://github.com/EluvK/qbot)


0x02

原理上很简单:监听 go-cqhttp 的消息通知,对其中的私聊消息和群聊@消息进行处理,请求 openai 的 api,得到返回结果后再通过 go-cqhttp 回复消息。(接口战士)

然后进一步的可以开发更多便捷的功能:


✔ bot 程序保存住对话历史,作为后续请求的上下文,就可以得到连续对话体验。

✔ 机器人指令 (清理对话历史,切换预设角色)

✔ 黑名单管理

✔ 通过 proxy 转发请求 openai,这样机器人也可以部署在国内的服务器上(有利于 QQ 登陆稳定安全)


0x03

开发过程中的一点感想:

尊重他人命运,放弃助人情节。愿意折腾的人自有途径去获取到他想要的工具。开发群聊功能让我掉入了处理无意义需求的陷阱里,最终也得不到想要的结果。

不过简单搜索了下,同类型的机器人里也没有用 Rust 写的,作为对开源世界的一点微不足道的贡献,还是分享出来。希望能够帮助到想把 ChatGPT 作为开发辅助工具的同学。愿意部署自己的bot的同学可以在上面的开源仓库里找到方法。


chatbot 2


# 商业转载请联系作者获得授权,非商业转载请注明出处。
# For commercial use, please contact the author for authorization. For non-commercial use, please indicate the source.
# 协议(License):署名-非商业性使用-相同方式共享 4.0 国际 (CC BY-NC-SA 4.0)
# 作者(Author):Mr.Eucalypt
# 链接(URL):https://blog.eluvk.cn/rust/2023/03/%e5%b0%86chatgpt%e6%8e%a5%e5%85%a5qq%e6%9c%ba%e5%99%a8%e4%ba%ba/
# 来源(Source):Eluvk

将ChatGPT接入QQ机器人的评论 (共 条)

分享到微博请遵守国家法律