大模型RAG技術:構建高效、可信賴的知識檢索系統

前言

LLM 問題

幻覺:在沒有答案的情況下提供虛假信息。

過時:當用戶需要特定的當前響應時,提供過時或通用的信息。

來源:從非權威來源創建響應。由于術語混淆,不同的培訓來源使用相同的術語來談論不同的事情,因此會產生不準確的響應。

RAG 是解決其中一些挑戰的一種方法。它會重定向 LLM,從權威的、預先確定的知識來源中檢索相關信息。組織可以更好地控制生成的文本輸出,并且用戶可以深入了解 LLM 如何生成響應。

image

RAG 范式

RAG(Retrieval Augmented Generation)有三個核心組成部分:檢索、增強和生成。其整個流程主要可以分為以下五個基本步驟:

知識文檔的準備: 這是構建RAG系統的首要步驟,涉及將各種格式的知識源(如Word文檔、TXT文件、PDF文件、圖片、視頻等)通過文檔加載器或多模態模型(如OCR技術)轉換為純文本數據。此外,還需要執行文檔切片,將長篇文檔分割成多個文本塊,以提高信息檢索的準確性和效率。

嵌入模型: 嵌入模型(Embedding Model)的任務是將文本轉換為向量形式。這一步驟通過計算文本的向量表示,使得能夠通過向量之間的差異來識別語義上相似的句子。例如,Word2Vec、BERT和GPT等模型都可用于生成文本的向量表示。

向量數據庫: 向量數據庫專門設計用于存儲和檢索向量數據。所有通過嵌入模型生成的向量都會被存儲在這樣的數據庫中,優化了處理和存儲大規模向量數據的效率。

查詢檢索: 用戶的問題首先被輸入到嵌入模型進行向量化處理,然后在向量數據庫中搜索與該問題向量語義上相似的知識文本或歷史對話記錄并返回。

生成回答: 最后,結合用戶提問和檢索到的信息,構建出一個提示模版(Prompt Template),輸入到大型語言模型(Large Language Model, LLM)中,由模型生成準確的回答。

這個流程是RAG系統的基礎,但文章中也提到了多個環節有著極大的優化空間,包括數據清洗、分塊處理、元數據、多級索引、索引/查詢算法、查詢轉換、檢索參數、高級檢索策略、重排模型、提示詞和大語言模型等方面。這些優化策略可以幫助提高RAG系統的性能和可用性。

RAG vs 微調

優化技術的差異:RAG類似于為模型提供教科書,使其能夠根據特定查詢檢索信息。適用于模型需要回答特定查詢或處理特定信息檢索任務的場景。微調則類似于讓學生通過廣泛學習來內化知識,適用于模型需要復制特定結構、風格或格式的情況。

適用場景:

RAG:適用于需要回答具體查詢或特定信息檢索任務的場景。

微調:適用于強調基礎模型中的現有知識,修改或定制模型輸出,為模型提供復雜指令的場景。

互補性:RAG和微調不是相互排斥的,而是可以相互補充,從不同層面增強模型的能力。在某些情況下,結合這兩種技術可以實現最佳的模型性能。

原始RAG、高級RAG和模塊化RAG

image

原始RAG(Naive RAG)

原始RAG是最早的研究范式,主要包括以下幾個步驟:

建立索引: 這一過程通常在離線狀態下進行,包括數據清理、提取,將不同文件格式(如PDF、HTML、Word、Markdown等)轉換為純文本,然后進行文本分塊,并創建索引。

檢索: 使用相同的編碼模型將用戶輸入轉換為向量,計算問題嵌入和文檔塊嵌入之間的相似度,選擇相似度最高的前K個文檔塊作為當前問題的增強上下文信息。

生成: 將給定的問題和相關文檔合并為新的提示,然后由大型語言模型基于提供的信息回答問題。如果有歷史對話信息,也可以合并到提示中,用于多輪對話。

原始RAG面臨的挑戰

檢索質量問題: 包括低精度(檢索集中不所有塊都與查詢相關,導致可能的幻覺和斷層問題)和低召回率(無法檢索到所有相關塊,阻止LLM獲取足夠的上下文來合成答案)等。

響應生成質量問題: 包括幻覺(模型編造不存在于上下文中的答案)、不相關性(模型生成的答案未能解決查詢問題)以及有害或偏見性回應等。

增強過程的挑戰:包括有效整合檢索段落的上下文與當前生成任務、冗余和重復(多個檢索段落包含相似信息導致內容重復)、確定多個檢索段落對生成任務的重要性或相關性、處理不同寫作風格或語氣的差異以確保輸出一致性等。

高級RAG (Advanced RAG)

高級RAG針對原始RAG的不足之處進行了有針對性的改進。這些改進涉及檢索生成的質量、索引的優化、檢索過程的優化等多個方面。

預檢索過程

優化數據索引: 提高索引內容的質量,包括增加索引數據的細粒度、優化索引結構、添加元數據、對齊優化和混合檢索等五個主要策略。

嵌入和索引: 涉及通過語言模型將文本編碼為向量的過程,包括微調嵌入和動態嵌入。

微調嵌入: 提高檢索內容與查詢之間的相關性。

動態嵌入: 基于單詞出現的上下文動態調整嵌入。

檢索過程優化

重新排序(ReRank): 對檢索到的信息進行重新排序,將最相關的信息放置在提示的邊緣。

提示壓縮: 通過壓縮不相關的上下文、突出關鍵段落和減少總體上下文長度來提高RAG性能。

高級RAG 特點

高級RAG通過先進的索引方法、更精細的檢索策略和有效的后處理方法來優化RAG的性能。

它采用不同的檢索技術組合,適應不同的查詢類型和信息需求,確保一致地檢索到最相關和上下文豐富的信息。

高級RAG還包括對嵌入模型的微調,以提高檢索內容的相關性,并使用動態嵌入技術以更好地處理上下文變化。

RAG 管道優化

在“RAG管道優化”這一部分中,論文討論了針對檢索過程的優化,旨在提高RAG系統的效率和信息質量。這些研究主要集中在智能組合各種搜索技術、優化檢索步驟、引入認知回溯的概念、靈活應用多樣化的查詢策略,以及利用嵌入相似性。這些努力共同追求在RAG檢索中實現效率和上下文信息豐富度之間的平衡。

RAG檢索過程的優化方法:

探索混合搜索: 通過智能融合關鍵字搜索、語義搜索和向量搜索等技術,RAG系統可以利用每種方法的優勢,適應不同類型的查詢和信息需求,確保一致地檢索到最相關和上下文豐富的信息。

遞歸檢索和查詢引擎: 實施遞歸檢索和復雜查詢引擎是優化RAG系統檢索的另一種強有力的方法。遞歸檢索意味著在初始檢索階段獲取較小的文檔塊以捕獲關鍵語義含義,然后在后續階段向語言模型提供更多上下文信息的較大塊。這種兩步檢索方法有助于在效率和富有上下文的響應之間找到平衡。

StepBack-prompt: 將StepBack-prompt方法集成到RAG過程中,鼓勵大型語言模型從特定實例中退后,參與對背后的一般概念或原則的推理。實驗結果表明,在各種具有挑戰性的、推理密集的任務中,結合后向提示的運用能顯著提高性能,顯示出其在RAG中的自然適應性。

子查詢: 可以在不同場景中采用各種查詢策略,包括使用LlamaIndex等框架提供的查詢引擎,運用樹查詢、向量查詢,或使用最基本的塊序列查詢。

HyDE: 這種方法基于假設,即生成的答案在嵌入空間中可能比直接查詢更接近。使用大型語言模型,HyDE針對查詢生成一個假設的文檔(答案),嵌入該文檔,并利用這種嵌入來檢索與假設文檔類似的真實文檔。與基于查詢的嵌入相似性不同,這種方法強調從答案到答案的嵌入相似性。然而,這種方法可能并不總是能夠產生有利的結果,特別是在語言模型不熟悉討論主題的情況下,可能導致生成更多錯誤實例。

模塊化RAG

模塊化RAG結構打破了傳統的原始RAG框架(索引、檢索和生成),提供了更大的多樣性和整個過程的靈活性。它整合了各種方法來擴展功能模塊,例如在相似性檢索中加入搜索模塊,以及在檢索器中應用微調方法。此外,特定問題的出現促使重構的RAG模塊和迭代方法的出現。模塊化RAG范式正成為RAG領域的主流,允許采用序列化管道或跨多個模塊的端到端訓練方法。

新模塊

搜索模塊: 與原始/高級RAG中的查詢和語料庫之間的相似性檢索不同,搜索模塊針對特定場景,將直接搜索引入過程中,使用由LLM生成的代碼、查詢語言(如SQL、Cypher)或其他自定義工具。

記憶模塊: 利用LLM自身的記憶能力來指導檢索。原則是找到與當前輸入最相似的記憶。例如,Self-mem迭代地使用一個檢索增強生成器來創建一個無限的記憶池,結合“原始問題”和“對偶問題”。

額外生成模塊: 在檢索到的內容中,冗余和噪聲是常見問題。額外生成模塊利用LLM生成所需的上下文,而不是直接從數據源檢索。

任務適應模塊:專注于轉換RAG以適應各種下游任務。例如,UPRISE自動從預構建的數據池中檢索給定零樣本任務輸入的提示,增強跨任務和模型的通用性。

對齊模塊: 查詢和文本之間的對齊一直是影響RAG有效性的關鍵問題。在模塊化RAG時代,研究人員發現,在檢索器中添加一個可訓練的Adapter模塊可以有效緩解對齊問題。

驗證模塊: 在現實世界場景中,不能總保證檢索到的信息是可靠的。檢索到不相關的數據可能導致LLM出現幻覺。因此,在檢索文檔后可以引入額外的驗證模塊,以評估檢索到的文檔與查詢之間的相關性,增強RAG的魯棒性。

場景

RAG技術可以在以下一些常見的自然語言處理任務中發揮作用:

問答系統 (QA Systems)

RAG可以用于構建強大的問答系統,能夠回答用戶提出的各種問題。它能夠通過檢索大規模文檔集合來提供準確的答案,無需針對每個問題進行特定訓練。

文檔生成和自動摘要 (Document Automatic Generation and Summarization)

RAG可用于自動生成文章段落、文檔或自動摘要,基于檢索的知識來填充文本,使得生成的內容更具信息價值。

智能助手和虛擬代理 (Intelligent Assistants and Virtual Agents)

RAG可以用于構建智能助手或虛擬代理,結合聊天記錄回答用戶的問題、提供信息和執行任務,無需進行特定任務微調。

信息檢索 (Information Retrieval)

RAG可以改進信息檢索系統,使其更準確深刻。用戶可以提出更具體的查詢,不再局限于關鍵詞匹配。

知識圖譜填充 (Knowledge Graph Population)

RAG可以用于填充知識圖譜中的實體關系,通過檢索文檔來識別和添加新的知識點。

優勢

明晰了RAG的應用范圍后,可能會產生疑問:為什么這些場景需要使用RAG,而不是進行微調或者通過其他方法來實現呢?接下來,我們進一步了解RAG的優勢。

RAG的具體優勢:

準確性提高: RAG通過與外部知識相關聯的答案來提高準確性,減少語言模型中的幻覺問題,使生成的響應更準確、可靠。

保持信息的時效性和準確性:與傳統只依賴訓練數據的語言模型相比,RAG可以識別最新信息,保持響應的時效性和準確性。

透明度: RAG通過引用來源提高答案的透明度,增加用戶對模型輸出的信任。

定制化能力: RAG可以通過索引相關文本語料庫來定制不同領域的模型,為特定領域提供知識支持。

安全性和隱私管理: RAG在數據庫中內置了角色和安全控制,可以更好地控制數據使用。

可擴展性: RAG能夠處理大規模數據集而無需更新所有參數和創建訓練集,使其在經濟上更有效率。

結果的可信度: RAG從最新數據中選擇確定性結果,而微調模型在處理動態數據時可能出現幻覺和不準確性,缺乏透明度和可信度。

如何系統的去學習AI大模型LLM ?

作為一名熱心腸的互聯網老兵,我意識到有很多經驗和知識值得分享給大家,也可以通過我們的能力和經驗解答大家在人工智能學習中的很多困惑,所以在工作繁忙的情況下還是堅持各種整理和分享。

但苦于知識傳播途徑有限,很多互聯網行業朋友無法獲得正確的資料得到學習提升,故此將并將重要的 AI大模型資料 包括AI大模型入門學習思維導圖、精品AI大模型學習書籍手冊、視頻教程、實戰學習等錄播視頻免費分享出來

所有資料 ?? ,朋友們如果有需要全套 《LLM大模型入門+進階學習資源包》,掃碼獲取~

👉CSDN大禮包🎁:全網最全《LLM大模型入門+進階學習資源包》免費分享(安全鏈接,放心點擊)👈

?

一、全套AGI大模型學習路線

AI大模型時代的學習之旅:從基礎到前沿,掌握人工智能的核心技能!

img

二、640套AI大模型報告合集

這套包含640份報告的合集,涵蓋了AI大模型的理論研究、技術實現、行業應用等多個方面。無論您是科研人員、工程師,還是對AI大模型感興趣的愛好者,這套報告合集都將為您提供寶貴的信息和啟示。

img

三、AI大模型經典PDF籍

隨著人工智能技術的飛速發展,AI大模型已經成為了當今科技領域的一大熱點。這些大型預訓練模型,如GPT-3、BERT、XLNet等,以其強大的語言理解和生成能力,正在改變我們對人工智能的認識。 那以下這些PDF籍就是非常不錯的學習資源。

img

在這里插入圖片描述

四、AI大模型商業化落地方案

img

階段1:AI大模型時代的基礎理解

  • 目標:了解AI大模型的基本概念、發展歷程和核心原理。
  • 內容
    • L1.1 人工智能簡述與大模型起源
    • L1.2 大模型與通用人工智能
    • L1.3 GPT模型的發展歷程
    • L1.4 模型工程
      - L1.4.1 知識大模型
      - L1.4.2 生產大模型
      - L1.4.3 模型工程方法論
      - L1.4.4 模型工程實踐
    • L1.5 GPT應用案例

階段2:AI大模型API應用開發工程

  • 目標:掌握AI大模型API的使用和開發,以及相關的編程技能。
  • 內容
    • L2.1 API接口
      - L2.1.1 OpenAI API接口
      - L2.1.2 Python接口接入
      - L2.1.3 BOT工具類框架
      - L2.1.4 代碼示例
    • L2.2 Prompt框架
      - L2.2.1 什么是Prompt
      - L2.2.2 Prompt框架應用現狀
      - L2.2.3 基于GPTAS的Prompt框架
      - L2.2.4 Prompt框架與Thought
      - L2.2.5 Prompt框架與提示詞
    • L2.3 流水線工程
      - L2.3.1 流水線工程的概念
      - L2.3.2 流水線工程的優點
      - L2.3.3 流水線工程的應用
    • L2.4 總結與展望

階段3:AI大模型應用架構實踐

  • 目標:深入理解AI大模型的應用架構,并能夠進行私有化部署。
  • 內容
    • L3.1 Agent模型框架
      - L3.1.1 Agent模型框架的設計理念
      - L3.1.2 Agent模型框架的核心組件
      - L3.1.3 Agent模型框架的實現細節
    • L3.2 MetaGPT
      - L3.2.1 MetaGPT的基本概念
      - L3.2.2 MetaGPT的工作原理
      - L3.2.3 MetaGPT的應用場景
    • L3.3 ChatGLM
      - L3.3.1 ChatGLM的特點
      - L3.3.2 ChatGLM的開發環境
      - L3.3.3 ChatGLM的使用示例
    • L3.4 LLAMA
      - L3.4.1 LLAMA的特點
      - L3.4.2 LLAMA的開發環境
      - L3.4.3 LLAMA的使用示例
    • L3.5 其他大模型介紹

階段4:AI大模型私有化部署

  • 目標:掌握多種AI大模型的私有化部署,包括多模態和特定領域模型。
  • 內容
    • L4.1 模型私有化部署概述
    • L4.2 模型私有化部署的關鍵技術
    • L4.3 模型私有化部署的實施步驟
    • L4.4 模型私有化部署的應用場景

學習計劃:

  • 階段1:1-2個月,建立AI大模型的基礎知識體系。
  • 階段2:2-3個月,專注于API應用開發能力的提升。
  • 階段3:3-4個月,深入實踐AI大模型的應用架構和私有化部署。
  • 階段4:4-5個月,專注于高級模型的應用和部署。
這份完整版的所有 ?? 大模型 LLM 學習資料已經上傳CSDN,朋友們如果需要可以微信掃描下方CSDN官方認證二維碼免費領取【保證100%免費

全套 《LLM大模型入門+進階學習資源包↓↓↓ 獲取~

👉CSDN大禮包🎁:全網最全《LLM大模型入門+進階學習資源包》免費分享(安全鏈接,放心點擊)👈

?

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/35147.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/35147.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/35147.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

網絡構建和設計方法_1.網絡需求分析

1.網絡需求分析 網絡需求分析是網絡構建及開發過程的起始環節,也是極其重要的階段。在該階段,可盡早明確客戶使用網絡的真實用途或痛點,以便為后續能夠構建和設計出更貼近客戶真實訴求的網絡打下堅實基礎,前期的網絡需求分析至關…

制造業包括哪些?需要堡壘機嗎?

制造業-國民經濟的主體,是立國之本、興國之器、強國之基,一個關系著大家吃穿住行的行業,一個與大家息息相關的行業。但大家對于制造業還有很多不了解,有小伙伴在問,制造業包括哪些?需要堡壘機嗎&#xff1f…

深入探索npm依賴:掌握查看與管理包依賴的藝術

深入探索npm依賴:掌握查看與管理包依賴的藝術 在JavaScript和Node.js的世界中,npm(Node Package Manager)不僅是一個包管理器,更是一個強大的工具,用于管理項目依賴。理解并掌握如何查看和管理npm包的依賴…

k8s使用Endpoint將信息存儲到集群外部數據庫

https://mp.csdn.net/mp_blog/creation/editor/139864305 上一篇文章

引領AI新時代:深度學習與大模型的關鍵技術

文章目錄 📑前言一、內容概述二、作者簡介三、書籍特色四、學習平臺與資源 📑前言 在數字化浪潮席卷全球的今天,人工智能(AI)和深度學習技術已經滲透到我們生活的方方面面。從智能手機中的智能語音助手,到…

20.流入門

學習知識:輸入流和輸出流讀文件的簡單使用 test.txt: iloveu是我愛你的意思。 Main.java import java.io.*;public class Main {public static void main(String[] args) {// 1.利用輸入流讀文件//讀取test.txt并輸出文件內容try{FileInputStream in…

分類預測 | Matlab實現GA-XGBoost遺傳算法優化XGBoost的多特征分類預測

分類預測 | Matlab實現GA-XGBoost遺傳算法優化XGBoost的多特征分類預測 目錄 分類預測 | Matlab實現GA-XGBoost遺傳算法優化XGBoost的多特征分類預測效果一覽基本介紹程序設計參考資料 效果一覽 基本介紹 Matlab實現GA-XGBoost遺傳算法優化XGBoost的多特征分類預測,…

【Hadoop集群搭建】集群崩潰處理及啟動時常見報錯解決辦法

目錄 1. 集群崩潰處理 1.1 殺死進程 1.2 刪除目錄(logs/和hadoopdata/) 1.3 重新初始化集群 1.4 重新啟動集群 2. 啟動時常見報錯 2.1 報錯如下 2.2 在運行程序測試 MapReduce 計算框架時報錯如下 2.3 報錯如下 1. 集群崩潰處理 1.1 殺死進程 sbin/st…

Clickhouse的基本sql語句

1,建庫語句 create database if not exists mytestdb on cluster default_cluster;注意:用戶在集群中創建數據庫或者表時使用ON CLUSTER語句,保證各個ClickHouse節點上數據庫、表的元信息相同。 2,建表 -- 創建復制表 create t…

SpringBoot優點達項目實戰:項目基本配置(二)

SpringBoot優點達項目實戰:項目基本配置(二) 文章目錄 SpringBoot優點達項目實戰:項目基本配置(二)1、項目初始化配置2、MyBatisPlus配置3、Knife配置4、定義統一返回數據結構 1、項目初始化配置 創建appli…

學習筆記——動態路由——RIP(RIP工作原理/防環機制)

三、RIP工作原理/防環機制 1、工作原理 配置好RIP的路由器會每隔30s,向鄰居路由器自動發送RIP路由更新報文。報文里面攜帶了其所知道的所有路由。 通過發送數據包進行路由信息的交互,路由器啟動RIP協議,向周圍鄰居路由器傳遞request(請求)response(響…

克隆網站的風險

克隆網站的風險 隨著互聯網的快速發展,克隆網站也變得越來越常見。克隆網站是指復制原始網站的外觀和功能,并偽裝成原始網站。雖然克隆網站可以提供與原始網站相似的服務和體驗,但它們也帶來了一系列風險。本文將探討克隆網站的風險&#xff…

我的故事與思考

在24年的高考帷幕落下之后,我們站在了一個新的起點,面對著即將開始的大學新生活,我們面臨著一道重要的選擇題:是選擇一個心儀的專業,還是選擇一個知名度更高的學校?這是一個困擾了眾多考生和家長的長期難題…

Docker 從入門到精通(大全)

一、概述 1.1 基本概念 Docker 是一個開源的應用容器引擎,基于 Go 語言 并遵從 Apache2.0 協議開源。 Docker 可以讓開發者打包他們的應用以及依賴包到一個輕量級、可移植的容器中,然后發布到任何流行的 Linux 機器上,也可以實現虛擬化。…

使用QtGui顯示QImage的幾種方法

問題描述 我是一名剛學習Qt的新手,正在嘗試創建一個簡單的GUI應用程序。當點擊一個按鈕時,顯示一張圖片。我可以使用QImage對象讀取圖片,但是否有簡單的方法調用一個Qt函數,將QImage作為輸入并顯示它? 方法一:使用QLabel顯示QImage 最簡單的方式是將QImage添加到QLabe…

bigtop gradle 任務依賴關系

./gradlew deb 會編譯ubuntu的所有deb包 任務deb會依賴17個任務,它們會按字母排序執行,如下: alluxio-deb bigtop-groovy-deb bigtop-jsvc-deb bigtop-utils-deb flink-deb hadoop-deb hbase-deb hive-deb kafka-deb livy-deb phoenix-deb …

這5款國內可用的寶藏AI視頻工具,不允許有人還不知道!(建議收藏)

文章首發于公眾號:X小鹿AI副業 大家好,我是程序員X小鹿,前互聯網大廠程序員,自由職業2年,也一名 AIGC 愛好者,持續分享更多前沿的「AI 工具」和「AI副業玩法」,歡迎一起交流~ 前幾天一位粉絲說給…

【MySQL】數據庫——存儲引擎

一、存儲引擎概述 1.概念 MySQL中的數據用各種不同的技術存儲在文件中,每一種技術都使用不同的存儲機制、索引技巧、鎖定水平并最終提供不同的功能和能力,這些不同的技術以及配套的功能在MySQL中稱為存儲引擎存儲引擎是MySQL將數據存儲在文件系統中的存…

會聲會影2024永久激活碼序列號注冊機分享

大家好呀,今天我想給大家安利一款我最近超級喜歡的軟件——會聲會影2024!🌟 作為一個視頻編輯愛好者,我嘗試過很多視頻編輯軟件,但總感覺少了那么一點點“火花”。直到我遇到了會聲會影2024,它完全改變了我…

環境科學SCI期刊,IF=3+,易錄用,幾乎不退稿

一、期刊名稱 International Journal of Environmental Science and Technology 二、期刊簡介概況 期刊類型:SCI 學科領域:環境科學 影響因子:3.1 中科院分區:4區 三、期刊簡介 International Journal of Environmental Sci…