iT邦幫忙

2025 iThome 鐵人賽

DAY 24
0
生成式 AI

nutc_imac_Agent拼裝車系列 第 24

Day24 RAG 實戰篇 (一):認識 Retrieval-Augmented Generation

  • 分享至 

  • xImage
  •  

「AI 模型知道的,不一定是你想要的。」
這句話完美說明了為什麼 RAG(Retrieval-Augmented Generation)
會成為 2024 年後企業導入 AI 的核心技術之一。


一、為什麼需要 RAG?

大型語言模型(LLM)非常聰明,
但它有兩個天生限制:

  1. 知識是固定的
    模型的知識來自訓練資料,更新緩慢。
    想讓它學新東西,只能重訓(成本高、效率低)。

  2. 回答可能「看似正確」但其實錯誤
    這種現象叫 幻覺(Hallucination)
    模型會根據語意邏輯「編」出合理但錯的答案。

這時,RAG 就登場了——
讓 LLM 在回答之前,先去查「真實資料庫」
再根據找到的內容生成答案。


二、RAG 是什麼?

RAG(Retrieval-Augmented Generation)
直譯為「檢索增強生成」。
它的核心思想是:

讓 AI 模型在生成答案前,
先從外部知識庫中找出與問題相關的內容,
再根據檢索結果生成最終回覆。

這樣模型回答的依據不再只是訓練數據,
而是最新、最真實、最可控的知識來源。


三、RAG 的架構圖解

下圖展示了 RAG 的運作流程與核心組件

https://ithelp.ithome.com.tw/upload/images/20251007/20150369r769gWul8N.png

說明:

  1. 使用者輸入查詢(Query)
    → 系統接收問題,並準備檢索相關資料。

  2. Retriever 模組
    將使用者的 Query 經由 Embedding 模型 轉成向量,
    與知識庫中已向量化的文件(Document Embeddings)
    進行 餘弦相似度(Cosine Similarity) 比對,
    找出最相關的幾段文件。

  3. Generator 模組(LLM)
    將「使用者問題 + 檢索內容」整合後交給語言模型(如 GPT、Ollama、Claude)。
    模型根據上下文生成更準確、有依據的回答。


四、RAG 的三大關鍵步驟

步驟 名稱 功能 技術重點
資料向量化 (Embedding) 將文字轉換為可比較的數值向量 使用 OpenAI Embedding、Ollama Embedding 等
相似度檢索 (Retrieval) 找出與問題最接近的內容片段 使用 Vector DB(如 Qdrant、PgVector、Redis)
生成 (Generation) 將檢索到的內容放進 Prompt,請模型生成答案 結合 Chat 模型(OpenAI、Ollama、Claude...)

五、RAG 的實際應用場景

類型 應用說明 實例
知識型問答 使用內部文件回答問題 企業文件助理、法規查詢系統
文件摘要 根據檔案內容自動生成重點 研究報告摘要、自動會議紀錄
客戶支援系統 回答 FAQ、產品說明 智慧客服中心
程式文件助理 根據專案文件提供 API 說明 DevOps 文件查詢
私有資料查詢 保留資料安全,避免外洩 本地 Qdrant + Ollama 架構

六、RAG vs 傳統 LLM 的思維差異

項目 傳統 LLM RAG 模型
資料來源 模型訓練時的內建知識 即時檢索的外部文件
回答依據 憑語意生成(可能誤) 有文件依據(可引用)
更新方式 需重新訓練模型 只需更新知識庫
準確度 易產生幻覺 更具可驗證性
成本 中等(可用本地模型)

七、RAG 的優勢與挑戰

優勢 挑戰
回答更準確,能引用文件依據 需設計良好的資料切分策略
知識可動態更新 向量資料庫維運成本
適合企業應用(文件、FAQ、內部系統) 若檢索品質差,仍會出錯
不需重新訓練模型 Embedding 成本與延遲需考量

上一篇
Day23 Spring AI 整合本地模型:Ollama 實戰篇
系列文
nutc_imac_Agent拼裝車24
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言