一、环境&项目准备
1.运行环境
支持 Linux、MacOS、Windows 系统(Linux服务器上可长期运行)。同时需安装 Python,建议Python版本在 3.7.1~3.10 之间。
CentOS 7.x版本默认带的python版本是2.75,需要手动升级为3.8+
升级教程为:
https://www.toutiao.com/article/7234047994826785341/
项目代码克隆:
在命令行输入:
git clone https://github.com/zhayujie/bot-on-anything

输入:
cd bot-on-anything/
以下是项目,目录情况。

二、获取OpenAI API
1. ChatGPT
默认模型是 gpt-3.5-turbo,详情参考官方文档,同样支持gpt-4.0,只需修改model type参数即可。
(1) 注册 OpenAI 账号并且获取 API Key
前往 OpenAI注册页面 创建账号,参考这篇 教程 可以通过虚拟手机号来接收验证码。创建完账号则前往 API管理页面 创建一个 API Key 并保存下来,后面需要在项目中配置这个key。
项目中使用的对话模型是 davinci,计费方式是约每 750 字 (包含请求和回复) 消耗 $0.02,图片生成是每张消耗 $0.016,账号创建有免费的 $18 额度,使用完可以更换邮箱重新注册。
三、接入个人微信
安装依赖:
pip install itchat-uos==1.5.0.dev0
pip install --upgrade openai
注:itchat-uos使用指定版本1.5.0.dev0,
openai使用最新版本,需高于0.27.0。
坑1:
这里可能会出现报错:

提示没有高于0.27.0的版本,这里需要升级一下php命令。
pip config set global.index-url https://repo.huaweicloud.com/repository/pypi/simplepip config listpip install -U pip
然后再升级
pip install --upgrade openai
pip install itchat-uos==1.5.0.dev0

配置项说明:

系统有一个配置文件的模板,我们只需要根据配置文件的模板创建配置文件即可。
下面是小编为大家整理的配置文件,可以直接COPY,换成自己的KEY即可。
创建config.json
{"model": {"type": "chatgpt","openai": {"api_key": "YOUR API KEY","api_base": "","model": "gpt-3.5-turbo","proxy": "","conversation_max_tokens": 1000,"temperature": 0.75,"top_p": 0.7,"frequency_penalty": 0.0,"presence_penalty": 1.0,"character_desc": "你是ChatGPT, 一个由OpenAI训练的大型语言模型, 你旨在回答并解决人们的任何问题,并且可以使用多种语言与人交流。当问起你是谁的时候,要附加告诉提问人,输入 #清除记忆 可以开始新的话题探索。输入 画xx 可以为你画一张图片。"}},"channel": {"type": "wechat","single_chat_prefix": ["bot","@bot"],"single_chat_reply_prefix": "[bot] ","group_chat_prefix": ["@bot"],"group_name_white_list": ["魔法世界"],"image_create_prefix": ["画","看","找一张"],"wechat": { }}}
启动项目
个人微信的配置项放在和 type 同级的层次,表示这些为公共配置,会复用于其他应用。配置加载时会优先使用模块内的配置,如果未找到便使用公共配置。
在项目根目录下执行 python3 app.py 即可启动程序,用手机扫码后完成登录。
修复 itchat bug
如果 扫码后手机提示登录验证需要等待5s,而终端的二维码一直刷新并提示 Log in time out, reloading QR code,可以执行以下脚本快速修复:
bash fix-itchat.sh
若自动修复无效。
坑2:
登录超时,重新加载二维码。二维码一直刷新,手机来不及登录
临时方法可以在itchat/components/login.py的login()函数中,在进入while not isLoggedIn循环前增加一个time.sleep(15)

四、使用说明
1:私聊
前面用bot 加上你想的问题就可以了。

2:群聊
直接@即可。

目前主流的GPT项目都是可以接入的,不仅是微信,下面的这些渠道都是可以接入的:
