likes
comments
collection
share

公众号接入openai GPT自动回复

作者站长头像
站长
· 阅读数 10

创建OpenAI的API KEY

首先登录openai,然后访问platform.openai.com/account/api… 创建一个API KEY

公众号接入openai GPT自动回复

这样,我们就可以通过官方提供的python openai库,来进行模型的调用了,在这里,官方也给出了示例代码

公众号接入openai GPT自动回复

我使用的是GPT3.0模型(text-davinci-003)

微信公众号接入

进入公众号的管理后台,选项路径为 设置与开发->基本配置

公众号接入openai GPT自动回复

注意,在初次配置时,会让你填入服务器地址,令牌,以及可以自动生成消息加密密钥

服务器地址就填写 http://ip:8888 (ip填自己服务器的ip)

令牌按照要求随意填写一下,后面微信与服务器交互的时候需要用到

填写完毕后,注意:先不要提交,因为在提交时,微信会进行通信验证,所以这个时候要先启动后端服务

登录你的服务器,并执行

git clone https://github.com/SSRemex/wechat_gpt_server.git

公众号接入openai GPT自动回复

然后进入wechat_gpt_server目录,先编辑config.py

将openai的key 以及刚刚你填写的令牌(Token)填入

公众号接入openai GPT自动回复

随后退出

先安装一下依赖

# 安装依赖
pip3 install -r requirements.txt
# 后台执行
nohup python3 run.py &

默认是8888端口,与刚刚微信配置填写的端口一致(这里我使用的是Flask框架)

使用nohup是为了让服务可以在后台运行。

启动后,回到微信页面,进行提交,此时会提交成功,这个时候就可以在自己的公众号上开始对话了。

公众号接入openai GPT自动回复

注意,因为有时候模型生成的过慢,超时5秒后,微信会进行重新请求,超过三次后,就判定为服务端故障,所以尽量config.py中MAX_TOKEN设置的小一些,这样生成快,不容易超时。

使用英文的时候,速度会更快。

记录

  1. 微信与服务端的通信都是通过XML数据来进行交互的
  2. 每次通信前,微信都会进行一次验证,验证方法在微信的开发者文档中提到过
  3. python中有一个wechatpy的库,集成了微信开发者所有的功能,这里我没有使用,因为实现的功能比较简单,所以我就自己简单写了通信验证代码和XML处理的代码,感兴趣可以看看《微信官方文档》