什麼是 RAG?
RAG(Retrieval-Augmented Generation,檢索增強生成)是一種讓大語言模型「讀懂你的資料」的技術。
想像一下:ChatGPT 很聰明,但它不知道你公司的內部文件、產品手冊、客服紀錄。RAG 就是那座橋樑——它先從你的資料庫中找到相關內容,再把這些內容餵給 AI,讓 AI 基於你的資料來回答問題。
為什麼 RAG 比 Fine-tuning 更適合大多數場景?
| 比較項目 | RAG | Fine-tuning |
|---|---|---|
| 成本 | 低(不需重新訓練) | 高(需要 GPU 算力) |
| 資料更新 | 即時(更新文件即可) | 需重新訓練 |
| 幻覺問題 | 大幅降低(有來源佐證) | 仍然存在 |
| 適用場景 | 知識問答、客服、文件搜尋 | 風格遷移、特定任務 |
RAG 的核心架構
一個完整的 RAG 系統包含三個階段:
階段一:文件處理(Ingestion)
- 載入文件:PDF、Word、網頁、Notion 等
- 切割文件(Chunking):將長文件切成 500-1000 token 的段落
- 向量化(Embedding):使用 OpenAI 或開源模型將文字轉成向量
- 存入向量資料庫:Pinecone、Weaviate、Supabase pgvector
階段二:檢索(Retrieval)
當用戶提問時,系統會:
- 將問題向量化
- 在向量資料庫中找到最相似的 5-10 個段落
- 根據相似度排序
階段三:生成(Generation)
將檢索到的段落作為 context,連同用戶問題一起送給 LLM:
prompt = f"""
根據以下參考資料回答用戶的問題。
如果資料中沒有相關資訊,請誠實告知。
參考資料:
{retrieved_chunks}
用戶問題:{user_question}
"""
實際應用場景
1. 企業內部知識庫
讓員工用自然語言搜尋公司制度、SOP、技術文件,取代傳統的「翻文件夾」。
2. 智能客服
基於產品文件和歷史工單,自動回答 80% 的常見問題,大幅降低客服成本。
3. 法律/醫療文件查詢
在大量專業文件中快速找到相關條文或案例,並附上出處。
給初學者的建議
- 先用現成工具體驗:Dify、LangFlow 等 no-code 工具可以快速搭建 RAG
- 再學底層原理:了解 Embedding、向量搜尋的運作方式
- 最後動手寫 code:用 LangChain + Supabase pgvector 建立自己的 RAG pipeline
RAG 不只是技術,更是一種思維方式——讓 AI 成為你專屬的知識助理,而不是一個泛用的聊天機器人。