ChatGPT接入微信充當機器人
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 的服務在您所在的國家/地區不可用的話請切換科學上網代理的地區)
2.2 申請線上接收驗證碼
開啟上面網址註冊登入之後可以看到下面的介面,搜尋欄 輸入 OpenAI 下面會出現好多國家的,這裡推薦 印度 ,別問為什麼 ,問就是它比較便宜,購買之前需要在賬戶裡面充值一定的金額,這個網站比較人性化的一點是可以支援支付寶付款。根據上面的提示 充值對應的人民幣金額就行了,不清楚匯率的可以直接搜尋對應金額 百度一下就可以看到對應的人民幣是多少了。購買之後會出現一個虛擬的手機號,在ChatGPT上面填寫對應地區的手機,然後在 sms-activate 等待接收驗證碼就可以了。
2.3 測試ChatGPT
當前視窗只能在線使用
2.4 申請 API keys
申請地址:http://beta.openai.com/account/api-keys 點選 Create new secret key 建立就可以了,生成之後注意儲存,如果忘記了重新生成一個就可以了
3、開始部署
Github上面已經有好多微信引入ChatGPT的開源專案,比如:
不過上面好多都是通過 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 命令檢視日誌
掃描登入之後,會有以下日誌輸出
3.5 測試使用
4、參考
官方開發文件:http://beta.openai.com/docs/introduction
檢索模型地址:http://beta.openai.com/docs/api-reference/models/retrieve