學習歷程與收穫
Day 1–10:從理解到實作
最開始的挑戰,是搞懂「文字如何變成數字」。
我用上了 sentence-transformers/paraphrase-multilingual-MiniLM-L12-v2 這個模型,
它能處理中文的語意相似度,讓系統知道「退貨」和「申請退貨」其實是一樣的意思
Day 11–20:讓它更聰明、更好用
中期的重點是「優化」。
我開始研究 Top-k 檢索、閾值設定、Chunking 長文件切割。
後來還用 Gradio 做出簡單 UI,讓整個系統看起來不只是程式,而是一個真的聊天機器人。
我也測試了不同模型:
flan-t5-small
flan-t5-base
兩者在回答的「完整度」上有明顯差異,
從這裡我學到,模型大小不等於效果一定更好,重點是要搭配資料特性去選。
Day 21–29:讓它成為真正的產品
後期我開始加入「記憶」功能,
使用 SQLite 記錄使用者與機器人的對話,讓聊天更連貫。
接著建立一份 測試報表(test_report.csv),
用 20 筆問題自動比對答案是否包含關鍵詞,計算主觀正確率。
最後撰寫 README.md,
包含:
技術挑戰與突破
挑戰 | 解法 |
---|---|
Chroma DB 舊版本報錯 | 改用新格式:Client(Settings(is_persistent=True)) |
中文語意對不準 | 將「question + answer」一起做 embedding |
模型輸出空白 | 測試不同 T5 小模型並調整 prompt |
Colab 記錄不保留 | 改用 SQLite 存歷史 |
自動測試難評估 | 比對 expected 關鍵字,自動計算正確率 |