認識 RAG
大型語言模型(Large Language Model, LLM)很會寫,但不一定「記得對」。訓練資料有截止日期,公司內部文件、最新公告、私有知識庫它都沒看過;硬問它,它仍可能編出聽起來合理的答案,這就是幻覺(hallucination)。
檢索增強生成(Retrieval-Augmented Generation, RAG)的做法很單純:先從你指定的資料裡找出相關段落,再把這些段落連同問題一起交給模型。模型負責組織語言,事實盡量來自檢索結果。本站用繁體中文整理日常真正會用到的那一層。
最需要掌握的 20%
學 RAG 不必先把所有論文與框架背完。先把下面八件事做熟,就能自己做出可用的問答原型,也讀得懂大多數教學:
- 為什麼用 RAG:補模型沒看過的知識、降低胡謅、答案可附來源。不必為了「記得新事實」就去微調(fine-tuning)。
- 切塊(chunking):文件太長塞不進一次檢索與提示。切成有重疊的小段,檢索才找得到、也才餵得下。
- 嵌入(embedding):把文字變成向量。意思接近的句子,在向量空間裡也比較近。
- 向量資料庫:存放這些向量,並用近似最近鄰(Approximate Nearest Neighbor, ANN)快速找出相似段落。
- 檢索:把問題也做成向量,取出最相近的 k 筆(top-k)。關鍵字搜尋與語意搜尋常要混用。
- 生成:把檢索到的段落放進提示(prompt),要求模型「只根據上下文回答,沒有就說不知道」。
- 評估:看有沒有找回對的段落(retrieval),以及答案有沒有忠於上下文(faithfulness)。RAG 壞掉多半是檢索壞掉。
- 何時升級:簡單問答用 Naive RAG 就夠;問題含糊、多來源、要比較時,才加查詢改寫、重排序、Agentic RAG。
flowchart LR
Q[使用者問題] --> E[嵌入查詢]
E --> R[向量庫檢索]
D[文件] --> C[切塊]
C --> V[嵌入並入庫]
V --> R
R --> P[組成提示]
Q --> P
P --> L[LLM 生成]
L --> A[帶來源的回答]
RAG 適合什麼場景
- 用內部文件、產品手冊、法規、研究論文做問答助手。
- 需要引用來源,讓人能核對模型從哪一段得出答案。
- 知識會更新:換一批文件、重建索引即可,不必重訓模型。
它不是萬靈丹。需要改變模型語氣、格式、領域寫作風格時,微調可能更合適。資料品質差、切塊切錯、檢索找錯,生成再漂亮也是錯的。
官方學習資源
RAG 沒有單一「官方證照」。觀念來自 Meta 2020 年論文,實作則分散在各家 LLM/框架文件。以下是目前最接近原廠的路徑。
官方影音(建議先看)
IBM Technology 用九分鐘講清「先檢索再生成」;LangChain 工程師 Lance Martin 的 RAG From Scratch 從索引講到進階技巧。完整內嵌與說明見 官方影音。
可拿到完課證明的課程
DeepLearning.AI:Building and Evaluating Advanced RAG Applications(LlamaIndex 與 TruEra)適合想練評估的人;Building Agentic RAG with LlamaIndex 由 LlamaIndex 共同創辦人 Jerry Liu 授課。LangChain Academy 有免費基礎課;較正式的是 LangChain Certified Agent Engineer(偏 Agent,不是 RAG 專證)。
原廠文件與 YouTube
文字入門:LangChain RAG tutorial、LlamaIndex 入門、OpenAI File Search、Vertex AI RAG Engine、Azure AI Search RAG。逐步畫面見 官方影音 與 YouTube 優質教學。
建議學習順序
想對畫面,先看 官方影音 的 IBM 短片或 LangChain Part 1–4,再跟 YouTube 優質教學 的 freeCodeCamp 長課。想認識唯客學院,請看 關於我們。