ChatGPT近期以强大的对话和信息整合能力风靡全网,可以写代码、改论文、讲故事,几乎无所不能,这让人不禁有个大胆的想法,能否用他的对话模型把我们的微信打造成一个智能机器人,可以在与好友对话中给出意想不到的回应,而且再也不用担心女朋友影响我们
打游戏工作了。
最新版本支持的功能如下:
- 多端部署: 有多种部署方式可选择且功能完备,目前已支持个人微信,微信公众号和企业微信应用等部署方式
- 基础对话: 私聊及群聊的消息智能回复,支持多轮会话上下文记忆,支持 GPT-3,GPT-3.5,GPT-4模型
- 语音识别: 可识别语音消息,通过文字或语音回复,支持 azure, baidu, google, openai等多种语音模型
- 图片生成: 支持图片生成 和 图生图(如照片修复),可选择 Dell-E, stable diffusion, replicate模型
- 丰富插件: 支持个性化插件扩展,已实现多角色切换、文字冒险、敏感词过滤、聊天记录总结等插件
- Tool工具: 与操作系统和互联网交互,支持最新信息搜索、数学计算、天气和资讯查询、网页总结,基于 chatgpt-tool-hub 实现
欢迎接入更多应用,参考 Terminal代码实现接收和发送消息逻辑即可接入。 同时欢迎增加新的插件,参考 插件说明文档。
一键部署:
chatgpt-on-wechat-demo-0422.mp4
Demo made by Visionn
2023.04.26: 支持企业微信应用号部署,兼容插件,并支持语音图片交互,支持Railway部署,使用文档。(contributed by @lanvent in #944)
2023.04.05: 支持微信公众号部署,兼容插件,并支持语音图片交互,使用文档。(contributed by @JS00000 in #686)
2023.04.05: 增加能让ChatGPT使用工具的
tool
插件,使用文档。工具相关issue可反馈至chatgpt-tool-hub。(contributed by @goldfishh in #663)
2023.03.25: 支持插件化开发,目前已实现 多角色切换、文字冒险游戏、管理员指令、Stable Diffusion等插件,使用参考 #578。(contributed by @lanvent in #565)
2023.03.09: 基于
whisper API
(后续已接入更多的语音API
服务) 实现对微信语音消息的解析和回复,添加配置项"speech_recognition":true
即可启用,使用参考 #415。(contributed by wanggang1987 in #385)
2023.03.02: 接入ChatGPT API (gpt-3.5-turbo),默认使用该模型进行对话,需升级openai依赖 (
pip3 install --upgrade openai
)。网络问题参考 #351
2023.02.09: 扫码登录存在账号限制风险,请谨慎使用,参考#58
前往 OpenAI注册页面 创建账号,参考这篇 教程 可以通过虚拟手机号来接收验证码。创建完账号则前往 API管理页面 创建一个 API Key 并保存下来,后面需要在项目中配置这个key。
项目中默认使用的对话模型是 gpt3.5 turbo,计费方式是约每 500 汉字 (包含请求和回复) 消耗 $0.002,图片生成是每张消耗 $0.016。
支持 Linux、MacOS、Windows 系统(可在Linux服务器上长期运行),同时需安装 Python
。
建议Python版本在 3.7.1~3.9.X 之间,推荐3.8版本,3.10及以上版本在 MacOS 可用,其他系统上不确定能否正常运行。
(1) 克隆项目代码:
git clone https://github.com/zhayujie/chatgpt-on-wechat
cd chatgpt-on-wechat/
(2) 安装核心依赖 (必选):
能够使用
itchat
创建机器人,并具有文字交流功能所需的最小依赖集合。
pip3 install -r requirements.txt
(3) 拓展依赖 (可选,建议安装):
pip3 install -r requirements-optional.txt
如果某项依赖安装失败请注释掉对应的行再继续。
其中tiktoken
要求python
版本在3.8以上,它用于精确计算会话使用的tokens数量,强烈建议安装。
使用google
或baidu
语音识别需安装ffmpeg
,
默认的openai
语音识别不需要安装ffmpeg
。
参考#415
使用azure
语音功能需安装依赖,并参考文档的环境要求。
:
pip3 install azure-cognitiveservices-speech
配置文件的模板在根目录的config-template.json
中,需复制该模板创建最终生效的 config.json
文件:
cp config-template.json config.json