使用 Cloudflare Workers 在微信公众号集成 ChatGPT

2023年 5月 28日 37.5k 0

1. 创建 ChatGPT 账号

  • 访问 https://chat.openai.com/ 测试网络

如果出现的是下面这个页面,说明你的网络不支持 ChatGPT正常的应该是下面这个页面解决办法是更换网络,幸运的是公司的网络是支持的,所以我就在公司的网络下注册了账号。

  • 找一个接码平台

注册 openai 账户时,需要输入手机号,而 openai 不支持国内的手机号,因此需要找一个接码平台。我使用的是 https://smspva.com/ ,最少充值 1 美元,可以用支付宝。在页面左侧 Search service 搜索 ai找到 OpenAI ,如下图。点击 GET BUMBER 获取一个临时的手机号。

  • 注册 openai 账户

使用上面的手机号注册 openai 账户,在 smspva 页面上可以获取验证码。注册完成之后,可以直接访问 https://chat.openai.com/。虽然有各种转发服务,浏览器插件集成,但是直接访问网页版的体验还是不错的。

  • 获取 API Key

访问 https://platform.openai.com/account/api-keys 页面,点击 Create new secret key,获取 API Key。如下图:

2. 创建 Cloudflare Workers

  • 将域名的 Nameserver 指向 Cloudflare

使用 Cloudflare 的免费套餐,需要将域名的 Nameserver 指向 Cloudflare。

  • 创建 Service

使用 Cloudflare Workers 在微信公众号集成 ChatGPT-1如上图,点击 Workers -> Overview -> Create a Service全部使用默认配置,保存即可。

  • 配置 Service

进入刚刚创建的 Service ,点击 Quick edit。将 https://github.com/ilyydy/cf-openai/releases 页面的 index.mini.js 拷贝到输入框中,点击 Save and deploy。我使用的是 v0.3.0,直接看项目的 README.md 也可以很快配置完成。

  • 新增 KV

如上图,新建一个 KV,名称随意,我使用的是 chatgpt

  • 新增环境变量并绑定 KV

如上图,进入刚刚创建的 Service,点击 Settings->Variables,新增如下环境变量:WECHAT_ID_LIST = MPWECHAT_GUEST_OPENAI_KEY,填写上面获取的 API KeyWECHAT_MP_TOKEN, 从微信公众号后台获取WECHAT_MP_APPID, 从微信公众号后台获取WECHAT_MP_AES_KEY, 从微信公众号后台获取在这个页面,还需要绑定刚刚创建的 KV,如下图:

  • 配置 Workers 路由

在刚刚创建的 Service 的 Trigger 页面,点击 Add route,在 Route 中填写 xxx.chenshaowen.com/* 保存即可。但此时 xxx.chenshaowen.com 还没有指向这个 Service,需要在 Cloudflare 的 DNS 页面配置 CNAME。

3. 在微信公众号集成 Cloudflare Workers

  • 登录微信公众号后台

  • 配置服务器地址

下面是 Cloudflare Workers 的地址 https://xxx.chenshaowen.com/openai/wechat/MP ,其中 xxx.chenshaowen.com 是你的域名,MP 是 WECHAT_ID_LIST 的值。最后别忘了启用服务器配置。

4. 测试

  • 常见问题

微信限制 15 秒内必须回复,否则提示公众号服务故障,而 OpenAI 可能需要更长时间处理,这种情况会先返回消息:

1
2
正在处理中,请稍后输入 .. 或以下命令获取回答
/retry 24072700431510021

之后输入 /retry 24072700431510021 即可获得回答。

  • 测试效果

出现超时的情况,可以根据提示获取回答。另外,还有一些其他的命令,可以在聊天框中输入 /help 查看。

5. 参考

  • https://github.com/ilyydy/cf-openai

相关文章

KubeSphere 部署向量数据库 Milvus 实战指南
探索 Kubernetes 持久化存储之 Longhorn 初窥门径
征服 Docker 镜像访问限制!KubeSphere v3.4.1 成功部署全攻略
那些年在 Terraform 上吃到的糖和踩过的坑
无需 Kubernetes 测试 Kubernetes 网络实现
Kubernetes v1.31 中的移除和主要变更

发布评论