本專案會利用 Whisper + GPT-3.5 + Google Text-To-Speech 打造一個 AI 英文家教老師,而老師也會去記錄學生的學習狀況,並定期的反思學生學習狀態,並給予較是適當的回饋與回覆給學生。
- 取得 OpenAI 給的 API Key
- OpenAI 平台中註冊/登入帳號
- 右上方有一個頭像,點入後選擇
View API keys - 點選中間的
Create new secret key-> 生成後即為OPENAI_API_KEY(稍晚會用到)
- 注意:每隻 API 有免費額度,也有其限制,詳情請看 OpenAI Pricing
- 取得 LINE Token:
- 登入 LINE Developer
- 創建機器人:
- 創建
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(稍晚會用到)
- 創建
- 取得 Google Text-To-Speech API
- 註冊/登入 Google Cloud Platform
- 登入後點擊左上方
下拉式選項,並點擊新增專案。 - 輸入完
專案名稱、選擇完機構後,就可以按下建立 - 上方搜尋列表輸入
Cloud Text-To-Speech API,選擇下方MARKETPLACE的Cloud Text-To-Speech API-> 點擊啟用 - 上方搜尋列表輸入
IAM,選擇IAM 與管理 - 左邊選擇
服務帳戶,右邊選擇建立服務帳戶 - 任意輸入完帳號後,點擊
完成 - 建立完成後,在該帳號後面的 ... 點擊後,選擇
管理金鑰 - 進入後,上方
金鑰的地方,下方選擇建立新的金鑰 - 選擇
JSON格式,並點擊建立-> 此時會下載一份credential.json請保存好,稍待會會用到。
- Fork Github 專案:
- 註冊/登入 GitHub
- 進入 ChatGPT-AI-English-Tutor
- 點選
Star支持開發者 - 點選
Fork複製全部的程式碼到自己的倉庫
- 部署(免費空間):
-
環境變數設定
- 接續上一步
Fork完成後在Replit的專案管理頁面左下方Tools點擊Secrets。 - 右方按下
Open raw editor,此時可以直接新增 json 格式進去,請直接複製剛剛的crenditial.json例如:{ "type": "service_account", "project_id": "ai-english-tutor", "private_key_id": "2f79XXXXXXXXXXXXXbd2", "private_key": "-----BEGIN PRIVATE KEY---- XXXXXXX", "client_email": "teacher@XXXXX.gserviceaccount.com", "client_id": "115XXXXXXXXXXX20", "auth_uri": "https://accounts.google.com/o/oauth2/auth", "token_uri": "https://oauth2.googleapis.com/token", "auth_provider_x509_cert_url": "https://www.gooXXXXX", "client_x509_cert_url": "https://www.gooXXXXXXX" } - 再新增另外四個環境變數,需新增:
- 欲選擇的模型:
- key:
OPENAI_API_KEY - value:
[由步驟一取得]
- key:
- Line Channel Secret:
- key:
LINE_CHANNEL_SECRET - value:
[由步驟一取得]
- key:
- Line Channel Access Token:
- key:
LINE_CHANNEL_ACCESS_TOKEN - value:
[由步驟一取得]
- key:
- Server URL
- key:
SERVER_URL - value:
[程式執行後,上方的網址,例如:https://ChatGPT-AI-English-Tutor.explainthis.repl.co/]
- key:
- 欲選擇的模型:
- 接續上一步
-
開始執行
- 點擊上方的
Run - 成功後右邊畫面會顯示
Hello World,並將畫面中上方的網址複製下來 - 回到 Line Developer,在
Messaging API下方的Webhook URL江上方網址貼過來,並加上/callback例如:https://ChatGPT-AI-English-Tutor.explainthis.repl.co/callback - 打開下方的
Use webhook - 將下方
Auto-reply messages關閉
- 注意:若一小時內沒有任何請求,則程式會中斷,因此需要下步驟
- 點擊上方的
-
CronJob 定時發送請求
- 註冊/登入 cron-job.org
- 進入後面板右上方選擇
CREATE CRONJOB Title輸入ChatGPT-AI-English-Tutor,網址輸入上一步驟的網址,例如:https://ChatGPT-AI-English-Tutor.explainthis.repl.co/- 下方則每
5 分鐘打一次 - 按下
CREATE
main.py中第 86 - 96 行的提示詞,用途是針對學生的問題,要怎麼去回應,可以依據不同的情境去做設定,像是某部分的學生很常用中文問問題,有部分的學生可能很需要老師修改他的英文文法等,大家可以自行嘗試不同的提示詞,可能會有不同效果。main.py中第 59 - 73 行的提示詞,用途在於老師會每 10 次回覆後做一次反思,反思這個學生是否有進步,以及反思自己是否有給出好的引導與回應,並適時地做調整,大家可以自行嘗試不同的提示詞,可能會有不同的效果。
如果你喜歡這個專案,願意支持我們,可以請我們喝一杯咖啡,這會成為我們繼續前進的動力!

