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
Get OpenAI Token Step1 and Step2 點選中間的
Create new secret key
Get OpenAI Token Step3 
Get OpenAI Token Step4
⚠️ 每隻 API 有免費額度,也有其限制,詳情請看 OpenAI Pricing
取得 Line Token:
創建機器人:
創建
Provider-> 按下Create
Get Line Keys Step 1 創建
Channel-> 選擇Create a Messaging API channel
Get Line Keys Step 2 輸入完必填的基本資料
輸入完成後,在
Basic Settings下方,有一個Channel Secret-> 按下Issue,生成後即為LINE_CHANNEL_SECRET(稍晚會用到)
Get Line Keys Step 3 在
Messaging API下方,有一個Channel access token-> 按下Issue,生成後即為LINE_CHANNEL_ACCESS_TOKEN(稍晚會用到)
Get Line Keys Step 4
專案設置
如果在串接過程中遇到問題,可以在 ChatGPT-Line-Bot 的 Issues 中回報,我們會定期在那邊回覆問題
Fork Github 專案
註冊/登入 GitHub
點選
Star支持開發者點選
Fork複製全部的程式碼到自己的倉庫
Fork Github Repository Step 1 
Fork Github Repository Step 2
部署(免費空間)
進入 replit
點選
Sign Up直接用Github帳號登入並授權 -> 按下Skip跳過初始化設定進入後中間主頁的部分點選
Create-> 跳出框,點選右上角Import from Github
Replit Deploy Step 1 若尚未加入 Github 倉庫,則點選連結
Connect GitHub to import your private repos.-> 勾選Only select repositories-> 選擇ChatGPT-LINE-Bot
Replit Deploy Step 2 
Replit Deploy Step 3 回到第四步,此時
Github URL可以選擇ChatGPT-LINE-Bot專案 -> 點擊Import from Github。
Replit Deploy Step 4
專案執行
環境變數設定
接續上一步
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:

Replit Set Environment Variable - OpenAI API Token:
開始執行
點擊上方的
Run成功後右邊畫面會顯示
Hello World,並將畫面中上方的網址複製下來,下一步驟會用到
Replit Run 回到 Line Developer,在
Messaging API下方的Webhook URL江上方網址貼過來,並加上/callback例如:https://ChatGPT-Line-Bot.explainthis.repl.co/callback
Line Webhook Setting 打開下方的
Use webhook將下方
Auto-reply messages關閉
Line Webhook Setting 2
⚠️ 若一小時內沒有任何請求,則程式會中斷,因此需要下步驟
CronJob 定時發送請求
註冊/登入 cron-job.org
進入後面板右上方選擇
CREATE CRONJOB
CronJob Step 1 Title輸入ChatGPT-Line-Bot,網址輸入上一步驟的網址下方則每
5 分鐘打一次按下
CREATE
CronJob Step 2
指令
在文字輸入框中直接輸入文字,即可與 ChatGPT 開始對話,而其他指令如下:
| 指令 | 說明 |
|---|---|
| /imagine | 在輸入框輸入 /imagine + 文字,就會調用 Text to Image 模型,即可生成圖像。 |
Q&A
LINE 是否會收費?
利用 reply_message 的方法,不在計價範圍內,主動推播才會有限制。
如何看 Log 檔?
在 Replit 專案中左側有一個
logs,在專案當中的 logger 會記錄在其中,可以自行添加 logger 在其中。如何調整
Text To Image輸出的圖片大小?修改
/src/models/OpenAIModel裡的image_size即可。