上一篇,带领大家薅了一台腾讯云服务器:玩转云服务:手把手带你薅一台腾讯云服务器,公网 IP。
基于这台服务器,今天我们一起动手捏一个基于 LLM 的微信机器人。
0. 前置准备
除了自己常用的微信账号以外,还需要准备一个微信小号(强烈建议用小号,否则有封号的风险,且小号须实名认证!)。
如何实名认证:在手机端微信中,依次点击:我 -> 服务 -> 钱包 -> 底部的身份信息。
最终我们会把这个小号改造成一个基于 LLM 的微信机器人,它可以在你的微信聊天窗口中,回答你的一切问题,就像你用 GPT/Kimi 的聊天窗口一样,不过它嵌入在你的微信 APP 中,随时唤起,使用更加方便。
此外,我们还可以通过加入其他插件,赋予它更多智能,将其打造成一个个性化的 AI 助理,帮你完成更多复杂任务。
1. 准备 LLM 模型
如果你有 OpenAI 的账号,能够使用 GPT 自然是再好不过的。
如果没有,也没关系,国内也有很多 GPT 平替。
本文,将以 智谱的 GLM 为例,带大家走完整个流程,后续你想换用任意 LLM 都一样的~
智谱 GLM 传送门:https://open.bigmodel.cn/
进入后,注册一个账号,认证成功后,新用户会赠送 18 元额度,后续使用过程中注意账户余额哦,不过体验是绰绰有余了~
接下来,需要拿到 GLM 的 API Key。
如果之前注册过,直接在这里取用:
如果没有,点击这里,新生成一个:
2. 配置环境
在上一篇手把手带你薅一台云服务器,我们已经新建了一个名叫 ai 的 Python 虚拟环境。
如果你也参照上一篇配置好了 VS Code 远程登陆,那么进来后默认就是 ai 的虚拟环境,后面在这里进行配置文件的修改将会非常方便:
接下来,我们直接在这个环境中进行项目安装。
2.1 chatgpt-on-wechat 安装
本次应用,将主要基于 chatgpt-on-wechat 这个开源项目。
先通过 git 将这个项目下载下来:
git clone https://github.com/zhayujie/chatgpt-on-wechat
然后安装必要的包:
# 进入项目目录
cd chatgpt-on-wechat/
# 更换 pypi 源,加速库的安装(强烈推荐)
pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple
pip install -r requirements.txt
pip install -r requirements-optional.txt
pip install zhipuai
2.2 修改配置文件
首先在项目根目录下,将模板配置文件复制一份:
# 复制一份配置文件,方便修改
cp config-template.json config.json
如果你已经实现了 VS Code 远程登陆,在 VS Code 编辑器中修改非常方便,如下图所示:右侧栏是模板配置,左侧是我们复制的配置文件,因为我们的 LLM 采用的是 GLM,所以这里修改为zhipu_ai 的api key 和 url。
config.json
还有几个参数需要注意一下:
- “single_chat_prefix”: [“bot”,“@bot”]:代表私聊时,你召唤机器人时要加的前缀,如果不需要任何前缀,也可以置空;
- “single_chat_reply_prefix”: "[bot] ":代表私聊时,机器人回复你时,要加的前缀,同样可以置空
- “group_chat_prefix”: [“@bot”]:代表群聊时,你召唤机器人时要加的前缀
- “group_name_white_list”: [“ALL_GROUP”]:代表哪些群里可以使用机器人
- “character_desc”: 你给机器人的人设提示词
此外,除了在 VS Code 编辑器中修改以外,宝塔面板中也支持文件修改,左侧菜单栏找到 文件
,找到项目文件所在目录,双击config.json
进行修改,修改后记得手动保存:
3. 开始部署
3.1 服务启动
回到项目根目录,采用如下命令:
# 启动服务,需要回到项目根目录
cd ../..
# 新建日志文件
touch nohup.out
# 后台挂起启动命令,即使终端被kill,服务也不会中断;
# tail -f nohup.out 代表实时打印日志最后几行
nohup python app.py & tail -f nohup.out
3.2 服务测试
服务启动成功后,你会在终端看到如下输出:
用你的微信小号扫码登录,本质上是在这台服务器上启动一个你的微信客户端。
一旦出现 Start auto replying
,代表启动成功了,此时你可以用你的微信大号,给小号私聊发一条信息,稍等片刻,会收到已经被机器人托管的小号给你的回复。
同时在终端,也会看到如下日志信息。
至此,你扫码的微信已经变成一个机器人了,需要注意的是:必须保证小号的手机微信在线,否则远端也会下线。
3.3 报错解决
如果启动失败,需要找到并解决 bug 后再重新启动,为此可以通过如下命令找到服务对应的进程ID,然后 kill 掉。
ps aux |grep python
kill -9 91548
写在最后
至此,我们一起走完了 “搭建一个微信机器人” 的完整流程。
也许看到这里的你,会有个疑问:拿到这个微信机器人,有什么用?
上述步骤只是带大家快速走完整个流程,并不代表微信机器人只能简单地完成对话任务~
chatgpt-on-wechat
项目中还支持多种插件,从而实现查天气、查快递、设置定时提醒等。。。
先放两张图给大家直观感受下~
敬请期待(下篇预告): chatgpt-on-wechat
插件安装和使用,给微信机器人装上三头六臂。
如果本文对你有帮助,欢迎点赞收藏备用!
我是猴哥,一直在做 AI 领域的研发和探索,会陆续跟大家分享路上的思考和心得,以及干货教程。
新朋友欢迎关注 “猴哥的AI知识库” 公众号,下次更新不迷路。