RAG優化:python從零實現query轉換增強技術

本篇仍然是不依賴于LangChain等專用庫,利用python基本庫實現了三種查詢轉換技術

  1. 查詢重寫:使查詢更加具體和詳細,以提高搜索精度。
  2. 回退提示:生成更廣泛的查詢以檢索有用的上下文信息。
  3. 子查詢分解:將復雜查詢分解為更簡單的組件,以實現全面檢索。

圖 1:RAG 中的查詢重寫(紅色虛線框)查詢重寫的位置

查詢轉換技術通過優化輸入查詢的精準性豐富性適應性,使RAG系統能夠:
5. 更高效地定位相關文檔;
6. 覆蓋更全面的信息維度;
7. 生成更符合用戶意圖的高質量回答。

這一技術是RAG系統實現“智能增強”的關鍵環節,尤其在處理開放域、多模態或高專業性的場景時不可或缺。
注意
- 1 大家可以提前https://studio.nebius.com/注冊一個api,然后獲取一個api key,免費1刀,
其他平臺薅羊毛也可以,很多可以免費薅羊毛!下文的結果是基于"BAAI/bge-en-icl"

- 2 請提前下載數據
- 3 提前準備好你的環境
- 4 本地嵌入模型搭建 基于本地的模型進行語義嵌入,可以利用FlagEmbedding,可以好好學習下,量大的話api的嵌入還是比較貴的哦!

文章目錄

  • 背景說明
    • 1. **彌補用戶查詢與文檔內容的語義鴻溝**
    • 2. **應對復雜問題的多維度需求**
    • 3. **提升檢索效率與相關性**
    • 4. **適應文檔庫的異構性**
    • 5. **解決歧義與多義性問題**
    • 實際案例

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

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

相關文章

登錄驗證碼的接口實習,uuid,code.

UID是唯一標識的字符串,下面是百度百科關于UUID的定義: UUID是由一組32位數的16進制數字所構成,是故UUID理論上的總數為16322128,約等于3.4 x 10^38。也就是說若每納秒產生1兆個UUID,要花100億年才會將所有UUID用完。 UUID的標準…

HTML5 初探:新特性與本地存儲的魔法

HTML5 初探:新特性與本地存儲的魔法 作為一名前端新手,你可能聽說過 HTML5 這個名詞。它是 HTML 的第五代版本,不僅讓網頁變得更強大,還帶來了許多新功能和工具。今天,我們就來聊聊 HTML5 的新特性,以及它…

雙指針---《移動零》

目錄 文章前言 題目描述 算法原理講解 忽略限制條件的解法 原理講解 思路總結 代碼展示 雙指針解法 原理講解 思路總結 代碼展示 大總結 💫只有認知的突破💫才來帶來真正的成長💫編程技術的學習💫沒有捷徑💫…

jangow-01-1.0.1靶機攻略

1.進行配置,按住shift,在圖一界面按e進去得到圖二 .ro 替換為 rw signie init/bin/bash ctrlx,ip a查看網卡信息,修改配置文件網卡信息 修改為如圖所示內容后按shift?然后輸入wq點擊回車退出,然后重啟靶機 2.在kali中…

安全上網沙箱:多方面解決政企私的上網問題

在數字化的浪潮中,網絡已成為我們工作與生活不可或缺的一部分。然而,網絡的便捷也伴隨著諸多安全隱患,尤其是對于企業、個人以及政企機構而言,安全上外網成為了至關重要的課題。 隔離保護:構建安全堡壘 沙箱技術在內網…

C++ string的模擬實現

Hello!!大家早上中午晚上好,昨天復習了string的使用,今天來模擬實現一下string!!! 一、string的框架搭建 1.1首先我們需要一個string的頭文件用來做變量、函數、類等聲明;再需要一個test文件來做測試,還需…

Java 中裝飾者模式與策略模式在埋點系統中的應用

前言 在軟件開發中,裝飾者模式和策略模式是兩種常用的設計模式,它們在特定的業務場景下能夠發揮巨大的作用。本文將通過一個實際的埋點系統案例,探討如何在 Java 中運用裝飾者模式和策略模式,以及如何結合工廠方法模式來優化代碼…

【3-22 list 詳解STL C++ 】

先看代碼&#xff0c;常用的就是代碼中有的那些 #include <bits/stdc.h> using namespace std; int main() {list<int> mylist;for(int i0;i<5;i){mylist.push_back(i);//TODO}for(const auto&i:mylist)cout<<i<<\n;//fanzhuanreverse(mylist.…

田間機器人幼苗視覺檢測與護苗施肥裝置研究(大綱)

田間機器人幼苗視覺檢測與護苗施肥裝置研究 基于多光譜視覺與精準施肥的農業機器人系統設計 第一章 緒論 1.1 研究背景與意義 農業智能化需求&#xff1a; 傳統幼苗檢測依賴人工&#xff0c;效率低且易遺漏弱苗/病苗施肥不精準導致資源浪費和環境污染 技術挑戰&#xff1a;…

如何在Linux CentOS上安裝和配置Redis

如何在Linux CentOS上安裝和配置Redis 大家好&#xff0c;我是曾續緣。歡迎來到本教程&#xff01;今天我將向您介紹在Linux CentOS上安裝和配置Redis的詳細步驟。Redis是一個高性能的鍵值存儲系統&#xff0c;常用于緩存、消息隊列和數據持久化等應用場景。讓我們一起開始吧&…

requests庫post方法怎么傳params類型的參數

在使用 requests 庫的 post 方法時&#xff0c;params 類型的參數通常用于在 URL 中作為查詢字符串傳遞。這與 data 或 json 參數不同&#xff0c;后者是放在請求體中的。下面詳細介紹如何在使用 post 方法時傳遞 params 參數。 使用 params 參數 params 參數接受一個字典或包…

C++常見問題與思考

TLS&#xff08;線程本地存儲&#xff09;原理 線程本地存儲&#xff08;Thread Local Storage&#xff0c;TLS&#xff09;是一種機制&#xff0c;它允許每個線程擁有自己獨立的變量實例&#xff0c;這些變量的生命周期與線程相同。也就是說&#xff0c;不同線程對同一個 TLS…

如何快速下載并安裝 Postman?

從下載、安裝、啟動 Postman 這三個方面為大家詳細講解下載安裝 Postman 每一步操作&#xff0c;幫助初學者快速上手。 Postman 下載及安裝教程(2025最新)

使用Gitee Go流水線部署個人項目到服務器指南

使用Gitee Go流水線部署個人項目到服務器指南 前言&#xff01;&#xff01;&#xff01; 本文解決的問題&#xff1a; 你有一臺ECS服務器&#xff0c;你在上面部署了一個Java服務也就是一個jar&#xff0c;你覺著你每次手動本地打包&#xff0c;上傳&#xff0c;在通過命令去…

Linux第一節:Linux系統編程入門指南

摘要 本文面向Linux初學者&#xff0c;系統講解操作系統核心概念、Shell命令實戰、權限管理精髓及目錄結構解析。通過思維導圖命令示例原理解析的方法&#xff0c;幫助開發者快速構建Linux知識體系&#xff0c;掌握生產環境必備技能。 一、Linux的前世今生&#xff1a;從實驗室…

【Linux 維測專欄 5 -- linux pstore 使用介紹】

文章目錄 Linux pstore 功能簡介1. pstore 概述2. pstore 的核心功能3. pstore 的工作原理4. pstore 的使用示例5. pstore 的優勢6. 典型應用場景配置示例1)DTS配置2)config配置運行測試及log問題小結Linux pstore 功能簡介 1. pstore 概述 pstore(Persistent Storage)是…

在 ASP .NET Core 9.0 中使用 Scalar 創建漂亮的 API 文檔

示例代碼&#xff1a;https://download.csdn.net/download/hefeng_aspnet/90407900 Scalar 是一款可幫助我們為 API 創建精美文檔的工具。與感覺有些過時的默認 Swagger 文檔不同&#xff0c;Scalar 為 API 文檔提供了全新而現代的 UI。其簡潔的設計讓開發人員可以輕松找到測試…

Rabbitmq消息被消費時拋異常,進入Unacked 狀態,進而導致消費者不斷嘗試消費(下)

一、消費流程圖 消息在消費出現異常的時候&#xff0c;將一直保留在消息隊列&#xff0c;所以你會看到以下奇怪的現象&#xff1a; 消息隊列僅有5個消息&#xff0c; 投遞速度也非常快&#xff0c;結果卻一直無法消費掉。 二、重試策略 重試機制的使用場景&#xff1a;重試機制…

【STM32】知識點介紹二:GPIO引腳介紹

文章目錄 一、概述二、GPIO的工作模式三、寄存器編程 一、概述 GPIO&#xff08;英語&#xff1a;General-purpose input/output&#xff09;,即通用I/O(輸入/輸出)端口&#xff0c;是STM32可控制的引腳。STM32芯片的GPIO引腳與外部設備連接起來&#xff0c;可實現與外部通訊、…

JavaScript流程控制精講(二)運算符與循環實戰

JavaScript流程控制精講&#xff08;二&#xff09;運算符與循環實戰 學習目標&#xff1a;掌握條件判斷與循環控制&#xff0c;實現基礎業務邏輯 核心要點&#xff1a;運算符優先級 | 短路運算 | 循環優化 | 項目實戰 一、運算符進階技巧 1.1 算術運算符 console.log(5 % 3)…