如何在微信公众号上搭建一个属于自己的 chatgpt 服务

1,990 阅读2分钟

chatgpt 刚出时就体验了一下,并且写了一个飞书机器人在飞书上使用至今,感觉还挺方便。最近想起自己还有一个 n 年没用过的阿里云服务器和一个已冻结的微信公众号,便想着废物利用,在微信上也搞一个 chatgpt 的机器人。

通过本文你能获得什么

  • 属于自己的 chatgpt 微信机器人

  • 熟悉微信公众号的 golang 服务开发过程

前置条件

  1. 服务器一台
  2. chatgpt 注册账号
  3. 申请一个微信公众号
  4. 在服务器安装好 Git 和最新 Go 版本

以上每一个步骤对于小白来说都会比较繁琐,但这就是折腾的乐趣

部署服务

  1. 克隆仓库到服务器,仓库地址

    git clone https://github.com/he2121/chatgpt_weixin.git
    

    代码其实很简单,只有三个文件

    1. main.go: 使用 gin 起一个 HTTP 服务,作为微信公众号的回调地址
    2. weixin.go: 使用 微信SDK 监听消息,返回消息
    3. gpt.go: 封装了下 open-ai 的 HTTP 请求

    发送消息的总链路:用户私聊公众号 -> 公众号后台 -> 自己的服务器 -> open-ai

    返回结果则是上述逆向过程

  2. 代码参数设置

weixin.go 文件里有如下四个参数需要设置

image-20230207000454800

从微信公众号后台 基础配置页面 可以获取到所有参数

image-20230207001036442

  1. 这里可以加白名单,把自己服务器的 IP 加上
  2. token 随便填,只要和页面一致就行,不是指 access_token
  3. URL 端口号必须 80

chatgpt.go 文件里有如下参数需要设置

image-20230207001118045

在 chatgpt setting 页面 获取

  1. 在克隆下来的仓库内,执行以下命令,启动服务
go build
./chatgpt_weixin
  1. 从微信公众号后台 基础配置页面 可以获取到所有参数设置好服务器 URL,通过校验并启动。

image-20230207003732285

  1. 私聊公众号测试,通过服务日志排查问题。

总结

  1. 公众号回复必须 5 s 内,chatgpt 国内访问又慢,经常超时,微信公众号使用异步接口发送消息又比较复杂。(只能说微信公众号真难用,飞书真香)

  2. 关注 小贺coding 公众号,可体验一下 chatgpt,免费额度不多了(后续很可能使用不了/支持氪金使用),还是推荐自己搭建自己的服务哦