![](https://cdn.jsdelivr.net/gh/upfind/pic-cloud/pic/202312211746065.jpg)
微信机器人(1):开通微信自动回复
风险提示
本项目原理是通过模拟桌面端微信登录,实现微信消息收发功能,请谨慎使用!!!
前言
如何将个人微信开通自动回复功能呢?
本篇将通过使用chatgpt-on-wechat项目实现微信自动回复,并通过引入ChatGPT 将个人微信打造成一个微信智能聊天机器人;
能够在私聊、群聊中实现智能问答,能够识别语音消息,通过文字或者语音进行回复;同时还能处理文本、合成语音、并按照指令生成图片。
成果展示
TODO 项目截图
TODO bilibili视频地址
快速开始
1、环境准备
重要
本文将在windows上通过本地运行的方式演示项目,项目为python项目,故运行前需要搭建python环境,请 参考教程
2、下载项目
创建一个新的文件夹保存项目工程,如 D:\projects 打开命令行工具 windows Terminal,执行命令:
cd D:\projects
git clone https://github.com/zhayujie/chatgpt-on-wechat
3、安装依赖
进入项目文件
cd chatgpt-on-wechat
安装项目依赖,使用清华源去下载依赖,速度会更快
pip install -r requirements.txt
pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple/
4、修改配置
cp config-template.json config.json
打开配置文件如下
{
"channel_type": "wx",
"model": "",
"open_ai_api_key": "YOUR API KEY",
"text_to_image": "dall-e-2",
"voice_to_text": "openai",
"text_to_voice": "openai",
"proxy": "",
"hot_reload": false,
"single_chat_prefix": [
"bot",
"@bot"
],
"single_chat_reply_prefix": "[bot] ",
"group_chat_prefix": [
"@bot"
],
"group_name_white_list": [
"ChatGPT测试群",
"ChatGPT测试群2"
],
"group_chat_in_one_session": [
"ChatGPT测试群"
],
"image_create_prefix": [
"画"
],
"speech_recognition": true,
"group_speech_recognition": false,
"voice_reply_voice": false,
"conversation_max_tokens": 2500,
"expires_in_seconds": 3600,
"character_desc": "你是ChatGPT, 一个由OpenAI训练的大型语言模型, 你旨在回答并解决人们的任何问题,并且可以使用多种语言与人交流。",
"temperature": 0.7,
"top_p": 1,
"subscribe_msg": "感谢您的关注!\n这里是ChatGPT,可以自由对话。\n支持语音对话。\n支持图片输入。\n支持图片输出,画字开头的消息将按要求创作图片。\n支持tool、角色扮演和文字冒险等丰富的插件。\n输入{trigger_prefix}#help 查看详细指令。",
"use_linkai": false,
"linkai_api_key": "",
"linkai_app_code": ""
}
项目提供了多种AI能力,默认为chatGPT,还支持使用 百度文心一言、讯飞星火、LinkAI,由于chatGPT 需要科学上网,所以本篇中我们通过使用LinkAI的形式为大家演示
![](https://cdn.jsdelivr.net/gh/upfind/pic-cloud/pictures/2023/12/3_14_57_57_202312031457613.png)
use_linkai
默认关闭,设置为true后对话将通过linkai平台完成,无需海外网络环境和OpenAI账号。- 如果国内部分地区出现延迟较高或无法访问,可在根目录
config.json
中添加:"linkai_api_base": "https://api.link-ai.chat"
1.API Key创建
linkai_api_key
参数是 LinkAI平台的 api_key,在控制台中创建即可:
![](https://docs.link-ai.tech/static/platform/api-key.jpg)
2.App Code获取 (可选)
而另一个参数 linkai_app_code
则是上一步 应用创建 时生成的,点击code即可复制 (注意是应用code不是知识库的code):
![](https://docs.link-ai.tech/static/platform/app-sample.jpg)
提示
同时也可以接入广场中公开的任何应用,进入应用对话后,url最后的一段字符串就是该应用的code,或者点击右上角的分享按钮也能获取到它的code。 linkai_app_code
为空时表示不使用任何应用,将直接进行请求转发,如果没有 OpenAI账号或可访问的网络环境 时可以使用该方式轻松访问。基于这个特性,目前 linkai 已经可以兼容大部分的插件。
1.应用创建
首先在讯飞星火的后台创建应用
2.获取应用认证信息
点击应用列表中的应用,进入应用详情页,在详情页中可以查看 APPID
、APISecret
、APIKey
![](https://cdn.jsdelivr.net/gh/upfind/pic-cloud/pic/202312111039485.png)
3.修改项目配置文件
首先将config.json配置文件中 model 改为 xunfei 表示使用讯飞大模型
然后在 配置文件底部 加入 讯飞大模型的应用认证信息
![](https://cdn.jsdelivr.net/gh/upfind/pic-cloud/pic/202312111044645.png)
这样就配置完成了,启动项目机器人就会调用讯飞大模型进行回复了
相关信息
待实现
运行项目
填写完配置后启动项目,项目模拟微信桌面端登录。
python app.py
执行命令后,会弹出一个二维码图片,使用手机微信扫码同意登录后,当出现如下图提示,代表机器人已启动成功。 这时,其他人便能给你发消息,并收到智能回复了,效果如下图。
思考
聪明的你应该已经发现了一些问题,例如。
- 发送的消息和接收的消息前边都是以bot开头的,如果不想使用这个开头该如何设置呢?
- 如果需要支持群聊,应该如何设置实现呢?
- LinkAI 的使用是收费的,注册创建ApiKey会免费赠送600积分,如果不想使用他的AI能力,能不能自己实现一个机器人免费使用呢,自定义实现一些个性化回复呢?
相关信息
以上问题的答案都是肯定的,你可以先仔细观察 config.json
中的配置项,下一期,我们会通过一个具体的实例,详细讲解这些配置项。
下期预告
下一期我们将通过源码分析的形式,梳理自动回复整个流程的逻辑与具体实现,为后续我们实现自己的售货机器人打下理论基础
微信扫一扫 关注该公众号