ChatGPT 串接到 LINE - 讓 AI 成為個人助理
2023年3月19日
ChatGPT 是由 OpenAI 所開發的一個極具威力的語言模型。如果你正在尋找一個可以隨時隨地解決你生活中疑難雜症的工具,那麼你來對地方了!本篇文章將帶領你如何串接 Line Bot,並教你如何將 ChatGPT 與 Text To Image 模型結合,現在就跟著我一起學習如何讓 ChatGPT 成為你的好幫手吧!
介紹
在 Line 中導入 ChatGPT Bot,只要在輸入框直接輸入文字,即可與 ChatGPT 開始互動,除了 ChatGPT 以外,也直接串上了 Text to Image
的模型,輸入 /imagine + 文字
,就會回傳相對應的圖片,如下圖所示:
安裝步驟
Token 取得
OpenAI Token
在 OpenAI 平台中註冊/登入帳號 → 首次註冊需要填寫基本資訊
右上方有一個頭像,點入後選擇
View API keys
點選中間的
Create new secret key
⚠️ 每隻 API 有免費額度,也有其限制,詳情請看 OpenAI Pricing
取得 Line Token:
創建機器人:
創建
Provider
-> 按下Create
創建
Channel
-> 選擇Create a Messaging API channel
輸入完必填的基本資料
輸入完成後,在
Basic Settings
下方,有一個Channel Secret
-> 按下Issue
,生成後即為LINE_CHANNEL_SECRET
(稍晚會用到)在
Messaging API
下方,有一個Channel access token
-> 按下Issue
,生成後即為LINE_CHANNEL_ACCESS_TOKEN
(稍晚會用到)
專案設置
如果在串接過程中遇到問題,可以在 ChatGPT-Line-Bot 的 Issues 中回報,我們會定期在那邊回覆問題
Fork Github 專案
註冊/登入 GitHub
點選
Star
支持開發者點選
Fork
複製全部的程式碼到自己的倉庫
部署(免費空間)
進入 replit
點選
Sign Up
直接用Github
帳號登入並授權 -> 按下Skip
跳過初始化設定進入後中間主頁的部分點選
Create
-> 跳出框,點選右上角Import from Github
若尚未加入 Github 倉庫,則點選連結
Connect GitHub to import your private repos.
-> 勾選Only select repositories
-> 選擇ChatGPT-LINE-Bot
回到第四步,此時
Github URL
可以選擇ChatGPT-LINE-Bot
專案 -> 點擊Import from Github
。
專案執行
環境變數設定
接續上一步
Import
完成後在Replit
的專案管理頁面左下方Tools
點擊Secrets
。右方按下
Got it
後,即可新增環境變數,需新增:- OpenAI API Token:
- key:
OPENAI_API
- value:
[由上方步驟一取得]
- key:
- 欲選擇的模型:
- key:
OPENAI_MODEL_ENGINE
- value:
gpt-3.5-turbo
- key:
- ChatGPT 要讓助理扮演的角色詞(目前官方無釋出更多的使用方法,由玩家自行測試
- key:
SYSTEM_MESSAGE
- value:
You are a helpful assistant.
- key:
- Line Channel Secret:
- key:
LINE_CHANNEL_SECRET
- value:
[由步驟一取得]
- key:
- Line Channel Access Token:
- key:
LINE_CHANNEL_ACCESS_TOKEN
- value:
[由步驟一取得]
- key:
- OpenAI API Token:
開始執行
點擊上方的
Run
成功後右邊畫面會顯示
Hello World
,並將畫面中上方的網址複製下來,下一步驟會用到回到 Line Developer,在
Messaging API
下方的Webhook URL
江上方網址貼過來,並加上/callback
例如:https://ChatGPT-Line-Bot.explainthis.repl.co/callback
打開下方的
Use webhook
將下方
Auto-reply messages
關閉
⚠️ 若一小時內沒有任何請求,則程式會中斷,因此需要下步驟
CronJob 定時發送請求
註冊/登入 cron-job.org
進入後面板右上方選擇
CREATE CRONJOB
Title
輸入ChatGPT-Line-Bot
,網址輸入上一步驟的網址下方則每
5 分鐘
打一次按下
CREATE
指令
在文字輸入框中直接輸入文字,即可與 ChatGPT 開始對話,而其他指令如下:
指令 | 說明 |
---|---|
/imagine | 在輸入框輸入 /imagine + 文字,就會調用 Text to Image 模型,即可生成圖像。 |
Q&A
LINE 是否會收費?
利用 reply_message 的方法,不在計價範圍內,主動推播才會有限制。
如何看 Log 檔?
在 Replit 專案中左側有一個
logs
,在專案當中的 logger 會記錄在其中,可以自行添加 logger 在其中。如何調整
Text To Image
輸出的圖片大小?修改
/src/models/OpenAIModel
裡的image_size
即可。