## 10/29 - 11/12工作進度 >我是`老師` 我想要`一個可以高度結合課程內容的大語言模型對話框` 所以我需要`大語言模型對話框(可以整合學生和模型對的資料)`、`語言模型`、 >我是`學生` 我想要`可以跟大型語言模型對話的介面` 所以我需要`可以切換群組or個人的ˊ按鈕、'老師針對個人及小組指派問題的側欄'、語言模型`、`語音輸入` `AI:` - 管理和維護各個AI API的接入,並將其整合到後端系統中。 - 調整模型的參數,讓使用者能有更順暢、回覆內容更貼近課堂內容 - 建立錯誤處理機制以應對API故障或異常回應,及時發現API調用過程中的問題, - `後端:` - 列出API的請求格式,包括請求類型(如GET或POST)、URL地址、請求內容的格式(例如JSON格式的字段名稱、及那些參數為必填或選填) - 超時設定:避免模型運行時間過長拖垮服務。可以使用異步方法或在模型處理中加入時間限制。 - 異常回傳:在Flask中統一捕捉異常,並將錯誤訊息以JSON格式回傳給前端 e.g.,內存不足、模型載入異常、無法連接外部資源等、前端發送了無效的JSON數據、缺少API密鑰或token驗證失敗的請求 `前端:` | 功能 | 優先級 | 詳細內容 |是否完成 | | -------- | -------- | -------- |---| | 語言模型互動頁面 |`1`(最優) | 右側顯示使用者輸入,左側顯示AI回覆 |:heavy_check_mark: | |文字輸入對話框 |`1`| 給使用者輸入文字,輸入內容會傳入後端。供模型生成相關回覆|:heavy_check_mark:| |送出按鈕|`1`|送出使用者文字內容的按鈕,在送出之後可以暫停生成或繼續生成,若使用者未輸入任何訊息,將無法處發送出|:heavy_check_mark:| |語音的按鈕|`2`(次優)|學生語音的按鈕(圖一),按下後會變成供使用者按暫停的圖示(圖二),按下暫停錄音後,會等待後端轉成文字時,會有loading的圖示(圖三),成功在使用者輸入框轉成文字後,語音按鈕恢復可繼續錄音的圖示(圖一)|:heavy_multiplication_x:| |對話歷史紀錄|`2`|歷史紀錄會依照老師指派的問題,在側欄中會被分成一格一格的紀錄(類似於GPT的歷史紀錄)|:heavy_multiplication_x:| |切換個人與小組的按鈕|`2`| 可設計成選單或按鈕,讓使用者在給小組或給個人的問題中做切換| |等待模型回覆時的動畫|`3`|使用者送出內容後,等待模型回覆的時間可以在AI回覆內容的地方有loading的圖示或動畫|:heavy_multiplication_x:| |逐字生成|`3`|模型回覆的內容,逐字顯示給使用者|:heavy_multiplication_x:|