人人都能學會的 ChatGPT 接入公衆號教程

背景

我之前的教程已經教了大家怎麼註冊 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

  1. 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 接入微信公衆號的教程就完成了。下個視頻我會繼續教大家更多有用的教程。

本文由 Readfog 進行 AMP 轉碼,版權歸原作者所有。
來源https://mp.weixin.qq.com/s/8ZbyNuQDKWYgxcgZZCEV8g