阿川私房教材:
學 JavaScript 前端,帶作品集去面試!

63 個專案實戰,寫出作品集,讓面試官眼前一亮!

立即開始免費試讀!

什麼是 RAG?

檢索增強生成 (RAG) 是一種透過外部資料擷取或檢索機制來增強大型語言模型的框架。當您提出問題時,RAG 系統會先搜尋知識庫(資料庫、內部文件等)以尋找相關資訊。然後,它將檢索到的訊息加入到您的原始問題中,並將兩者提供給 LLM。這為LLMs提供了背景資訊——問題和支持文件——使其能夠根據提供的資訊產生更準確、更符合事實的答案。

分解概念:

  • 檢索:在 LLM 產生答案之前,工具或系統會搜尋特定的知識來源(例如儲存在Google Drive中的文件)以取得與您的查詢相關的資訊。

  • 增強:檢索到的訊息(上下文)被加入到您的原始查詢中,從而建立“增強”或擴展的提示。

  • 產生:然後,LLM 使用這個增強提示(原始查詢 + 檢索到的上下文)根據提供的資訊產生答案,使其更加準確和相關。

為什麼我們需要檢索增強生成?

RAG 解決了獨立 LLM 的幾個限制。傳統的 LLM 在大型但靜態的資料集上進行訓練,因此具有固定的知識截止。他們也會出現“幻覺”,產生聽起來似乎合理但不正確或捏造的訊息,尤其是當被問及從未接受過培訓的細節時,例如私人公司資料或新產品細節。此外,驗證標準 LLM 給出特定答案的原因也很複雜。 RAG 透過將 LLM 的回應置於特定的檢索文件中來幫助克服這些問題,這也可以實現對產生的資訊的可追溯性和驗證。

讓我們直觀地理解這一點。

沒有 RAG

假設一家公司 ACME Corp. 內部安裝了一名LLMs,一名員工詢問該LLMs,「Saturn Analytics 產品有哪些功能?」該產品是新產品,由 ACME 內部開發,詳細資訊尚未公開。 LLM 不知道有關該特定產品的實際訊息(因為其訓練資料中沒有這些訊息),可能會根據其對分析產品的一般了解甚至不相關的訊息,繼續編造一些聽起來合理的功能。這會導致產生事實上不正確的資訊。這叫做幻覺

使用 RAG

如果LLM有一個根據使用者查詢檢索文件的工具,那麼AI系統可以先從知識庫中搜尋相關文件。然後,它將檢索到的訊息附加到原始提示(建立“增強”提示)。最後,LLM 根據這些文件的上下文產生答案,提供事實正確的資訊。

現在我們了解了 RAG 的必要性,讓我們來探索一下它的好處。

RAG 有哪些好處?

因此,我們看到了標準的LLMs如何難以應對特定或新的訊息,有時會導致幻覺。檢索增強生成 (RAG) 直接解決了這些問題。主要優點如下:

  • 存取當前和特定資訊:RAG 系統在回答之前從外部來源檢索資訊。它可以存取最新資料、私人公司文件或您提供的任何特定知識庫。這克服了傳統LLMs的靜態性和知識截止性。

  • 提高準確性並減少幻覺:透過將 LLM 的答案置於實際檢索的文件中,RAG 顯著減少了模型的虛構。 LLM 並不是基於其廣義的培訓而進行的猜測;它根據用戶問題提供的具體事實來建置答案。

  • 信任和可驗證性:當 RAG 系統提供答案時,很容易看出它在檢索步驟中使用了哪些文件。這意味著您可以驗證資訊或了解答案的來源,從而對已產生的答案建立信任。

  • 經濟高效的知識更新:每次需要納入新資訊時,您無需不斷對整個 LLM 進行昂貴且複雜的再培訓或微調,只需更新 RAG 從中檢索的外部知識庫即可。新增的產品文件或更新的資訊表更便宜、更快捷。

RAG 將 LLM 轉變為可靠的工具,使其更加安全、知識豐富,並且對於需要特定、當前或專有資訊的任務更加實用。這彌合了 LLM 的一般能力與現實世界的資訊需求之間的差距,讓您對您的 AI 專案更有信心。

接下來,考慮我們需要了解的使 RAG 管道工作的重要工具,並在 AI 生成答案之前開始提供上下文。

如何向 RAG 的 LLM 提供資訊?

我們已經確定,讓LLMs (LLM) 能夠存取外部資訊對於獲得準確、最新的答案至關重要。但是我們如何將LLMs與這些知識連結起來呢?以下是建構 RAG 系統的一些標準技術:

  1. 使用向量資料庫進行語義搜尋:在這種方法中,我們獲取您的資訊(如產品手冊、公司政策和文章),然後使用嵌入模型將每個文件轉換為稱為「向量」的數字表示。所有這些向量都儲存在專門的向量資料庫中。當使用者提出問題時,系統會在向量資料庫中搜尋具有最接近含義的文字(最接近的向量)。即使使用者沒有在文件中使用精確的關鍵字,這也使得 LLM 能夠找到相關資訊。

  2. 使用 API 和外部工具(LLM 代理、工具呼叫、MCP ):LLM 還可以存取“工具”,包括呼叫外部API 。這使得它能夠獲取未儲存在任何靜態文件集合中的即時資訊(例如,檢查當前股票價格、獲取天氣預報、查詢特定公司微服務)。這種方法通常會進入「LLM 代理」的領域,其中 LLM 可以與外部系統更動態地互動。您可以在此處詳細了解此方法。

  3. 查詢結構化資料庫(SQL) :有時,關鍵資訊不在非結構化文件中,而是整齊地組織在結構化資料庫(如 SQL 資料庫)中。對於這些情況,您可以實作通常稱為「文字到 SQL」的技術。系統接受使用者的自然語言問題,將其轉換為正式的 SQL 查詢,對資料庫執行該查詢,並檢索所需的特定資料行。然後將檢索到的資料作為上下文提供給 LLM。

建造有效的 RAG 系統需要經過深思熟慮的過程,而不僅僅是插入 LLM。我們很快就會深入研究細節,並利用強大的語義搜尋和向量資料庫來檢索相關資訊。我們還將討論像 LangChain 這樣的框架如何顯著簡化這些元件的編排。

第 2 點提到了 MCP,您可以在此處閱讀更多相關資訊。然而,許多人混淆了 MCP 和 RAG 之間的差異。並做出諸如“RAG 因 MCP 而消亡”之類的毫無根據的斷言。在本節中,我們分享 RAG 的不同方法。正如我們所討論的,核心思想是向 LLM 提供資料,這可以透過多種方式實現。讓我們探討一下 MCP 和 RAG 之間的區別,以便您清楚地了解它們的不同之處和相同之處。

RAG 和 MCP:RAG 死了嗎?

許多人常常將主要概念或哲學與工具混淆。 RAG 成為向量資料庫、LangChain、嵌入、搜尋引擎、資料管道等的代名詞。然而事實並非如此。正如我們所討論的,RAG 是一種在 AI 生成答案之前透過增強提示來獲取資料並提供上下文的方法,使其更加準確和符合事實。

我們還應該討論 MCP,即 Anthropic 為其 Claude AI 開發的模型上下文協定 (MCP)。它是一種存取不同資料庫、工具、功能等的方式,並執行諸如抓取網頁、獲取相關文件和從資料庫讀取最新查詢等操作。

這種連接允許 AI 模型執行各種操作、執行特定功能並從不同來源檢索必要的資料。 MCP(或透過該協定執行的工具/伺服器)可以有效地充當 RAG 架構中的檢索器。這種收集資訊的方法可能與其他標準檢索工具(如簡單的向量搜尋)不同,甚至繞過它們。然而,至關重要的是要理解,即使透過 MCP 管理檢索,基本流程仍然構成 RAG,因為在 AI 產生最終回應之前,會主動檢索外部知識以增強提示。

因此,MCP 並不意味著 RAG 已經死亡。這意味著我們找到了一種更容易設定的獲取資料的方法,但其用途取決於個人或公司的需求。

長上下文 AI 模型和 RAG:RAG 又死了嗎?

長上下文人工智慧

Meta AI 發布了 Llama 4 系列 AI 模型,具有 1000 萬個令牌上下文視窗。從這個角度來看,它可以容納整個《哈利波特》、《魔戒》和《權力的遊戲》系列書籍,而且還有足夠的空間。這種擴展的上下文允許模型處理和推理更大的文本跨度,從而實現更深層、更連貫的輸出。

RAG(檢索增強生成)背後的想法很簡單:它不僅涉及 LLM 所知道的內容,還涉及我們如何為其提供正確的背景。在許多實際應用中,LLM 要么需要檢索相關資料,要么需要動態提供資料以產生明智、準確的回應。

結論:透過 RAG 為 LLM 提供背景訊息

簡而言之,雖然標準LLMs令人印象深刻,但其固定的知識和幻覺傾向限制了它們在特定或當前資料方面的實際應用。檢索增強生成 (RAG) 提供了一個強大的解決方案,它允許 LLM 首先從您選擇的來源檢索相關訊息,使用此上下文增強其提示,然後生成基於事實的答案。 RAG 是將 LLM 從一般對話者轉變為可用於特定實際應用的可靠、知識淵博的工具的關鍵,我們在本文中探討了這個想法。

這是一篇由三個部分組成的文章。在下一篇文章中,我們將深入探討如何使用提到的工具和框架來撰寫 RAG 解決方案。這將為您提供更實際的方法和信心,為您的專案建立檢索增強生成管道。

為勇敢者提供額外資源

感謝您的閱讀。如果您尋求深入的研究論文和文章來增加您的理解。您可以點擊以下連結:


原文出處:https://dev.to/apideck/understanding-rag-retrieval-augmented-generation-essentials-for-ai-projects-5dpi

按讚的人:

共有 0 則留言


精選技術文章翻譯,幫助開發者持續吸收新知。

阿川私房教材:
學 JavaScript 前端,帶作品集去面試!

63 個專案實戰,寫出作品集,讓面試官眼前一亮!

立即開始免費試讀!