---
# System prepended metadata

title: '檢索增強生成（Retrieval-Augmented Generation, RAG）'
tags: [LLM]

---

## 介紹檢索增強生成（RAG）
隨著生成式人工智慧（Generative AI）的快速發展，大型語言模型（LLM）在自然語言處理領域展現了驚人的能力，然而，這些模型也面臨一些挑戰，例如知識過時、生成內容缺乏上下文依據，甚至偶爾出現「幻覺」（hallucination），即生成看似合理但實則錯誤的資訊。

為了解決這些問題，檢索增強生成（Retrieval-Augmented Generation，簡稱RAG）應運而生。RAG結合了資訊檢索與生成技術，使AI能夠在生成回應時參考外部知識庫，從而提升回答的準確性、時效性與可信度。

![image](https://hackmd.io/_uploads/r12z5P701x.png)

## RAG的核心概念與運作原理
### RAG 的核心理念
將傳統大型語言模型的生成能力與動態的資訊檢索機制相結合，傳統的 LLM 依賴於訓練時的靜態數據集，這意味著它們的知識受到訓練截止時間的限制，例如，若一個模型的訓練數據截至 2023 年，它無法回答關於 2025 年事件的問題。

RAG 透過引入外部知識來源解決了這一問題，當使用者提出問題時，RAG 系統首先利用檢索模組從外部數據庫或知識庫中提取相關資訊，然後將這些資訊作為上下文提供給生成模型，最終生成精準且具備最新資訊的回答。

### RAG的架構可拆解為以下兩個階段：檢索階段與生成階段
1. 檢索階段（Retrieval Stage）
step1. 使用者提出問題，系統會透過語義向量化技術（如 Embedding）將問題轉換成向量。
step2. 向量資料庫（如FAISS、Pinecone、Weaviate等），資料來源可來自企業內部知識庫、網頁資料、PDF文件等，把所有文件內容切成段落（chunks），並轉成向量並儲存起來。
step3. 計算相似度，針對使用者提問的向量與資料庫所有向量做相似度比較，最常用的公式是 Cosine Similarity
$\text{sim}(\mathbf{q}, \mathbf{d}_i) = \frac{\mathbf{q} \cdot \mathbf{d}_i}{\|\mathbf{q}\| \|\mathbf{d}_i\|}$
step4. 將所有計算出的相似度值進行排序，選出前 k 名（Top-K）相似度最高的文件段落。

2. 生成階段（Generation Stage）
被檢索出的資料將與原始查詢一同送入語言模型（如GPT、LLaMA等），進行內容融合與答案生成，模型不再僅依賴訓練期間學到的知識，而是能即時「引用」最新或更準確的資訊。

:::info
「Augmented」（增強）並不是一個獨立的執行階段，而是描述整個RAG系統的核心特性。具體來說，「增強」體現在檢索到的外部資訊如何提升生成模型的表現。
:::

### RAG 技術架構
1. 向量資料庫
一種專為高效檢索設計的資料儲存方式，向量資料庫將文本數據轉換為數值向量，並利用相似性搜尋快速找到與查詢最相關的內容，例如，當使用者問及某個特定主題時，系統會將問題轉換為向量，並與資料庫中的向量進行比對，找出最匹配的資料。
2. 檢索器（Retriever）
通常基於機器學習模型，如 BERT 或其變體，這些模型能夠理解查詢的語義，並從龐大的數據集中精準提取相關資訊。
3. 生成器（Generator）
基於大型語言模型（如GPT系列），負責將檢索到的資訊整合並生成自然語言回應。

## RAG 的優勢與挑戰
### 優勢
* 它提升了回答的時效性，透過持續更新的外部知識庫，RAG能夠提供最新的資訊，這對於新聞、金融或科技等快速變化的領域尤為重要。
* RAG 增強了生成的上下文相關性，藉由參考具體的外部資料，模型的回應不僅更具針對性，還能減少無關或錯誤的內容。
* RAG 還提高了透明度與可追溯性，使用者可以清楚知道回答的資訊來源，從而增加對 AI 輸出的信任。

### 挑戰
* 系統的效能高度依賴於知識庫的品質與覆蓋範圍，若知識庫內容不足或存在偏差，檢索結果可能無法滿足需求。
* 檢索與生成的整合（Fusion-In-Context）需要精細調校，若兩者之間的銜接不佳，可能導致回答缺乏連貫性。
* RAG多了一層檢索步驟，需透過快取（cache）、向量索引優化、批次處理等技術改善延遲。

---
:::info
以上就是這篇文章「檢索增強生成（Retrieval-Augmented Generation, RAG）」的所有內容，第一次看的人會花比較多時間消化吸收，這是很正常的事情，若有任何問題，歡迎在下方與我聯繫、討論，接下來也會繼續分享相關文章，敬請期待。