什麼是 RAG(檢索增強生成)?
檢索增強生成(RAG)的定義
檢索增強生成(Retrieval-Augmented Generation,簡稱 RAG)是一種運用來自私有或專屬資料來源的資訊,來輔助文字生成的技術。
它結合了檢索模型(設計用來搜尋大型資料集或知識庫)與生成模型(例如:大型語言模型 LLM,這類模型會利用檢索到的資訊來產出可閱讀的文字回應)。
透過從更多資料來源補充背景資訊,並強化 LLM 原有的知識庫,RAG 可以提升搜尋結果的相關性與準確度。
這種方式能夠改善大型語言模型的輸出品質,而不需要重新訓練模型。
補充的資料來源範圍相當廣泛,可能包括訓練模型時未曾納入的最新網路資訊、專業領域的商業背景資料,甚至是企業內部的機密文件。
RAG 對於像是問答系統與內容生成這類任務特別有價值,因為它能幫助生成式 AI 系統利用外部資料來源,產出更精準、且更符合語境的回答。
RAG 通常會運用「語意搜尋」或「混合型搜尋」等方式來理解使用者意圖,並提供更貼切的結果。
深入了解檢索增強生成(RAG),以及這項技術如何讓您的專屬即時資料與生成式 AI 模型連結起來,從而提升最終使用者的體驗與回應的正確性。
什麼是資訊檢索?
資訊檢索(Information Retrieval,簡稱 IR)是指從知識來源或資料集中搜尋並擷取相關資訊的過程。
這個過程有點像你在網路上使用搜尋引擎查資料——你輸入查詢內容,系統就會幫你找出最有可能包含所需資訊的文件或網頁。
資訊檢索會運用相關技術,有效地對大型資料集進行索引與搜尋,幫助人們更容易從龐大的資料當中找到特定所需的資訊。
除了應用在網路搜尋引擎上,IR 也廣泛運用在數位圖書館、文件管理系統,以及各種資訊存取的應用場景中。
AI 語言模型的演變

過去這幾年,AI 語言模型經歷了重大的演變:
- 在 1950 和 1960 年代,這個領域還處於萌芽階段,當時使用的是以規則為基礎的系統,對語言的理解能力相當有限。
- 到了 20 世紀 70 年代和 80 年代,開始出現所謂的「專家系統」:這類系統會將人類的知識進行編碼,用來解決問題,但在語言處理方面依然有很大的限制。
- 1990 年代開始,統計方法變得流行起來,採用資料導向的方式來完成語言任務。
- 進入 2000 年代,機器學習技術登場,例如支援向量機(SVM),可以在高維度空間中分類不同類型的文字資料,雖然那時深度學習還在起步階段。
現今的轉換器模型,可以透過預測下一個最有可能出現的詞彙,來模擬人類語言的運作方式。
這樣的模型徹底改變了語言處理領域,也促成了大型語言模型(LLM)的興起,例如 Google 推出的 BERT(基於轉換器的雙向編碼器表示)。
現在,業界傾向把大型預訓練模型與為特定任務設計的專用模型做結合。
例如 RAG 這類模型越來越受到關注,它們把生成式 AI 語言模型的應用範圍擴展到一般訓練資料的邊界之外。
2022 年,OpenAI 推出 ChatGPT,可說是目前最知名的基於轉換器架構的大型語言模型之一。
它的主要競爭對手包含 Google 的 Bard 和微軟的 Bing Chat,都是具備對話能力的基礎模型。
而 Meta 推出的 Llama 2 則是一款開源的 LLM,並非面向一般消費者的聊天機器人,而是提供給具備 LLM 技術知識的研究人員免費使用。

RAG 是怎麼運作的?
檢索增強生成(Retrieval-Augmented Generation,簡稱 RAG)是一個多步驟的流程,從「檢索」開始,接著進行「生成」。以下是它的運作方式:
檢索
- RAG 從用戶的查詢開始,這可以是用戶提出的問題,或是需要詳細回覆的任意文本。
- 檢索模型會從知識庫、數據庫或外部來源(或同時從多個來源)抓取相關信息。模型的搜索範圍取決於輸入查詢的內容。檢索到的這些信息現在可以作為模型所需的任何事實或背景信息的參考來源。
- 檢索到的信息會被轉換為高維度空間中的向量,這些知識向量將儲存在向量數據庫中。
- 向量模型會基於與輸入查詢的相關性,對檢索到的信息進行排序。得分最高的文檔或段落將被選中,以進行進一步的處理。
生成
- 接下來,生成模型(例如 LLM)會使用檢索到的信息來生成文本回覆。
- 生成的文本可能會經過額外的後處理步驟,以確保其語法正確且語義連貫。
- 整體而言,這些回覆更加準確,也更符合語境,因為它們使用的是檢索模型所提供的補充信息。在缺少公共互聯網數據的專業領域,這一功能尤其重要。

RAG 優勢
相比於單獨運行的語言模型,檢索增強生成(RAG)具有多項優勢。以下列舉了它在文本生成和回覆方面的改進:
- RAG 確保模型能夠訪問最新、最及時的事實和相關信息,因為它能定期更新外部參考資料。這樣可以確保生成的回覆納入與用戶查詢相關的最新信息。此外,您還可以實施文檔級安全性,以控制數據流中的訪問權限,並限制特定文檔的安全許可。
- RAG 是更具成本效益的選擇,因為它所需的計算和存儲資源更少,這意味著您無需擁有自己的 LLM,也不需要花費時間和資金對您的模型進行微調。
- 聲稱數據準確固然簡單,但要證明數據的準確性卻不容易。RAG 可以引用外部來源並將其提供給用戶,以支持其回覆。如果用戶願意,還可以評估來源,以確認收到的回覆是否準確。
- 儘管由 LLM 提供支持的聊天機器人可以提供比之前的腳本式回覆更個性化的答案,但 RAG 能提供更加量身定制的答案。這是因為 RAG 在生成答案時,能夠使用搜索檢索方法(通常是語義搜索)來參考一系列基於背景信息得出的要點。
- 當遇到訓練時未出現過的複雜查詢時,LLM 有時會“出現幻覺”,提供不準確的回覆。對於模糊性查詢,RAG 可以更準確地進行回覆,因為其答案基於來自相關數據源的更多參考資料。
- RAG 模型用途多樣,可用於執行各種自然語言處理任務,包括對話系統、內容生成以及信息檢索。
- 在任何人造 AI 中,偏見都是一個問題。RAG 在回答時可以幫助減少偏見,因為它依賴的是經過篩選的外部來源。
檢索增強生成與微調的對比
檢索增強生成(RAG)和微調是訓練 AI 語言模型的兩種不同方法。
RAG 將檢索大量外部知識的過程與文本生成結合在一起,而微調則專注於狹窄的數據範圍以實現不同的目的。
在微調過程中,系統會使用專門數據對預訓練模型進一步訓練,以便其能適用於任務子集。
這一過程涉及基於新數據集修改模型的權重和參數,讓模型學習特定於任務的模式,同時保留來自最初預訓練模型的知識。
微調可用於各種類型的 AI,基本的例子是識別小貓,具體而言是識別網路上的貓照片。
在基於語言的模型中,除了文本生成,微調還能協助完成文本分類、情感分析和命名實體識別等任務。
然而,這一過程可能會極其耗費時間和資金。
RAG 能夠加速完成這一過程,並且由於計算和存儲需求較低,還能降低時間和資金成本。
由於能夠訪問外部資源,RAG 在處理以下任務時尤其有用:需要納入來自網路或企業知識庫的即時或動態信息,以便生成明智的回覆。
微調則有不同的優勢:如果當前任務定義明確,並且目標是僅優化該任務的性能,那麼微調會非常高效。
兩種技術的共同優勢是:無需針對每個任務都從零開始訓練 LLM。
檢索增強生成的挑戰與局限
雖然檢索增強生成(RAG)有很多優勢,但也面臨幾個挑戰和限制:
- RAG 需要依賴外部資訊,如果檢索到的資料不正確,RAG 生成的結果也會不準確。
- RAG 的檢索部分需要在大型知識庫或網路上進行搜尋,這不僅費用高昂,而且速度較慢。雖然相比微調,RAG 的速度稍快,成本也低一些,但仍然存在挑戰。
- 要將檢索和生成的部分無縫結合,需要精心設計和優化,這可能會在訓練和部署上造成潛在的困難。
- 在處理敏感數據時,從外部來源檢索資訊可能會引發隱私問題。由於需要遵守隱私和合規要求,這可能限制 RAG 能夠訪問的資料來源。不過,可以透過文檔級的訪問權限來解決這個問題;這意味著可以為特定角色設定訪問和安全許可。
- RAG 的基礎是事實的準確性,因此它可能難以生成富有想像力或虛構的內容,這限制了它在創意內容生成領域的應用。
檢索增強生成的未來趨勢
檢索增強生成(RAG)的未來趨勢將專注於提升技術的效率,使其更適合各種應用。以下是幾個值得關注的趨勢:
個性化
RAG 模型將持續整合使用者特定的知識,這將使 RAG 能夠生成更具個人化的回覆,特別是在內容推薦和虛擬助手等應用中。
可定制的行為
除了個性化,使用者將能對 RAG 模型的行為和回覆方式擁有更多的掌控權,這將幫助他們獲得所需的結果。
可擴展性
相較於現在,RAG 將能夠處理更大量的數據和使用者互動。
混合模型
將 RAG 與其他 AI 技術(如強化學習)結合,將促進更具多樣性和語境適應性的系統,這些系統能同時處理各種數據類型和任務。
即時和低延遲部署
隨著 RAG 模型在檢索速度和響應時間上的持續進步,它將在需要快速回覆的應用中(如聊天機器人和虛擬助手)越來越普遍地使用。
深入了解 2024 年的技術搜尋趨勢,請觀看此網路研討會,了解 2024 年的最佳實踐、新興方法以及熱門趨勢對開發者的影響。
檢索增強生成和 Elasticsearch
透過 Elasticsearch,您可以為生成式 AI 應用、網站、客戶或員工體驗打造基於 RAG 的搜索功能。Elasticsearch 提供完整的工具包,使您能夠:
- 儲存並搜尋專有資料,同時查詢可提供背景資訊的其他外部知識庫
- 透過多種方式(文字搜尋、向量搜尋、混合搜尋或語意搜尋),根據您的資料產出高度相關的搜尋結果
- 為您的使用者提供更精準的回應,打造更具吸引力的互動體驗
想了解更多訊息,歡迎加入歐立威 Line 好友!