【风险提早说】日常正常运用风险性比较低,可是如果绑定到ChatGPT的个人微信被高频率调用或许prompt违规等问题或许会被微信安全策略拦截,或许导致微信登录不了网页版,存在一定风险
一、 准备工作
1、 OpenAI账号(开通了ChatGPT的)的API Keys – 用于ChatGPT调用
2、 GitHub账号 – 登录GitHub,用于fork项目
3、 微信号(需求实名认证的,建议运用个人微信小号)
4、 运用github注册并授权权限给到免费的容器保管渠道Railway
检查并生成openai的API Key:platform.openai.com/account/api…
检查Openai免费账号token的运用情况和剩余额度:platform.openai.com/account/usa…
二、零成本树立思路
1、 fork项目代码到私库(github.com/zhayujie/ch…
2、 运用github注册并授权github权限给到免费的容器保管渠道Railway(railway.app/)
3、 免费容器保管渠道Railway布置Github Repository中的chatgpt-on-wechat项目,会主动识别到Dockfile文件,并构建镜像镜像布置容器
4、 给容器添加环境变量,railway容器从头布置收效,并成功发动项目
5、 微信(运用微信小号)扫描容器发动成功后,控制台打印的二维码进行微信网页版登录,登录成功后即可将微信和ChatGPT机器人绑定
6、 运用微信拉群或许私聊触发ChatGPT转发并主动回复
三、 树立流程
1、 fork项目代码到私库(github.com/zhayujie/ch…





5、设置环境变量 – 装备OpenAI的API Keys、微信主动转发策略、白名单等 github的chatgpt-on-wechat项目config-template.json文件就是环境变量参数模板

环境变量需求留意三个维度的参数,满意后才能有用的进行ChatGPT转发
1、 将OpenAI的API Key替换
2、 装备微信机器人的微信名(问问题带了微信名在前面)
3、 装备微信群聊转发ChatGPT的白名单(能够自定义哪些群姓名能够接入ChatGPT)

RailWay容器装备环境变量支撑两种格局:JSON格局 和 property格局
1)JSON格局的参数,留意Railway的JSON只接纳字符串,所以需求专业
{
"open_ai_api_key": "sk-vXXXXXXX",
"model": "gpt-3.5-turbo",
"proxy": "",
"single_chat_prefix": "[\"小号的微信名\", \"@小号的微信名\"]",
"single_chat_reply_prefix": "[主动回复]",
"group_chat_prefix": "[\"@小号的微信名\"]",
"group_name_white_list": "[\"ChatGPT测验群\",\"GPT测验\"]",
"group_chat_in_one_session": "[\"ChatGPT测验群\",\"GPT测验\"]",
"image_create_prefix": "[\"画\"]",
"speech_recognition": "false",
"group_speech_recognition": "false",
"voice_reply_voice": "false",
"conversation_max_tokens": "1000",
"expires_in_seconds": "3600",
"character_desc": "你是ChatGPT, 一个由OpenAI练习的大型言语模型, 你旨在答复并解决人们的任何问题,而且能够运用多种言语与人沟通。"
}
2)properties格局的参数:
open_ai_api_key=sk-vXXXXXXX
model=gpt-3.5-turbo
proxy=
single_chat_prefix=["小号的微信名", "@小号的微信名"]
single_chat_reply_prefix=[主动回复]
group_chat_prefix=["@小号的微信名"]
group_name_white_list=["ChatGPT测验群","GPT测验"]
group_chat_in_one_session=["ChatGPT测验群","GPT测验"]
image_create_prefix=["画"]
speech_recognition=false
group_speech_recognition=false
voice_reply_voice=false
conversation_max_tokens=1000
expires_in_seconds=3600
character_desc=你是ChatGPT, 一个由OpenAI练习的大型言语模型, 你旨在答复并解决人们的任何问题,而且能够运用多种言语与人沟通。
6、设置完环境变量后会触发从头布置

7、在Deployment中能够看到从头布置的记载,点进去View Logs

8、在Deploy Logs中能够看到控制台打印日志(微信扫码登录成功状态,接纳音讯日志),运用个人微信号小号扫码登录即可

9、验证是否绑定成功 经过微信号私聊方式,按住头像会带出微信机器人的微信名(装备环境变量时分也需求装备相应的微信机器人的微信名),然后发问即可

四、 运用场景、FAQ
1、扫描登录成功后,怎么运用
1)、拉群谈天
群里边@微信号,并进行发问问题即可
留意:群姓名应该归于环境变量装备群聊白名单中(装备能够随时变更)
group_name_white_list=[“ChatGPT测验群”,”GPT测验”]
group_chat_in_one_session=[“ChatGPT测验群”,”GPT测验”]

2)、私聊
需求按住头像,使得发送的文字最前面带有机器人的微信名(满意私聊的转发策略)

2、微信发送音讯后后没有反应
- 先检查railway容器的控制台日志Deploy Log中是否有接纳到音讯并打印日志,如果有这阐明服务已经接纳到音讯
- 检查群聊的时分,群姓名是否装备在容器的环境变量中的白名单,私聊是否是否带有转发策略的前缀
- 若回来[error],则阐明openai的API Key装备过错,从头更新下环境变量
3、个人微信需求一直在线吗?
是的,由于原理运用的是微信网页版,经过itchat进行转发,若手机退出微信,则网页版也会一起退出,导致微信和ChatGPT断开衔接; 若需求从头扫码树立衔接,需求restart容器
4、树立进程需求留意哪些点?
1)、环境变量的设置,需求仔细看下树立流程的第5点
2)、railway容器发动成功后扫码登录,检查控制台日志是否登录成功
五、总结沉积(这里只给出值得学习的Tip,自行发散学习哈~ )
1、接触ChatGPT、怎么使ChatGPT更挨近日子、怎么进行prompt裂变发问
2、知道itchat转发微信原理和落地场景、微信机器人交互原理
3、知道railway.app这个免费容器保管渠道(每个月提供5美元的免费额度,支撑自定义域名),合适docker学习,手把手树立自己的服务、日常轻量级服务树立、免费的PaaS容器等
学习 + 实践 + 思考 + 沉积
互相学习,共勉
本文由博客一文多发渠道 OpenWrite 发布!