ChatGPT接入微信充當機器人

語言: CN / TW / HK

theme: vuepress highlight: a11y-dark


開啟掘金成長之旅!這是我參與「掘金日新計劃 · 12 月更文挑戰」的第5天,點選檢視活動詳情

1、前言

最近ChatGPT挺火的,不瞭解的同學可能會有個疑問,ChatGPT是什麼呢? 用官方的話來說,它是一個優化對話的語言模型。它以對話方式進行互動。對話格式使 ChatGPT 可以回答後續問題、承認錯誤、挑戰不正確的前提並拒絕不適當的請求。ChatGPT 是InstructGPT的兄弟模型,它經過訓練可以按照提示中的說明進行操作並提供詳細的響應。官方地址

用百度百科上面的話來說,ChatGPT是人工智慧研究實驗室OpenAI新推出的一種人工智慧技術驅動的自然語言處理工具,使用了Transformer神經網路架構,也是GPT-3.5架構,這是一種用於處理序列資料的模型,擁有語言理解和文字生成能力,尤其是它會通過連線大量的語料庫來訓練模型,這些語料庫包含了真實世界中的對話,使得ChatGPT具備上知天文下知地理,還能根據聊天的上下文進行互動的能力,做到與真正人類幾乎無異的聊天場景進行交流。ChatGPT不單是聊天機器人,還能進行撰寫郵件、影片指令碼、文案、翻譯、程式碼等任務。

2、引入ChatGPT

俗話說,工欲善其事必先利其器,想要引入ChatGPT這裡需要首先申請一個ChatGPT賬號,註冊地址 由於這個是國外友人搞出來的專案,對國內的同學來說使用起來不太友好,有條件的可以準備好科學上網的工具,以及一個可以接收國外驗證碼的手機號(如果沒有手機號,這個 sms-activate網站可以幫助到你 )。

2.1 申請 ChatGPT 賬號

點選上面的註冊地址,選擇 signup ,註冊完成之後會提示驗證手機號,(如果申請過程中遇到提示 OpenAI 的服務在您所在的國家/地區不可用的話請切換科學上網代理的地區) image.png

2.2 申請線上接收驗證碼

開啟上面網址註冊登入之後可以看到下面的介面,搜尋欄 輸入 OpenAI 下面會出現好多國家的,這裡推薦 印度 ,別問為什麼 ,問就是它比較便宜,購買之前需要在賬戶裡面充值一定的金額,這個網站比較人性化的一點是可以支援支付寶付款。根據上面的提示 充值對應的人民幣金額就行了,不清楚匯率的可以直接搜尋對應金額 百度一下就可以看到對應的人民幣是多少了。購買之後會出現一個虛擬的手機號,在ChatGPT上面填寫對應地區的手機,然後在 sms-activate 等待接收驗證碼就可以了。 image.png

2.3 測試ChatGPT

當前視窗只能在線使用

image.png

2.4 申請 API keys

申請地址:http://beta.openai.com/account/api-keys 點選 Create new secret key 建立就可以了,生成之後注意儲存,如果忘記了重新生成一個就可以了

image.png

3、開始部署

Github上面已經有好多微信引入ChatGPT的開源專案,比如:

image.png 不過上面好多都是通過 token 來驗證的,這裡想要通過 Api Keys 來實現,於是在 dockerhub上面找到了個使用 Api Keys 的映象,映象地址 ,這個只需要配置下Api key 就可以了

3.1 拉取映象

docker pull cynen/wechat:latest

[[email protected] /]# docker pull cynen/wechat:latest ​ [[email protected] wechat]# docker images REPOSITORY     TAG       IMAGE ID       CREATED       SIZE cynen/wechat   latest   758738a0d88f   10 days ago    13.8MB

3.2 config.json 配置

config.json 檔案 放在 /home/wechat 下

[[email protected] wechat]# ls config.json

{  "api_key": "sk-****",  "auto_pass": false,  "model": "text-davinci-003",  "session_timeout": 60 }

api_key:你上面申請的 Api keys

auto_pass: 是否自動通過好友驗證,此處設為false

model:模型 【可參考官方文件 選擇合適的模型 ,地址在底部】

session_timeout:session儲存時間 秒 其實就是上下文保留時間,超過這個時間,就會自動清空上下文

3.3 啟動容器

[[email protected] wechat]# docker run -dti --name wechat -v /home/wechat:/app/ cynen/wechat ca4b9e9c3cab2a196e2a50d0ac90c34183265f69f8b8f56b5513755ef5d8480f [[email protected] wechat]# docker ps CONTAINER ID   IMAGE         COMMAND                 CREATED         STATUS         PORTS                                                                     NAMES ca4b9e9c3cab   cynen/wechat   "wechatbot-amd64-lin…"   5 seconds ago   Up 4 seconds

3.4 登入

使用 docker logs -f wechat 命令檢視日誌

image.png 掃描登入之後,會有以下日誌輸出 image.png

3.5 測試使用

image.png

4、參考

官方開發文件:http://beta.openai.com/docs/introduction

檢索模型地址:http://beta.openai.com/docs/api-reference/models/retrieve