前言
这个项目在去年的这个时间段还是一个热门话题,但现如今早已冷淡了
由于最近开始尝试搬运一些自己的博文到个人公众号上,所以打算尝试一下这个有意思的项目
在大的聊天群,微信公众号,企业客服等场景下,都可以将GPT(AI)进行接入
如果想体验一下效果大家可以在文章末尾点击Yiming的小站进行关注
目前还没有什么内容,后续会慢慢将CSDN的一些博文搬运至个人公众号,以及一些软件资源在百度网盘的链接。
正文
准备工作
在开始之前需要做好的准备
这三个是我在接入过程中遇到的最主要的问题——解决了基本上就是一马平川
Python3.8的系统环境(3.7-3.9,其他的都不行),如果是国内服务器一定要做好代理配置,还需要空出80端口
因为选择的是公众号接入,所以只能选择远程服务器部署
如果你的系统环境不符合要求,可以看看我之前的这三篇文章进行调整
https://yiming1234.blog.csdn.net/article/details/138714826
https://yiming1234.blog.csdn.net/article/details/138716838
https://yiming1234.blog.csdn.net/article/details/138722125
项目地址
github地址开源项目
https://github.com/zhayujie/chatgpt-on-wechat
官方使用文档
https://docs.link-ai.tech/cow/multi-platform/wechat-mp
具体步骤
在root文件夹下操作即可,需注意python和python3的区分,视个人情况而定。
git clone https://github.com/zhayujie/chatgpt-on-wechat
cd chatgpt-on-wechat/
pip install -r requirements.txt //必选依赖
pip install -r requirements-optional.txt //可选依赖
cp config-template.json config.json
touch nohup.out //首次运行需要新建日志文件
nohup python app.py & tail -f nohup.out //在后台运行程序并通过日志输出二维码
tail -f nohup.out //再次打开只需输入
ps -ef | grep app.py | grep -v grep //查看进程PID
通过 Ctrl+C 关闭日志,不会影响后台程序的运行,因为是公众号不是个人账号,所以不需要进行扫码操作
其实官方使用文档中已经写得很详细了,注册和认证过程省略
微信公众号平台配置的流程如下:
- 在公众平台启用开发者密码 (对应配置
wechatmp_app_secret
),并将服务器ip填入白名单中 - 按上图填写
config.json
中与公众号相关的配置,要与公众号后台的配置一致 - 启动程序,启动后会监听80端口 (若无权限监听,则在启动命令前加上sudo;若80端口已被占用,则关闭该占用进程)
- 在公众号后台启用服务器配置并提交,如果保存成功则表示已经成功配置。注意 “服务器地址(URL)” 这一项需要配置为
http://{HOST}/wx
的格式,其中 {HOST} 可以是服务器的ip或域名。
遇到的问题
将GPT接入个人公众号的时候config.json的格式非常重要,不然就会看到日志报错
常见的错误有:python库缺失,json解析错误,接口连接超时,端口进程占用等等。这都需要自己一一去解决。
个人成功config.json样例,仅供参考
{
"channel_type": "wechatmp", //聊天类型
"model": "gpt-3.5-turbo",
"open_ai_api_key": "", //GPT密钥
"proxy": "http://127.0.0.1:7890", //配置的代理
"hot_reload": false,
"speech_recognition": true,
"group_speech_recognition": false,
"voice_reply_voice": false,
"conversation_max_tokens": 2500,
"expires_in_seconds": 3600,
"character_desc": "你是基于自由的科学家搬运的AI智能助手,旨在回答并解决访客的任何问题。",
"temperature": 0.7,
"subscribe_msg": "感谢您的关注!\n这里是基于自由的科学家搬运的AI智能助手,可以自由对话。输入{trigger_prefix}#help 查看详细指令。",
"use_linkai": false,
"linkai_api_key": "",
"linkai_app_code": "",
"single_chat_prefix": [""], //触发词为空
"wechatmp_app_id": "", //下面三项都从公众号获取
"wechatmp_app_secret": "",
"wechatmp_aes_key": "",
"wechatmp_token": "", //随便写
"wechatmp_port": 80 //一定要80端口
}
尾声
当然如果你觉得麻烦,或者担心被封号,也可以直接挑选下面的这些一站式服务,当然需要收费
https://link-ai.tech/console/factory
https://www.jijyun.cn/help/detail/957
另一个可行的项目:https://github.com/pwh-pwh/aiwechat-vercel
这个项目感觉很牛,但是基本上也就是玩玩。毕竟个人真正在互联网上真正需要用到AI的地方也就是帮助学业,问问问题之类的了。