---
# System prepended metadata

title: 09/29 - 11/12工作進度

---

## 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:|
