Hi大家好,
這是我參加 iT 邦幫忙鐵人賽的第 1 次挑戰,這次的主題聚焦在結合 Python 爬蟲、RAG(檢索增強生成)與 AI,打造一套 PTT 文章智慧問答系統。在過程中,我會依照每天進度上傳程式碼到 GitHub ,方便大家參考學習。也歡迎留言或來信討論,我的信箱是 gerryearth@gmail.com。
昨天我們討論了 Prompt Engineering,透過設計更精準的提示詞來提升 LLM 的回答品質。
今天,我們要從另一個角度切入 —— 如何監控系統運作、記錄使用行為與追蹤錯誤,確保我們的 PTT 文章智慧問答系統在長期使用下能穩定運作。
對任何 AI + RAG 系統來說,「答案的好壞」只是其中一環,更重要的是:
這些問題都需要透過 系統監控與日誌分析 來解答。
在我們的專案中,系統主要分成三個模組:
因此,監控重點大致分為三類:
在 Django + RAG 架構中,我們可以針對不同模組建立日誌:
import logging
logger = logging.getLogger("rag_system")
def query_rag(user_question):
try:
logger.info(f"收到查詢: {user_question}")
# Step 1: 向量檢索
docs = vector_search(user_question)
logger.info(f"檢索結果數量: {len(docs)}")
# Step 2: 呼叫 LLM
answer = llm_generate(user_question, docs)
logger.info(f"LLM 回答成功,字數: {len(answer)}")
return answer
except Exception as e:
logger.error(f"查詢失敗: {str(e)}")
return "抱歉,系統發生錯誤,請稍後再試。"
這樣,我們就能記錄下「誰問了什麼 → 系統怎麼處理 → 是否成功」。
要進一步可視化與長期監控,可以搭配以下工具:
舉例:
明天【Day 28】系統效能壓測與瓶頸分析 - 找到成本與效能的平衡點,我們將進一步了解如何在使用者數量增加時,保持 RAG 系統的效能與穩定度。