RAG 是將大型語言模型 (LLM) 應用帶入實際企業或個人知識庫的關鍵框架。它有效地解決了 LLM 的兩大痛點:知識截止(Knowledge Cutoff)與幻覺(Hallucination),讓模型能夠基於最新、準確的外部資料來生成答案。他是一個將 檢索系統 (Retrieval System) 與 生成模型 (Generation Model) 結合的框架。
Query -> Retrieval -> Augmented Prompt -> LLM -> Grounded Answer
RAG 的檢索環節決定了答案的品質。目前主要有兩種檢索方式:
方式 | 原理 | 優點與應用 | 缺點 |
---|---|---|---|
傳統檢索 | 依賴關鍵字匹配 (如 TF-IDF, BM25)。 | 簡單、快速。 | 無法理解語義相近但字面不同的內容。 |
向量檢索 | 透過 Embedding 將文本轉換為向量,計算查詢向量與知識庫向量的餘弦相似度。 | 能找到語義相關的內容,而不僅是字面匹配,是 RAG 的主流方法。 | 需要專門的向量資料庫支援。 |
向量資料庫是 RAG 框架的核心引擎,專門用於高效、快速地進行高維度向量的相似度搜索。
這個流程完美地演示了如何將非結構化文本轉換為可檢索的向量索引:
RAG 已經成為許多企業應用 LLM 的標準配置,常見應用包括:
總結:RAG 框架透過外部知識和 LLM 的結合,極大地擴展了語言模型的應用範圍,將其轉變為一個實用、可靠、且能不斷更新的工具。