之前的幾天我們已經把基礎都準備好了:文件切分、向量化、資料庫(pgvector 或 FAISS)。今天就來拼拼圖,完成一個最小版的 RAG(Retrieval-Augmented Generation)。
流程相當的簡單,可以分成三步:
查詢(Retrieval)
使用者丟問題進來,我們先把問題轉成向量,然後到資料庫裡找出最相關的幾段內容。
組合(Augment)
把找到的內容整理成一個「小抄」,附在 Prompt 裡交給模型。
生成(Generation)
模型再根據問題 + 小抄,生出最終答案。
舉例來說,如果我問「Python 適合做什麼?」
系統會先從資料庫找出「Python 特點、應用領域」的段落。
接著把這些內容附在問題後面。
最後模型輸出答案:「Python 常用於資料分析、AI、網頁後端…」。
這樣,模型就不是「憑印象回答」,而是「依資料回覆」。
雖然這只是最小雛型,功能還很陽春,但已經能解決一大痛點:減少 AI 胡說八道的機會。之後我們還能加入更聰明的檢索、rerank、甚至多資料來源整合,讓小幫手更強大。
就像蓋房子一樣,今天我們總算把第一層地基打好了!