將用 30 天從 NLP 與資訊檢索出發,逐步打造能搜尋資料、產生回答、引用來源並評估品質的 RAG 知識助理。面對 LLM 可能產生幻覺、混淆版本資訊,甚至在資料不足時自信作答,本系列不只示範工具串接,而是理解文件清理、中文斷詞、切分、關鍵字搜尋、Embedding、向量資料庫、混合搜尋與 LLM 生成的演進。文章會搭配實作與固定評測集,觀察不同搜尋方法在專有名詞、同義表達與繁體中文文件上的表現,並實作來源引用、拒答與評測。讀者將看見 RAG 如何把原始 Markdown 文件轉成可搜尋的知識,讓模型根據證據回答、標示來源,也知道何時承認資料不足。
第二階段在 Day 10 收官時,留下了關鍵字路線的最後死角:「登入驗證」永遠對不到「認證」,因為字面比對只認得一模一樣的詞。從今天開始的第三階段要處理這道牆—...
上一篇用一個當黑盒子的模型示範了 Embedding 如何翻過字面牆,也留下承諾:模型不能永遠是黑盒子,今天要正式選型。選型的原則延續整個系列的態度——排行榜可...
上一篇選定了 multilingual-e5-small,當時的評測是把 17 個 Chunk 的向量放進一個矩陣,跟查詢向量做一次乘法——暴力、精確、三行程式...
零件已經到齊:Day 12 選定了 multilingual-e5-small,Day 13 把向量安置進 Qdrant,Day 10 的評測集在旁邊等著計分。...
上一篇結尾承諾了正面對決,但直接開打有個問題:BM25 在評測集 v1 已經是 12/12 滿分,比賽還沒開始就結束了。而 Day 14 自己承認過,v1 的十...
Day 15 的逐題對決留下一張立案文件:BM25 與語意搜尋的失敗集合幾乎不相交,oracle 聯集指出 Hit@1 的天花板是 15/16。今天實作 Hyb...
Day 16 結束時,Hybrid Search 交出了一個完美的候選池——每一題的正解都在前五名裡——但它自己排不好序:獎勵共識的 RRF 在 q16 讓兩個...
Day 17 的最後一句是:「RAG 的 R 完工了,該寫 G 了。」檢索線現在很會找資料:Hybrid Search 先撈出候選,Reranker 再把真正相...
上一篇已把檢索結果整理成 ContextBundle,每份來源都有 S1、S2 等代號。現在資料已經送到模型門口,接下來的問題是:模型可以怎麼用?如果只補上一句...
前兩天把精排結果整理成 Context,又把問題、來源與回答規則組成 Messages。今天終於可以按下 Enter,讓一個問題真的走完檢索、精排、上下文建構與...