RAG技術的進化:RQ-RAG查詢優化/化繁為簡Adaptive-RAG智能分類/精準出擊

嘿,親愛的算法探險家們!歡迎來到RAG技術的“奇幻冒險”之旅!?? 今天,咱們要一起探索的是如何讓大語言模型(LLM)從“呆萌小學生”進化成“機智博士生”的奇妙旅程!

想象一下,你正在和一個超級聰明的AI聊天,但它有時候會像個小迷糊,回答得讓你哭笑不得。這時候,RAG技術就像是個“AI教練”,幫助它變得更聰明、更精準。但傳統的RAG技術還不夠完美,它就像是個“只會按部就班的老師”,雖然能糾正錯誤,但不會主動優化問題。

于是,Adaptive-RAG和RQ-RAG這兩位“超級英雄”閃亮登場了!???♂????♀? 它們不僅能讓AI更聰明,還能根據問題的復雜性,動態調整策略,甚至還能把復雜的問題拆解成簡單的小問題,就像是個“問題界的拆彈專家”!

所以,親愛的探險家們,準備好你們的“智慧背包”,咱們要一起踏上這場充滿驚喜和挑戰的RAG技術冒險之旅了!???? 記住,幽默和智慧是咱們的最佳拍檔,讓我們一起笑對挑戰,勇往直前吧!????

高級RAG技術:查詢分類與優化

在這里插入圖片描述

雖然傳統的RAG技術可以緩解LLM(大語言模型)回答的不準確性,但它并沒有對初始查詢進行任何增強。這一點在圖1的紅框中有所展示。

None

圖1:傳統RAG技術的局限性

這種方法可能會導致一些潛在問題,例如:

  • 系統可能會消耗過多的計算資源來處理簡單查詢。
  • 對于復雜查詢,僅使用原始查詢進行檢索往往無法收集到足夠的信息。
  • 對于可能有多個答案的模糊查詢,使用原始查詢進行信息檢索顯得不足。

本文將介紹兩種高級解決方案:查詢分類和查詢優化。這兩種方法通過訓練小模型都展示了改進效果。最后,文章將討論從這兩種算法中獲得的見解和思考。

Adaptive-RAG:通過問題復雜性學習適應檢索增強的大語言模型

總體流程

Adaptive-RAG引入了一種新的自適應框架。如圖2所示,它根據查詢的復雜性動態選擇最適合LLM的策略,從最簡單到最復雜不等。

None

圖2:不同檢索增強LLM方法的概念比較。來源:Adaptive-RAG。

圖2(A)表示一種單步方法,首先檢索相關文檔,然后生成答案。然而,這種方法對于需要多步推理的復雜查詢可能不夠準確。

圖2(B)象征一種多步過程,涉及迭代文檔檢索和中間響應的生成。盡管這種方法有效,但對于簡單查詢來說效率低下,因為它需要多次訪問LLM和檢索器。

圖2(C)是一種自適應方法,它使用精心構建的分類器來確定查詢的復雜性。這增強了選擇最適合LLM檢索策略的能力,可能包括迭代、單步甚至無需檢索的方法。

為了更直觀地理解Adaptive-RAG的流程,我們將結合代碼進行解釋。目前有四個版本的代碼:官方版本、Langchain版本、LlamaIndex版本和Cohere版本。我們將使用LlamaIndex版本進行解釋。

詳情請參考這個Jupyter Notebook。代碼較長,因此這里只討論關鍵部分:

# 我們將使用之前創建的 `QueryEngines` 和 `FunctionCallingAgentWorker` 創建工具。
query_engine_tools = [QueryEngineTool(query_engine=lyft_2020_query_engine,metadata=ToolMetadata(name="lyft_2020_10k_form",description="僅與 2020 年 Lyft 財務活動相關的查詢。",),),QueryEngineTool(query_engine=lyft_2021_query_engine,metadata=ToolMetadata(name="lyft_2021_10k_form",description="僅與 2021 年 Lyft 財務活動相關的查詢。",),),QueryEngineTool(query_engine=lyft_2022_query_engine,metadata=ToolMetadata(name="lyft_2022_10k_form",description="僅與 2022 年 Lyft 財務活動相關的查詢。",),

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

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

相關文章

11:00開始面試,11:08就出來了,問的問題有點變態。。。

從小廠出來,沒想到在另一家公司又寄了。 到這家公司開始上班,加班是每天必不可少的,看在錢給的比較多的份上,就不太計較了。沒想到8月一紙通知,所有人不準加班,加班費不僅沒有了,薪資還要降40%…

滲透測試中發現ak/sk泄露時的驗證工具

項目地址:https://github.com/libaibaia/cloudsec啟動命令:java -jar cloudSec-1.2.2-SNAPSHOT.jar 訪問:http://localhost:8000/#/admin/login 默認用戶名密碼:admin/admin123 注:8000 端口運行,如占用先…

【藍橋杯】重點沖刺

【最高優先級】必考核心算法(占分60%以上) 動態規劃(DP) ?????? 背包問題:01背包、完全背包(必須掌握空間優化的一維寫法) 線性DP:最長上升子序列(LIS)、最長公共子序列(LCS) 路徑問題:網格路徑計數(含障礙物)、最小路徑和 經典模型:打家劫舍、股票買賣問…

藍橋杯python編程每日刷題 day 20

題目: 給定一個長度為 N 的整數序列:A1, A2, , AN。現在你有一次機會,將其中連續的 K 個數修改成任意一個相同值。請你計算如何修改可以使修改后的數列的最長不下降子序列最長,請輸出這個最長的長度。 最長不下降子序列是指…

游戲引擎學習第185天

回顧并計劃今天的內容 我們完成了開始整理這些數據的工作,但我們還沒有機會真正去查看這些數據的具體內容,因為我們只是剛剛開始了數據整理的基本工作。我們收集了大量的信息,但到目前為止,仍然沒有足夠的可視化工具來幫助我們理…

協議學習——1 NCDSSB

上次面試NCDssb, 今天特意學習下,除了物理層的定義,其實再很多物理層的書上都有,主要是講下RRC曾怎么玩的。 配置在專用BWP上配置,切實BWP的專用部分

pom.xml與.yml,java配置參數傳遞

pom.xml與 .yml java配置參數傳遞 在Java項目中,通過 pom.xml 和 .yml 文件(如 application.yml)傳遞變量通常涉及 構建時(Maven)和 運行時(Spring Boot)兩個階段的配置。以下是具體的實現方法&…

【解決】:VSCode 中識別不到電腦中的已安裝的 Git

# 問題 自己電腦中明明已經安裝了 git ,但在 vscode 中確識別不到。——————————(問題一樣就看下去,不一樣早早潤。省流!!!!🚀) # 【第一步】首先要確認你電腦中…

gogs私服搭建

一.介紹: gogs是一個用Go語言開發的自助Git服務,目標是簡單、快速搭建Git服務, 支持多種平臺,包括Linux、Windows等。它類似于GitHub,但更輕量,適合個人或小團隊使用, 在簡化git服務搭建流程的…

數位和相等

問題描述 如果一個正整數轉化成二進制與轉換成八進制后所有數位的數字之和相等,則稱為數位和相等的數。 前幾個數位和相等的正整數為 11, 88, 99, 6464,…… 請問第 2323 個數位和相等的正整數是多少? import java.util.Scanner; public …

Java-servlet(九)前端會話,會話管理與Cookie和HttpSession全解析

Java-servlet(九)前端會話,會話管理與Cookie和HttpSession全解析 前言一、什么是會話二、會話管理1. 隱藏的表單域2. 網址重寫3. 使用 Cookie3.1 Cookie 的工作流程3.2 Java 中的方法,Cookie 類 三、Cookie 的實現1. 創建 Cookie2…

uniapp開發中store的基本用法和模塊化詳解

在 UniApp 開發中,狀態管理是非常重要的一部分,尤其是在復雜的應用場景下。Vuex 是 Vue.js 的官方狀態管理庫,可以幫助開發者集中管理應用的狀態數據。UniApp 作為基于 Vue.js 的跨平臺開發框架,也支持使用 Vuex 進行狀態管理。 以下是關于 Vuex 在 UniApp 中的詳細用法介…

手寫數據庫MYDB(一):項目啟動效果展示和環境配置問題說明

1.項目概況 這個項目實際上就是一個輪子項目,現在我看到的這個市面上面比較火的就是這個首先RPC,好多的機構都在搞這個,還有這個消息隊列之類的,但是這個是基于MYSQL的,我們知道這個MYSQL在八股盛宴里面是重點考察對象…

基于Spring Boot的電動車智能充電服務平臺的設計與實現(LW+源碼+講解)

專注于大學生項目實戰開發,講解,畢業答疑輔導,歡迎高校老師/同行前輩交流合作?。 技術范圍:SpringBoot、Vue、SSM、HLMT、小程序、Jsp、PHP、Nodejs、Python、爬蟲、數據可視化、安卓app、大數據、物聯網、機器學習等設計與開發。 主要內容:…

【AI學習】人工神經網絡

1,人工神經網絡(Artificial Neural Networks,ANNs,連接模型,Connection Model) 模仿動物神經網絡行為特征(突觸聯接的結構),進行分布式并行信息處理的算法數學模型。依靠系統的復雜程度,通過調整內部大量節點之間相互連接的關系,從而達到處理信息的目的。 2,前饋神…

場館預約小程序的設計與實現

摘 要 時代在進步,人們對日常生活質量的要求不再受限于衣食住行。現代人不僅想要一個健康的身體,還想擁有一身宛如黃金比例的身材。但是人們平常除了上下班和上下學的時間,其余空余時間寥寥無幾,所以我們需要用體育場館預約來節省…

筆記:純真IP庫

最近需要使用到ip解析成對應的地域,查找了一些資料,發現純真ip庫,這個比較好用,而且社區版可以獲得免費授權。 純真ip庫官網地址:https://www.cz88.net/ python版本git地址:https://github.com/tagphi/cz…

骨密度以及骨密度測量,測量方案,意義;提高;實現方案

骨密度及骨密度測量 骨密度(Bone Mineral Density, BMD) 是指骨骼單位體積或單位面積內礦物質(主要是鈣和磷)的含量,是評估骨骼強度的重要指標。骨密度降低可能導致骨質疏松,增加骨折風險。 簡單分析效果&…

MySQL 體系結構與存儲引擎

目錄 一、MySQL 體系結構 1. 連接層 (Connection Layer) 2. 服務層 (Server Layer) 3. 存儲引擎層 (Storage Engine Layer) 二、MySQL 核心存儲引擎比較 1. InnoDB (默認引擎) 2. MyISAM 3. Memory (HEAP) 4. 其他存儲引擎 三、InnoDB 存儲引擎深度解析 1. 核心架構組…

知識就是力量——物聯網應用技術

基礎知識篇 一、常用電子元器件1——USB Type C 接口引腳詳解特點接口定義作用主從設備關于6P引腳的簡介 2——常用通信芯片CH343P概述特點引腳定義 CH340概述特點封裝 3——蜂鳴器概述類型驅動電路原文鏈接 二、常用封裝介紹貼片電阻電容封裝介紹封裝尺寸與功率關系&#xff1…