教程|搭建 ChatGPT 微信机器人,与 AI 对话更简单!
教程|搭建 ChatGPT 微信机器人,与 AI 对话更简单!
二歪同学教程|搭建 ChatGPT 微信机器人,与 AI 对话更简单!
之前,我通过 VS Code 插件调用 ChatGPT API 密钥实现便捷对话(点此查看原文),但是还不够方便,所以又折腾了一个更方便的办法,通过搭建 ChatGPT 微信机器人,来实现二十四小时、随时随地与 ChatGPT 对话。
一、效果预览
比如,我是一名中学生李华,需要给XXX写一篇英语作文,这对 AI 来说简直毫无困难,中学生简直狂喜,从此爱上写作文了,有木有😂
或者是说,有一段代码我看不懂了,可以通过 ChatGPT 对代码进行详细的分析,从而明白代码的作用。
总之,玩法还是很多,虽然针对中文语义下的体验还有待提升,但大部分场景下还是能比较愉快的玩耍,下面,我详细介绍 ChatGPT 微信机器人的搭建方法,看完以后,你也可以拥有属于自己的“专属”机器人。
二、搭建 ChatGPT 微信机器人
1.准备条件
在搭建机器人之前,我们需要准备以下必要条件:
- 服务器1台(或者电脑也可以)
- ChatGPT API 密钥
- 运行程序(下方有下载链接)
- 安装
Python
的运行环境(支持 Linux、MacOS、Windows 系统(可在Linux服务器上长期运行),建议Python版本在 3.7.1~3.9.X 之间,3.10及以上版本在 MacOS 可用,其他系统上不确定能否正常运行。)
2.安装机器人
(1)下载项目代码
如果你还有未安装
python
,请到官网(https://www.python.org/)下载安装。
接下来,我们需要在服务器(或电脑上)对微信机器程序进行安装,通过git
将程序从远程拉下来,并打开程序所在文件夹。
1 | git clone https://github.com/zhayujie/chatgpt-on-wechat |
如下图所示,在执行上方两行命令后,在服务器 **root** 目录下回有一个 **chatgpt-on-wechat** 文件夹,里面便是机器运行程序。
(2)安装核心依赖文件
在进入** chatgpt-on-wechat** 后,通过执行下方命令,对机器人所需的核心依赖文件进行安装。
1 | pip3 install itchat-uos==1.5.0.dev0 |
注:itchat-uos使用指定版本1.5.0.dev0,openai使用最新版本,需高于0.25.0。
(3)创建配置文件
因为我们克隆的项目根目录缺乏配置文件 config.json ,但在项目文件 config-template.json 有相应的配置文件模板,我们需要将配置文件复制一份过来。
1 | cp config-template.json config.json |
下面是配置文件的注释,可以根据自己的需求对配置文件进行修改。默认需要开启指定群聊生效,以及回复内容有“bot”标识。
然后在第一行的位置填写你的ChatGPT API 密钥。
1 | # config.json文件内容示例 |
下面是我自己的配置文件,默认开启所有群聊生效,回复去消息去掉了“bot”标识,更多配置说明请访问原项目查看,地址:https://github.com/zhayujie/chatgpt-on-wechat
1 | { |
(4)修改二维码过期时间
由于该项目默认二维码刷新时间较短,而且微信登录风控检测,需要等待5秒才能操作,所以无论你的手速有多快,都无法完成登录操作,所以这里需要对项目登录代码做一个修改。
首先我们通过命令查找一下项目安装目录:
1 | pip3 show itchat-uos |
在返回信息里,Location: /usr/local/lib/python3.6/site-packages
就是文件安装路径。
所以完整的源码路径应该为 /usr/local/lib/python3.7/site-packages/itchat/components/login.py
根据上述代码打开对应路径,并找到 login.py
文件,在 while not isLoggedIn
循环前加上一个sleep(15)
, 代码在第59行。
sleep(15)
就是登录二维码15秒后刷新的意思,当然,你也可以改成20秒、30秒,都可以。
(5)运行机器人
a.本地运行
如果你是在自己电脑上进行本地部署,那么直接在根目录执行下方命令即可。
1 | python3 app.py |
b.服务器部署
如果你和我一样,是在服务器端部署的机器人,通过执行 nohup
命令,让程序在后台运行,即可解放双手,让微信机器人24小时响应。
1 | touch nohup.out # 首次运行需要新建日志文件 |
(6)使用说明
完成以上操作后,你就拥有了自己的专属微信机器人,私聊可以直接对话,群内艾特机器人并提问即可,如果你使用的是默认配置文件,请将对应的群名称添加在配置文件内。
本文内容基于 github 开源项目实现,该项目基于ChatGPT的微信聊天机器人,通过 OpenAI 接口生成对话内容,使用 itchat 实现微信消息的接收和自动回复。已实现的特性如下:
- 文本对话: 接收私聊及群组中的微信消息,使用ChatGPT生成回复内容,完成自动回复
- 规则定制化: 支持私聊中按指定规则触发自动回复,支持对群组设置自动回复白名单
- 多账号: 支持多微信账号同时运行
- 图片生成: 支持根据描述生成图片,并自动发送至个人聊天或群聊
- 上下文记忆:支持多轮对话记忆,且为每个好友维护独立的上下会话
三、常见问题&注意事项
1.风险问题
通过服务器部署机器人会涉及异地登录,且大量消息请求具有潜在的账号封禁风险,所以请自备微信小号进行部署,不建议使用工作、生活主账号作为机器人。
2.ChatGPT API
ChatGPT API需要自行解决,具体方法可参考我上一篇内容介绍(点此查看),需要注意的是 API 请求一定的次数限制,所以公开的镜像站、同类体验页面均有此限制,所以随时会失效。
最后,我将自己部署的机器人拉了一个体验群,有需要的小伙伴可以进群体验,需要说明的是:
- 该功能随时会失效
- 该群仅用作体验 ChatGPT 机器人,后续会解散
- 无法加群请后台私信
- 进群后请自行开启群聊免打扰功能