↓↓↓欢迎关注我的公众号↓↓↓
背景
我之前的教程已经教了大家怎么注册ChatGPT,如果还没有注册的小伙伴可以看我之前的教程。https://www.leftpocket.cn/post/chatgpt/register/
这篇教程来教大家怎么把chatGPT接入到公众号来提问交流及自动回复。
可以看到我这里已经成功接入ChatGPT。我要一步一步教大家也能轻松接入ChatGPT随时随地可以和ChatGPT对话。
ChatGPT绑定到公众号流程
1. Github代码
首先,我们需要使用到github上的一份第三方代码,这份代码将 AI模型 接入各类 消息应用,开发者通过轻量配置即可在二者之间选择一条连线,运行起一个智能对话机器人,在一个项目中轻松完成多条链路的切换。该架构扩展性强,每接入一个应用可复用已有的算法能力,同样每接入一个模型也可作用于所有应用之上。
它可以支持:
•微信•公众号•Telegram•QQ•Gmail
等等,未来还会支持更多的平台。
https://github.com/zhayujie/bot-on-anything
2. OpenAPI地址
需要一个chatGPT账号并生成一个API Key,这个API secret Key是为了验证你的身份。
这个非常简单,我们打开openai的平台地址:https://platform.openai.com/
登录之后点击右上角的头像,点击Manage Account
->API Keys
->Create New Secret Key
, 然后复制下来保存备用。
部署服务
1.运行环境
最后我们需要一台云服务器,没有云服务器的小伙伴可以看我之前的教程。
我们登录到云服务器之后执行命令。
支持 Linux、MacOS、Windows 系统(Linux服务器上可长期运行)。同时需安装 Python,建议Python版本在 3.7.1~3.10 之间。
项目代码克隆:
git clone https://github.com/zhayujie/bot-on-anything
cd bot-on-anything/
2.配置说明
核心配置文件为 config.json
,在项目中提供了模板文件 config-template.json
,可以从模板复制生成最终生效的 config.json
文件:
cp config-template.json config.json
每一个模型和应用都有自己的配置块,最终组成完整的配置文件,我们这个教程只需要接入公众号,我已经在json文件里面删除了其他平台的配置,只保留公众号的配置即可:
{
"model": {
"type" : "chatgpt",
"openai": {
"api_key": "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",
"proxy": "",
"conversation_max_tokens": 1000,
"character_desc": "你是ChatGPT, 一个由OpenAI训练的大型语言模型, 你旨在回答并解决人们的任何问题,并且可以使用多种语言与人交流。"
}
},
"channel": {
"type": "wechat_mp",
"wechat_mp": {
"token": "abcdefghijklmnopqrstuvwxyz",
"port": "80"
}
}
}
配置文件在最外层分成 model
和 channel
两部分。
model部分为模型配置,其中的: type
指定了选用哪个模型:
•chatgpt - 是gpt3.5 模型,我们默认填这个就好•openai - 是gpt3.0 模型
api_key
是你从openai官网生成的。 proxy
服务器在外网就不需要填写。
channel部分包含了应用渠道的配置,type
字段指定了接入哪个应用。wechat_mp
就是微信公众号。
token
随便设置,32位以内,后续在公众号里面填入相同的token即可。
port
填 80,因为公众号不支持自定义端口
3.安装依赖
升级pip包管理工具和openai
pip3 install --upgrade pip
pip3 install --upgrade openai
安装 werobot[3] 依赖:
pip3 install werobot
4.运行程序
配置修改完成,依赖也安装好了,我们就可以运行程序了。
在项目目录下运行 python3 app.py
,终端显示如下则表示已成功运行:
[INFO][2023-02-16 01:39:53][app.py:12] - [INIT] load config: ...
[INFO][2023-02-16 01:39:53][wechat_mp_channel.py:25] - [WX_Public] Wechat Public account service start!
Bottle v0.12.23 server starting up (using AutoServer())...
Listening on http://0.0.0.0:80/
Hit Ctrl-C to quit.
5.浏览器打开WeRoBot
浏览器输入你的服务器的IP地址
打开WeRoBot页面代表服务正常运行。
这个IP地址的http链接后面需要填到公众号里面。
http://a.b.c.d/
公众号设置
1.设置公众号回调地址
在 微信公众平台 https://mp.weixin.qq.com/ 中进入个人订阅号,点击左边侧边栏的基本配置,然后点击右边修改配置,进入以下界面。
URL
就是你的服务器的IP地址:http://a.b.c.d/
Token
就是你服务器的config.json配置的那个Token
消息加密密钥随机生成即可,选择默认的明文模式,点击提交
。
2.启用配置
修改完配置点击右方的启用
配置,会显示为:服务器配置(已启用)。此时我们的服务器配置已经启用成功。
3.使用
用户关注订阅号后,发送消息即可。
注:用户发送消息后,微信后台会向配置的URL地址推送,但如果5s内未回复就会断开连接,同时重试3次,但往往请求openai接口不止5s。本项目中通过异步和缓存将5s超时限制优化至15s。
所以需要点击继续主动拉取缓存信息。待后续优化。
结语
今天的ChatGPT接入微信公众号的教程就完成了。下个视频我会继续教大家更多有用的教程。
系列教程以及有任何问题请点击:个人自媒体平台和粉丝群
<全文完>
原文始发于微信公众号(灰帽安全):人人都能学会的ChatGPT接入公众号教程
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
2023年3月12日 下午3:40 1F
按你的教程试了一下,启动app.py 之后直接让我输入问题,启动不是你图中的效果
2023年3月12日 下午7:14 B1
@ cai 你看看是不是80端口跟本地冲突了,修改下config.json中的端口试试
2023年3月12日 下午3:42 2F
老哥你用的pyton哪个版本啊?我的是3.6
2023年3月12日 下午7:14 B1
@ cai 我是python3.9.1,你看看是不是80端口跟本地冲突了,修改下config.json中的端口试试