← Agent 實驗室
延伸 RAG

RAG 檢索實驗

RAG 的做法是先從知識庫找出和問題最相關的幾段文字,再把這幾段連同問題一起交給模型。左邊調整文件、切段大小、重疊和 top-k,右邊逐步看切段、向量化、排名、組好的請求和回答;切得太碎、top-k 太小或段落太大,都會看到哪裡出問題。

知識庫與檢索設定

修改後右邊即時更新
內部文件(可直接修改內容)
太小會把一句完整的答案切開,太大會把不相關的內容一起帶進去。
相鄰兩段重複一小截,降低答案剛好被切在邊界的機率。
使用者問題(點選範例,或直接改文字)

所有數字都是示意估算:token 依字數粗估,價格用示意單價(輸入 $3、輸出 $15,每百萬 token);向量只有 8 維、相似度用中文雙字詞袋計算,只是為了教學。真實系統使用 embedding 模型與向量資料庫,維度通常是數百到數千。

RAG 流程:從切段到回答

0
送出 tokens(目前設定)
0
全部文件塞進去
$0
這次費用(全塞:)
-
找對了嗎

①切段結果

②向量化(示意)這裡只有 8 個數字;真實 embedding 有數百到數千維

③相似度排名問題向量和每段比對,取最高的 top-k

④組好的 prompt(實際送出的請求)


      

⑤示意回答

看完要記得

口試怎麼答(約 30 秒)

RAG 就是先從知識庫找出跟問題最相關的幾段文件,再連同問題一起交給模型回答。這樣不用把全部文件塞進 context,成本低、干擾少,而且每個答案都能指出出處。流程是把文件切段、用 embedding 模型轉成向量存進向量資料庫,查詢時把問題也轉成向量,取最相近的 top-k 段放進 prompt。調校重點是切段大小和 top-k,切太小答案會被切開,top-k 太小會漏資訊,所以我會用一批真實問題去量測召回率。