什么是人工智能中的檢索增強生成 (RAG)?
介紹
大型語言模型 (LLM) 的快速發(fā)展改變了 AI 的格局,在自然語言理解和生成方面提供了無與倫比的能力。LLM 開創(chuàng)了一個新的語言理解和生成時代,OpenAI 的 GPT 模型處于領先地位。這些基于大量在線數(shù)據(jù)磨練的非凡模型拓寬了我們的視野,使我們能夠以前所未有的方式與人工智能驅動的系統(tǒng)進行交互。然而,像任何技術奇跡一樣,它們也有自己的局限性。一個明顯的問題是他們偶爾會提供不準確或過時的信息。此外,這些 LLM 沒有提供其響應的來源,因此驗證其輸出的可靠性具有挑戰(zhàn)性。在準確性和可追溯性至關重要的情況下,這種限制變得尤為重要。AI 中的檢索增強生成 (RAG) 是一種變革性范式,有望徹底改變 LLM 的能力。

LLM 的快速發(fā)展將它們推向了 AI 的最前沿,但它們仍在努力應對信息容量和偶爾的不準確等限制。RAG 通過無縫集成基于檢索的組件和生成組件來彌合這些差距,使 LLM 能夠利用外部知識資源。本文探討了 RAG 的深遠影響,揭示了其架構、優(yōu)勢、挑戰(zhàn)以及賦予其強大的各種方法。在此過程中,我們揭示了 RAG 重新定義大型語言模型格局的潛力,并為更準確、上下文感知和可靠的 AI 驅動通信鋪平了道路。
了解檢索增強生成 (RAG)
檢索增強生成 (RAG) 代表了人工智能 (AI) 和自然語言處理 (NLP) 的前沿方法。RAG 的核心是一個創(chuàng)新框架,它結合了基于檢索的模型和生成模型的優(yōu)勢,徹底改變了 AI 系統(tǒng)理解和生成類人文本的方式。
RAG 需要什么?
RAG 的開發(fā)是對 GPT 等大型語言模型 (LLM) 局限性的直接回應。雖然 LLM 表現(xiàn)出令人印象深刻的文本生成能力,但它們往往難以提供上下文相關的響應,這阻礙了它們在實際應用中的實用性。RAG 旨在通過提供一種出色的解決方案來彌合這一差距,該解決方案擅長理解用戶意圖并提供有意義且具有上下文感知的回復。
基于檢索的模型和生成模型的融合
從根本上說,RAG 是一種混合模型,它無縫集成了兩個關鍵組件?;跈z索的方法涉及從外部知識源(如數(shù)據(jù)庫、文章或網(wǎng)站)訪問和提取信息。另一方面,生成模型擅長生成連貫且與上下文相關的文本。RAG 的與眾不同之處在于它能夠協(xié)調這兩個組件,創(chuàng)造一種共生關系,使其能夠深入理解用戶查詢并產生不僅準確而且上下文豐富的響應。
解構 RAG 的機制
要掌握 RAG 的本質,必須解構其操作機制。RAG 通過一系列定義明確的步驟進行操作。
● 首先接收和處理用戶輸入。
● 分析用戶輸入以了解其含義和意圖。
● 利用基于檢索的方法訪問外部知識源。這豐富了對用戶查詢的理解。
● 使用檢索到的外部知識來增強理解力。
● 利用生成功能來制定響應。確?;貜蜏蚀_無誤、與上下文相關且連貫。
● 將收集到的所有信息結合起來,產生有意義且類似人類的響應。
● 確保有效地將用戶查詢轉換為響應。
語言模型和用戶輸入的作用
理解 RAG 的核心是了解大型語言模型 (LLM) 在 AI 系統(tǒng)中的作用。像 GPT 這樣的 LLM 是許多 NLP 應用程序的支柱,包括聊天機器人和虛擬助手。它們在處理用戶輸入和生成文本方面表現(xiàn)出色,但它們的準確性和上下文感知對于成功的交互至關重要。RAG 致力于通過檢索和生成的集成來增強這些基本方面。
整合外部知識來源
RAG 的顯著特點是能夠無縫集成外部知識資源。通過利用龐大的信息庫,RAG 增強了其理解力,使其能夠提供信息靈通且上下文細致入微的響應。整合外部知識可以提高交互質量,并確保用戶收到相關且準確的信息。
生成上下文響應
歸根結底,RAG 的標志是它能夠產生上下文響應。它考慮了用戶查詢的更廣泛上下文,利用了外部知識,并生成了對用戶需求的深刻理解的響應。這些上下文感知響應是一項重大進步,因為它們促進了更自然和類似人類的交互,使由 RAG 提供支持的 AI 系統(tǒng)在各個領域都非常有效。
檢索增強生成 (RAG) 是 AI 和 NLP 中的一個變革性概念。通過協(xié)調檢索和生成組件,RAG 解決了現(xiàn)有語言模型的局限性,并為更智能和上下文感知的 AI 交互鋪平了道路。它能夠無縫集成外部知識源并生成符合用戶意圖的響應,使 RAG 成為開發(fā)能夠真正理解用戶并以類似人類的方式與用戶交流的 AI 系統(tǒng)的游戲規(guī)則改變者。
外部數(shù)據(jù)的力量
在本節(jié)中,我們將深入探討外部數(shù)據(jù)源在檢索增強生成 (RAG) 框架中的關鍵作用。我們探索了可用于支持 RAG 驅動模型的各種數(shù)據(jù)源。

API 和實時數(shù)據(jù)庫
API(應用程序編程接口)和實時數(shù)據(jù)庫是動態(tài)源,可為 RAG 驅動的模型提供最新信息。它們允許模型在最新數(shù)據(jù)可用時訪問這些數(shù)據(jù)。
文檔存儲庫
文檔存儲庫充當有價值的知識庫,提供結構化和非結構化信息。它們是擴展 RAG 模型可以利用的知識庫的基礎。
網(wǎng)頁和抓取
網(wǎng)頁抓取是一種從網(wǎng)頁中提取信息的方法。它使 RAG 模型能夠訪問動態(tài) Web 內容,使其成為實時數(shù)據(jù)檢索的重要來源。
數(shù)據(jù)庫和結構化信息
數(shù)據(jù)庫提供可以查詢和提取的結構化數(shù)據(jù)。RAG 模型可以使用數(shù)據(jù)庫來檢索特定信息,從而提高其響應的準確性。
檢索增強生成 (RAG) 的優(yōu)勢
增強的 LLM 內存
RAG 解決了傳統(tǒng)語言模型 (LLM) 的信息容量限制。傳統(tǒng)的 LLM 具有稱為“參數(shù)存儲器”的有限內存。RAG 通過利用外部知識資源引入了“非參數(shù)存儲器”。這大大擴展了 LLM 的知識庫,使他們能夠提供更全面和準確的響應。
改進的情境化
RAG 通過檢索和整合相關的上下文文檔來增強對 LLM 的上下文理解。這使模型能夠生成與用戶輸入的特定上下文無縫對齊的響應,從而產生準確且上下文適當?shù)妮敵觥?/p>
可更新內存
RAG 的一個突出優(yōu)勢是它能夠適應實時更新和新來源,而無需進行大量的模型重新訓練。這使外部知識庫保持最新狀態(tài),并確保 LLM 生成的響應始終基于最新和最相關的信息。
來源引用文獻
配備 RAG 的模型可以為其響應提供來源,從而提高透明度和可信度。用戶可以訪問為 LLM 的響應提供信息的來源,從而提高 AI 生成內容的透明度和信任度。
減少幻覺
研究表明,RAG 模型表現(xiàn)出更少的幻覺和更高的反應準確性。他們也不太可能泄露敏感信息。減少幻覺和提高準確性使 RAG 模型在生成內容時更加可靠。
這些優(yōu)勢共同使檢索增強生成 (RAG) 成為自然語言處理的變革性框架,克服了傳統(tǒng)語言模型的局限性,增強了 AI 驅動的應用程序的功能。
RAG中的多種方法
RAG 為檢索機制提供了一系列方法,以滿足各種需求和場景:
簡單: 檢索相關文檔并將其無縫整合到生成過程中,確保全面的響應。
地圖減少:合并為每個文檔單獨生成的響應,以制作最終響應,綜合來自多個來源的見解。
地圖細化: 使用初始文檔和后續(xù)文檔迭代優(yōu)化響應,通過持續(xù)改進提高響應質量。
地圖重新排名: 對響應進行排名,并選擇排名最高的響應作為最終答案,優(yōu)先考慮準確性和相關性。
濾波: 應用高級模型來過濾文檔,利用優(yōu)化的數(shù)據(jù)集作為上下文,以生成更有針對性和上下文相關的響應。
上下文壓縮: 從文檔中提取相關片段,生成簡明扼要且內容豐富的回復,并最大限度地減少信息過載。
基于摘要的索引: 利用文檔摘要,索引文檔片段,并使用相關摘要和片段生成響應,確保提供簡潔而翔實的答案。
前瞻性主動檢索增強生成 (FLARE): 通過最初檢索相關文檔并迭代優(yōu)化響應來預測即將到來的句子。Flare 確保了動態(tài)且與上下文一致的生成過程。
這些多樣化的方法使 RAG 能夠適應各種用例和檢索場景,從而提供量身定制的解決方案,最大限度地提高 AI 生成的響應的相關性、準確性和效率。
RAG 中的道德考量
RAG 引入了需要仔細注意的道德考慮:
確保公平和負責任的使用:RAG 的道德部署包括負責任地使用該技術,并避免任何濫用或有害應用。開發(fā)人員和用戶必須遵守道德準則,以保持 AI 生成內容的完整性。
解決隱私問題: RAG對外部數(shù)據(jù)源的依賴可能涉及訪問用戶數(shù)據(jù)或敏感信息。建立強有力的隱私保護措施以保護個人數(shù)據(jù)并確保遵守隱私法規(guī)勢在必行。
減輕外部數(shù)據(jù)源中的偏差: 外部數(shù)據(jù)源可能會繼承其內容或收集方法中的偏差。開發(fā)人員必須實施識別和糾正偏見的機制,確保人工智能生成的響應保持公正和公平。這涉及對數(shù)據(jù)源和培訓過程的持續(xù)監(jiān)控和完善。
檢索增強生成 (RAG) 的應用
RAG 在各個領域找到多功能應用,增強了不同環(huán)境中的 AI 功能:
聊天機器人和人工智能助手:RAG 驅動的系統(tǒng)在問答場景中表現(xiàn)出色,從廣泛的知識庫中提供上下文感知和詳細的答案。這些系統(tǒng)能夠與用戶進行信息量更大、更具吸引力的交互。
教育工具:RAG 可以通過為學生提供基于教科書和參考資料的答案、解釋和其他上下文來顯著改進教育工具。這有助于更有效的學習和理解。
法律研究和文件審查: 法律專業(yè)人士可以利用 RAG 模型來簡化文件審查流程并進行高效的法律研究。RAG 協(xié)助總結法規(guī)、判例法和其他法律文件,節(jié)省時間并提高準確性。
醫(yī)療診斷和保?。涸卺t(yī)療保健領域,RAG 模型是醫(yī)生和醫(yī)療專業(yè)人員的寶貴工具。它們提供最新的醫(yī)學文獻和臨床指南,有助于提供準確的診斷和治療建議。
語言翻譯與上下文: RAG 通過考慮知識庫中的上下文來增強語言翻譯任務。這種方法可以帶來更準確的翻譯,考慮到特定的術語和領域知識,這在技術或專業(yè)領域特別有價值。
這些應用程序突出了 RAG 對外部知識源的集成如何使 AI 系統(tǒng)能夠在各個領域表現(xiàn)出色,提供上下文感知、準確和有價值的見解和響應。
RAG 和 LLM 的未來

檢索增強生成 (RAG) 和大型語言模型 (LLM) 的發(fā)展將迎來令人興奮的發(fā)展:
● 檢索機制的進步: RAG 的未來將見證檢索機制的改進。這些增強功能將側重于提高文檔檢索的精度和效率,確保 LLM 快速訪問最相關的信息。先進的算法和人工智能技術將在這一演變中發(fā)揮關鍵作用。
● 與多模態(tài) AI 集成: RAG 和多模態(tài) AI 之間的協(xié)同作用將文本與其他數(shù)據(jù)類型(如圖像和視頻)相結合,具有巨大的前景。未來的 RAG 模型將無縫整合多模態(tài)數(shù)據(jù),以提供更豐富、更符合情境的響應。這將為內容生成、推薦系統(tǒng)和虛擬助手等創(chuàng)新應用打開大門。
● RAG 在特定行業(yè)應用中的應用: 隨著 RAG 的成熟,它將進入行業(yè)特定的應用。醫(yī)療保健、法律、金融和教育部門將利用 RAG 驅動的 LLM 完成專業(yè)任務。例如,在醫(yī)療保健領域,RAG 模型將通過即時檢索最新的臨床指南和研究論文來幫助診斷醫(yī)療狀況,確保醫(yī)生能夠獲得最新信息。
● RAG 的持續(xù)研究和創(chuàng)新:RAG 的未來以不懈的研究和創(chuàng)新為標志。AI 研究人員將繼續(xù)突破 RAG 所能實現(xiàn)的界限,探索新穎的架構、訓練方法和應用。這種對卓越的持續(xù)追求將導致更準確、更高效和更通用的 RAG 模型。
● 具有增強檢索功能的 LLM:LLM 將發(fā)展為具有增強的檢索能力作為核心功能。它們將無縫集成檢索和生成組件,使其更有效地訪問外部知識資源。這種集成將導致精通理解上下文并擅長提供上下文感知響應的 LLM。
利用 LangChain 進行增強檢索-增強生成(RAG)
安裝 LangChain 和 OpenAI 庫
這行代碼將安裝 LangChain 和 OpenAI 庫。LangChain 對于處理文本數(shù)據(jù)和嵌入至關重要,而 OpenAI 提供對最先進的大型語言模型 (LLM) 的訪問。此安裝步驟對于設置 RAG 所需的工具至關重要。
RAG 知識庫的 Web 數(shù)據(jù)加載
● 該代碼利用了LangChain的“WebBaseLoader”。
● 指定了三個用于數(shù)據(jù)檢索的網(wǎng)頁:YOLO-NAS 對象檢測、DeciCoder 的代碼生成效率和深度學習每日時事通訊。
● 此步驟對于構建 RAG 中使用的知識庫、實現(xiàn)上下文相關且準確的信息檢索以及集成到語言模型響應中至關重要。
嵌入和矢量存儲設置
● 該代碼為 RAG 進程設置嵌入。
● 它使用“OpenAIEmbeddings”來創(chuàng)建嵌入模型。
● 初始化“CacheBackedEmbeddings”對象,允許使用本地文件存儲有效地存儲和檢索嵌入。
● “FAISS”向量存儲是從預處理的 Web 數(shù)據(jù)塊(yolo_nas_chunks、decicoder_chunks和yolo_newsletter_chunks)創(chuàng)建的,從而實現(xiàn)快速準確的基于相似性的檢索。
● 最后,從向量存儲中實例化檢索器,便于在 RAG 過程中進行高效的文檔檢索。
建立檢索系統(tǒng)
● 該代碼為檢索增強生成 (RAG) 配置檢索系統(tǒng)。
● 它使用 LangChain 庫中的“OpenAIChat”來建立基于聊天的大型語言模型(LLM)。
● 定義了一個名為“StdOutCallbackHandler”的回調處理程序,用于管理與檢索系統(tǒng)的交互。
● 創(chuàng)建“RetrievalQA”鏈,其中包含 LLM、檢索器(先前初始化)和回調處理程序。
● 此鏈旨在執(zhí)行基于檢索的問答任務,并配置為在 RAG 過程中返回源文檔以添加上下文。
初始化 RAG 系統(tǒng)
該代碼通過將 OpenAIChat 語言模型 (LLM) 與檢索器和回調處理程序相結合,建立了一個 RetrievalQA 鏈,這是 RAG 系統(tǒng)的關鍵部分。
向 RAG 系統(tǒng)發(fā)出查詢
它向 RAG 系統(tǒng)發(fā)送各種用戶查詢,提示它檢索上下文相關信息。
檢索響應
處理查詢后,RAG 系統(tǒng)會生成并返回上下文豐富且準確的響應。響應將打印在控制臺上。
該代碼舉例說明了 RAG 和 LangChain 如何增強 AI 應用程序中的信息檢索和生成。
輸出

結論
檢索增強生成 (RAG) 代表了人工智能的變革性飛躍。它將大型語言模型 (LLM) 與外部知識源無縫集成,解決了 LLM 參數(shù)存儲器的局限性。
RAG 訪問實時數(shù)據(jù)的能力,加上改進的情境化,增強了人工智能生成響應的相關性和準確性。其可更新的內存可確保響應是最新的,而無需進行大量的模型重新訓練。RAG 還提供來源引用,提高透明度并減少數(shù)據(jù)泄漏??偠灾琑AG 使 AI 能夠提供更準確、更上下文感知和更可靠的信息,為各行各業(yè)的 AI 應用帶來更光明的未來。
關鍵要點
檢索增強生成 (RAG) 是一個突破性的框架,它通過集成外部知識源來增強大型語言模型 (LLM)。
RAG 克服了 LLM 參數(shù)存儲器的局限性,使它們能夠訪問實時數(shù)據(jù)、改進上下文化并提供最新的響應。
借助 RAG,AI 生成的內容變得更加準確、上下文感知和透明,因為它可以引用來源并減少數(shù)據(jù)泄漏。
RAG 的可更新內存消除了頻繁的模型重新訓練,使其成為各種應用的經濟高效的解決方案。
這項技術有望徹底改變各行各業(yè)的人工智能,為用戶提供更可靠、更相關的信息。
常見問題解答
問題1. 什么是 RAG?它與傳統(tǒng)的 AI 模型有何不同?
答:RAG 或檢索增強生成,是一種創(chuàng)新的人工智能框架,結合了基于檢索和生成模型的優(yōu)勢。與僅根據(jù)其預先訓練的知識生成響應的傳統(tǒng) AI 模型不同,RAG 集成了外部知識源,使其能夠提供更準確、最新且與上下文相關的響應。
問題2. RAG 如何確保檢索到的信息的準確性?
答:RAG 采用從外部來源獲取信息的檢索系統(tǒng)。它通過向量相似性搜索和實時更新外部數(shù)據(jù)集等技術來確保準確性。此外,RAG 允許用戶訪問源引文,從而提高透明度和可信度。
問題3. RAG 可以用于特定行業(yè)或應用嗎?
答:是的,RAG 用途廣泛,可以應用于各個領域。它在準確和最新信息至關重要的領域特別有用,例如醫(yī)療保健、金融、法律和客戶支持。
問題4. 實施 RAG 是否需要廣泛的技術專長?
答:雖然 RAG 涉及一些技術組件,但可以使用用戶友好的工具和庫來簡化該過程。許多組織也在開發(fā)用戶友好的 RAG 平臺,使其可供更廣泛的受眾使用。
問題5. RAG 有哪些潛在的道德問題,例如錯誤信息或數(shù)據(jù)隱私?
答:RAG 確實提出了關鍵的道德考慮。確保外部數(shù)據(jù)源的質量和可靠性、防止錯誤信息以及保護用戶數(shù)據(jù)是持續(xù)的挑戰(zhàn)。道德準則和負責任的人工智能實踐對于解決這些問題至關重要。
原文地址:https://www.analyticsvidhya.com/blog/2023/09/retrieval-augmented-generation-rag-in-ai/

非常感謝大家的閱讀,小Mo在這里祝你在末來的 Python 學習職業(yè)生涯中一切順利!
后續(xù)小Mo會不定期更新書籍、視頻等學習資源,以上這些書籍資料也可通過關注微信公眾號免費獲取哦!
歡迎關注我們的微信公眾號:MomodelAl
同時,歡迎使用「Mo AI編程」微信小程序
以及登錄官網(wǎng),了解更多信息:Mo 人工智能教育實訓平臺
Mo,發(fā)現(xiàn)意外,創(chuàng)造可能
注:部分資源來源于互聯(lián)網(wǎng),若有侵權,請直接聯(lián)系作者刪除。