RAG 架構地基工程-Retrieval 模塊的系統設計分享

目錄

一、知識注入的關鍵前奏——RAG 系統中的檢索綜述

(一)模塊定位:連接語言模型與知識世界的橋梁

(二)核心任務:四大關鍵問題的協調解法

(三)系統特征:性能、精度與可擴展性的三角權衡

(四)應用視角:從技術模塊走向業務場景

(五)小結:Retrieval 是 RAG 系統中的“地基工程”

二、外部知識的類型與粒度 —— RAG 數據源的發展與演進

(一)檢索數據源的多樣化趨勢

1. 非結構化數據:RAG 最早的原始形態

2. 半結構化數據:復雜文本結構帶來的挑戰

3. 結構化數據:引入知識圖譜以提升精準性

4. LLM 自生內容:向“自我增強”過渡

(二)檢索粒度的演進與策略選擇

1. 粒度維度與分類

2. 粒度選擇的權衡邏輯

(三)小結與趨勢洞察思考

三、索引優化策略(Indexing Optimization)

(一)文檔切分策略(Chunking Strategy)

(二)元信息附加(Metadata Attachments)

(三)結構化索引(Structural Index)

1. 分層結構索引(Hierarchical Index)

2. 知識圖譜索引(Knowledge Graph Index)

(四)小結:索引優化的本質在于“預處理即檢索策略設計”

四、Query Optimization:提升查詢質量以增強 RAG 精度

(一) 查詢擴展(Query Expansion):豐富原始問題,增強上下文語義

1. Multi-Query 擴展

2. Sub-Query 分解

Chain-of-Verification (CoVe) 驗證鏈

(二)查詢轉換(Query Transformation):優化問題表達以匹配知識結構

1. Query Rewrite 查詢重寫

2. HyDE(Hypothetical Document Embedding)

3. Step-back Prompting

(三)查詢路由(Query Routing):根據語義將查詢分流至最合適的檢索路徑

1. Metadata Router / Filter

2. Semantic Router

3. Hybrid Routing 混合路由

五、向量化嵌入與語義召回 —— Embedding 的核心作用與進化

(一)嵌入模型的類型:稀疏 vs. 稠密 vs. 混合檢索

1. 稀疏表示(Sparse Embedding)

2. 稠密表示(Dense Embedding)

3. 混合檢索(Hybrid Retrieval)

(二)嵌入模型能力評估:MTEB 與 C-MTEB 榜單

MTEB 榜單展示(英文主榜)

(三)嵌入模型的進階調優:微調與對齊

1. 語料遷移適配

2. Retriever 與 Generator 對齊(Alignment)

(四)小結與趨勢展望

六、插件式適配器的興起 —— 在有限資源下釋放 RAG 潛能

(一)UPRISE:自動提示檢索器(Prompt Retriever)

(二)AAR:通用型適配器(Augmentation-Adapted Retriever)

(三)PRCA:獎勵驅動的上下文適配器(Pluggable Reward-Driven Contextual Adapter)

(四)BGM:橋接模型 Bridge Seq2Seq 的動態適配

(五)PKG:白盒模型的指令式知識整合(Prompt-aware Knowledge Grounding)

(六)Adapter 方法的對比與總結

(七)小結:插件化是大模型生態的“中間件機會”

六、總結:回歸初心,構建堅實的 RAG 地基


干貨分享,感謝您的閱讀!

在 Retrieval-Augmented Generation(RAG)體系中,Retrieval 模塊是整個流程的“信息引擎”。它承擔著連接大語言模型(LLM)與外部知識源的關鍵職責,其性能直接影響生成內容的準確性、相關性與可靠性。一個優秀的檢索系統,必須在速度、精度與可擴展性之間取得平衡。

本節將圍繞 檢索源、檢索粒度、檢索預處理、嵌入模型的選擇 四個核心維度展開探討,并結合實際應用中常見的技術實踐進行分析。

一、知識注入的關鍵前奏——RAG 系統中的檢索綜述

隨著大語言模型(LLM)能力的飛速提升,Retrieval-Augmented Generation(RAG)成為融合外部知識與生成模型的關鍵架構,廣泛應用于智能問答、企業知識庫、代碼助手、搜索引擎等場景。而在整個 RAG 架構中,Retrieval 模塊不僅是知識注入的起點,更是影響生成結果準確性與可信度的決定性因素

(一)模塊定位:連接語言模型與知識世界的橋梁

RAG 的核心思想是將大語言模型的“生成能力”與外部知識的“事實性”結合起來。而 Retrieval 模塊正是這一結合的“中介”:

  • 上游連接 Embedding 向量空間與文檔庫
  • 下游為 LLM 提供上下文提示(Prompt)或檢索結果

它通過將用戶查詢語句轉化為向量,檢索語義相近的文檔片段,并作為“上下文知識”注入 LLM,使生成結果更具相關性、事實性、實時性

(二)核心任務:四大關鍵問題的協調解法

Retrieval 模塊并非單一任務,而是由多個技術子任務協同完成,每個環節都對檢索質量產生深遠影響:

核心問題技術挑戰工程影響
檢索源選擇數據結構多樣、更新頻率不一決定知識范圍與質量
檢索粒度設置粒度太大冗余、太小丟上下文決定召回效率與相關性
文本預處理噪聲、格式不統一、段落不連貫決定語義清晰度
嵌入模型選型模型能力、速度、適配性差異大決定語義向量質量

這些問題彼此關聯,例如粒度與預處理策略相互影響,嵌入模型的選擇又受數據域特性制約,因此構建高效 Retrieval 系統需要在技術合理性與工程可行性之間尋找最佳平衡點

(三)系統特征:性能、精度與可擴展性的三角權衡

一個優秀的檢索模塊,在系統設計上需要具備以下三大能力:

  • 高相關性(Relevance):召回內容需緊密貼合用戶意圖;
  • 高可擴展性(Scalability):應支持百萬量級文檔與并發查詢;
  • 低響應延遲(Latency):適配在線生成、實時問答等場景。

這三者構成經典的“系統三角”,在不同場景中取舍各異。例如,企業內部知識問答傾向優先相關性與可擴展性,而在線搜索助手則對響應延遲尤為敏感。

(四)應用視角:從技術模塊走向業務場景

在工程實踐中,Retrieval 不僅僅是技術組件,更深刻地影響業務可用性:

  • 金融問答系統 中,檢索的精確度直接影響合規風險;
  • 代碼生成助手 中,檢索粒度影響生成代碼的上下文質量;
  • 企業知識庫 中,知識時效性要求檢索支持動態增量更新。

因此,構建 Retrieval 模塊時應不僅考慮模型與算法,還需立足業務場景,用系統視角理解“可用的知識檢索”,才能真正釋放 RAG 架構的潛能。

(五)小結:Retrieval 是 RAG 系統中的“地基工程”

如果將 LLM 視作 RAG 架構中的“語言天賦”,那么 Retrieval 就是決定生成結果“靠不靠譜”的知識地基。只有構建起精準、高效、可擴展的檢索能力,后續的生成與對齊模塊才能發揮最大效用。

在后續章節中,我們將深入剖析 Retrieval 模塊中的各個關鍵子問題,包括:

  • 檢索數據源的選型與管理;
  • 文本切分策略與粒度控制;
  • 向量化處理與嵌入模型評估;
  • 向量檢索系統的技術選型與優化。

通過技術原理與工程案例的結合,我們將逐步揭示如何打造一個面向生產的高質量檢索系統,為 RAG 架構的實際落地奠定堅實基礎。

二、外部知識的類型與粒度 —— RAG 數據源的發展與演進

在 Retrieval-Augmented Generation(RAG)架構中,“檢索數據源”(Retrieval Source)的選擇及其“粒度劃分”(Granularity)策略,直接決定了模型生成的準確性、上下文契合度以及任務表現。因此,理解不同類型的數據源及其粒度演化,是深入掌握 RAG 技術演進路徑的關鍵一環。

我們圍繞兩個核心維度展開分析:

  1. 檢索數據源的類型(結構化 vs 半結構化 vs 非結構化 vs 自生內容)
  2. 檢索單元的粒度(Token、句子、段落、文檔等)

并以圖表和代表性方法為例,系統性解析現有技術路線。

(一)檢索數據源的多樣化趨勢

1. 非結構化數據:RAG 最早的原始形態

RAG 最初依賴的大多為非結構化文本數據,如 Wikipedia、Common Crawl、開放問答語料等。這類數據具有覆蓋廣泛、內容豐富的特點,特別適合開放領域問答(ODQA)場景。典型數據版本如:

  • Wikipedia HotpotQA(2017年)
  • DPR Wikipedia Dump(2018年)

隨著任務不斷深化,RAG 模型也開始使用跨語言數據(如 CREA-ICL)以及特定領域數據(如醫學、法律等)進行檢索增強,以提升領域適應能力。

如圖所示展示了各類模型在“是否需要外部知識”和“是否需改動模型結構”兩方面的權衡。RAG 初期偏向“低改動+高利用”的 Prompt Engineering 路線,隨著 Modular RAG 的提出,則向深度整合 Fine-tuning 方向演進。

2. 半結構化數據:復雜文本結構帶來的挑戰

隨著文本內容向 PDF 等富文檔形式發展,RAG 面臨了新的挑戰。PDF 通常包含文本與表格混排信息,傳統的分詞策略可能會錯誤切割表格,導致信息語義被破壞。另一方面,檢索引擎在進行語義相似性計算時,也難以有效處理嵌套結構的數據。

研究者嘗試了如下策略以解決這一問題:

  • 利用 LLM 的代碼生成能力,生成 Text-to-SQL 查詢(如 TableGPT);
  • 將表格結構轉換為自然語言,再作為普通文本處理(如 PKG);

盡管初具成效,但現有方案仍不完美,表明這是未來 RAG 在“文檔-表格混合場景”下的重要研究方向。

3. 結構化數據:引入知識圖譜以提升精準性

結構化數據如知識圖譜(Knowledge Graph, KG)為 RAG 帶來更高的準確性與邏輯一致性。例如:

  • KnowledGPT 通過生成結構化查詢并存入用戶定制的 KB,實現對 LLM 的知識增強;
  • G-Retriever 融合圖神經網絡(GNN)與 PCST 優化算法,對知識圖進行結構檢索,提升 LLM 對圖結構語義的理解能力;

然而,構建與維護結構化數據代價較高,需要大量人工驗證與更新,這限制了其大規模應用的可擴展性。

4. LLM 自生內容:向“自我增強”過渡

除外部數據源外,部分研究關注于LLM 內部生成內容的再利用,通過“模型記憶”或“生成代檢索”等方式構建新型反饋循環:

  • SelfMem:迭代生成高質量記憶池,通過檢索-生成-回填實現自我增強;
  • GenRead:用 LLM 直接替代檢索器生成上下文內容,其生成內容往往更契合語言模型的預訓練目標;
  • SKR:判斷問題是否為“未知知識”,并選擇性啟用檢索增強;

這些方法在一定程度上減少了對外部知識源的依賴,打開了模型內部知識激活與結構重用的新思路。

(二)檢索粒度的演進與策略選擇

除數據源類型外,檢索粒度同樣決定了最終生成效果的上下文質量和可控性。

1. 粒度維度與分類

目前主流粒度類型從細到粗可分為:

  • Token(單詞級別)
  • Phrase(短語)
  • Sentence(句子)
  • Proposition(命題)
  • Chunk(段落/子文檔)
  • Document(整篇文檔)
  • Multi-Source(多種異構結合)

下表系統整理了不同方法的檢索粒度及使用場景。

從中可以看出:

  • DenseX 提出了“命題級”(Proposition)檢索單元的概念,即以信息最小閉包單元作為粒度,兼顧上下文完整性與語義準確性;
  • RAG-Robust、RETRO++、Self-RAG 等更傾向于使用 Chunk(段落)作為單元,便于與 LLM 進行上下文拼接;
  • 文檔級(Document)檢索如 RePLUG、DSP 更適用于長上下文生成任務;
  • 精細控制粒度選擇的方案如 SKR、Self-RAG 提出Adaptive Granularity概念,可動態根據任務需求進行粒度調節;

2. 粒度選擇的權衡邏輯

  • 粗粒度(Chunk/Doc):上下文信息更完整,但可能引入冗余內容干擾模型注意力;
  • 細粒度(Phrase/Sentence):信息密度更高,便于精確匹配,但容易丟失語義上下文完整性;
  • 適配性粒度策略:如 FLARE 使用 Adaptive 方式在推理時動態選擇最佳粒度,平衡性能與精度;

粒度選擇不僅影響檢索精度,也影響生成速度與內存消耗。因此,如何設計任務驅動的粒度調控機制,仍是當前研究的重點。

(三)小結與趨勢洞察思考

從本章的系統梳理中我們可以看出:

  • 數據源維度:RAG 正從“單一文本源”逐漸擴展至“結構化+半結構化+自生內容”多元融合格局;
  • 粒度控制維度:由固定粒度向任務適配、上下文動態調節的方向演進;
  • 未來趨勢
    • 更智能的數據類型識別與粒度匹配策略;
    • 利用多模態信息(圖文表)進行統一檢索;
    • 檢索與生成的融合邊界將逐漸模糊,向“生成即檢索”的統一范式發展。

RAG 在數據利用上的演進不僅擴展了語言模型的“知識邊界”,也促使生成模型的行為逐步具備“搜索、理解與選擇”的能力,未來仍有廣闊的創新空間值得探索。

三、索引優化策略(Indexing Optimization)

在 RAG 系統的構建流程中,索引階段承擔著將原始文檔處理為可被檢索利用的嵌入向量(Embeddings)的關鍵任務。該階段通常包括文檔切分、向量轉換和存入向量數據庫等步驟。索引質量的高低,直接決定了后續檢索階段能否獲得與問題高度相關的上下文,因此索引構建不僅是預處理的一環,更是對生成效果的前置保障。

(一)文檔切分策略(Chunking Strategy)

RAG 系統中最基本的索引操作之一,是將長文檔切分為多個Chunk,每個 Chunk 會獨立生成 Embedding 并存入向量庫,供后續查詢使用。最常見的做法是固定 Token 數量切分,例如將文檔按 100、256、512 tokens 分塊,這種方式實現簡單、效率較高。

然而,Chunk 大小選擇的權衡非常關鍵

  • Chunk 太大:可以保留更多上下文,但會引入噪聲,影響匹配準確性,同時增加 Embedding 和生成時的成本。
  • Chunk 太小:雖然干擾少、效率高,但可能割裂語義上下文,導致信息片段無法被正確理解。

因此,研究者提出了"遞歸切分(Recursive Splitting)滑動窗口(Sliding Window)"等優化方法,試圖在分塊時減少語義中斷,同時通過多次檢索合并結果以恢復整體語義。這種方式雖有所提升,但在“語義完整性”與“上下文長度”之間仍難以兩全。

為進一步突破,Small2Big 方法應運而生,其核心思想是:以句子為最小檢索單元(small),并將前后句作為擴展上下文(big)供 LLM 生成時參考。這種方式更加貼近人類的閱讀與理解習慣,在保持精細語義顆粒度的同時,減少語義碎片化所造成的幻覺問題。

📌 關鍵啟示Chunk 切分應服務于語義穩定性和上下文連貫性,而非僅追求技術上的分段標準。

(二)元信息附加(Metadata Attachments)

在基礎的 Chunk 切分基礎上,引入"元信息(Metadata)"是一種重要的增強手段。常見的元數據包括:

  • 頁碼、文檔名、作者、時間戳、分類標簽等;
  • 自定義結構化信息,如文段摘要、文內標題、層級編號等。

這些元信息不僅可以用于在檢索階段進行過濾(如只檢索最近 1 年的文檔),還可以通過權重建模實現時間感知型 RAG(Time-Aware RAG),在生成回答時更傾向于使用最新知識,避免“陳舊答案”。

更進一步的創新,是引入“反向 HyDE(Reverse HyDE)”技術,即通過 LLM 預先為每個 Chunk 生成可由其回答的問題,將這些假設問題一并作為索引信息存儲。檢索階段不直接用原始問題去匹配文段,而是先與假設問題進行語義對齊,大幅減少用戶提問與文檔語義之間的差異,提高召回質量。

📌 關鍵啟示構造性元信息(Constructed Metadata)將索引從“數據匹配”提升為“語義匹配”,顯著增強檢索能力。

(三)結構化索引(Structural Index)

傳統 RAG 系統常以“扁平化 Chunk 列表”方式組織文檔內容,但該方式容易造成上下文割裂和幻覺。為解決此問題,研究者提出構建結構化索引體系,主要分為兩種典型形式:

1. 分層結構索引(Hierarchical Index)

通過構建父子層級結構(例如:文檔 → 章節 → 段落 → Chunk),為每個節點附加摘要信息,實現類似于樹結構的索引體系。在查詢時,系統可首先遍歷摘要層,快速定位與問題相關的區域,再深入檢索具體的 Chunk,從而兼顧準確性與效率。

? 優勢:避免了“全局檢索”引發的干擾,減少了幻覺風險,同時適配多輪、多跳推理需求。

2. 知識圖譜索引(Knowledge Graph Index)

另一種更高級的做法是將文檔內容結構轉化為知識圖譜(KG),每個節點表示一個文段、段落或結構化單元(如表格、頁面等),邊表示它們之間的語義相似度或結構關聯關系。這類方法尤其適用于多文檔環境,能夠支持基于關系圖譜的知識推理與信息溯源。

代表性研究如 KGP(Knowledge Graph-based Indexing for RAG),通過構建 KG 圖結構,提升了跨文檔語義理解能力,并為 LLM 提供可解釋的檢索路徑。

📊 圖示示意

Document Structure||—— Chapter 1| ? ? |—— Paragraph 1.1| ? ? |—— Paragraph 1.2 ——> Chunk A||—— Chapter 2|—— Table 2.1 ——> Chunk B|—— Section 2.2 ——> Chunk C→ 構建 KG:Node A (Chunk A)?? Semantic Similarity ?? Node B (Chunk B)?? Structural Relation ?? Node C (Chunk C)

📌 關鍵啟示結構即語義,利用文檔原有結構與圖譜建模能力,是提升索引精準性與上下文一致性的關鍵路徑。

(四)小結:索引優化的本質在于“預處理即檢索策略設計”

  • Chunk 切分關乎語義顆粒度與上下文捕捉;
  • Metadata 構建提供了篩選機制與語義增強;
  • 結構化索引重構了檢索路徑,使其更智能、更高效。

通過以上多維度的優化,RAG 系統的“知識準備”階段可實現更精準、更可控的結果輸出,為下游生成打下堅實基礎。

四、Query Optimization:提升查詢質量以增強 RAG 精度

在 Retrieval-Augmented Generation(RAG)系統中,查詢的質量直接決定了檢索的有效性和生成內容的準確性。然而,Naive RAG 模型往往直接使用用戶原始的自然語言問題進行向量檢索,這在真實業務中面臨諸多挑戰:用戶可能難以提出精準問題、存在歧義或表達復雜不清。此外,專業術語、縮略詞(如 "LLM" 同時可表示 “大語言模型” 和 “法律碩士”)等語言復雜性進一步加劇了理解與匹配的困難。

因此,Query Optimization(查詢優化)成為提升 RAG 系統性能的關鍵一環,其目標是通過對查詢的拓展、轉換與路由,引導檢索系統獲得更相關的上下文,從而生成更高質量的答案。

(一) 查詢擴展(Query Expansion):豐富原始問題,增強上下文語義

查詢擴展旨在通過引入更多角度的子問題或同義問題,減少原始問題的語義缺失,提高召回的上下文相關性。

1. Multi-Query 擴展

通過 Prompt Engineering 引導 LLM 對原始查詢進行語義多樣化擴展,生成多個變體查詢。這些查詢在向量空間中各自獨立進行相似度匹配,最終的上下文結果合并輸入到生成階段,從而增強信息多樣性與魯棒性。

  • 優點:覆蓋面廣,減少原始查詢遺漏的相關信息;
  • 注意:擴展必須控制在主題相關范圍內,避免引入噪聲。

2. Sub-Query 分解

將復雜查詢拆解成一系列可獨立求解的子問題,再匯總其檢索結果。這種“Least-to-Most Prompting”策略能夠對多步驟、多語義層級的問題進行系統性建模,提升精確性。

將復雜查詢分解為多個子查詢進行并行檢索:

Chain-of-Verification (CoVe) 驗證鏈

擴展查詢在輸入檢索系統前,通過 LLM 進行一輪“語義驗證”或過濾,篩選出最有代表性、歧義最小的版本。這一步可以顯著降低幻覺(Hallucination)發生概率,是一種“查詢先驗驗證”機制。

(二)查詢轉換(Query Transformation):優化問題表達以匹配知識結構

有時候,用戶原始查詢并不適合直接參與向量相似度匹配。通過對查詢進行“改寫”或“抽象轉換”,我們可以生成更能代表檢索意圖的查詢形式。

1. Query Rewrite 查詢重寫

通過 LLM 對用戶原始問題進行改寫,使其更加結構化、語義清晰。例如淘寶采用 BEQUE 系統,對長尾商品查詢進行改寫,大幅提升召回率與 GMV。

  • 應用示例:RRR(Rewrite-Retrieve-Read)架構
    先改寫、再檢索、后生成,使得每一步都更可控。

2. HyDE(Hypothetical Document Embedding)

與其對“問題”做 embedding,不如讓 LLM 先根據問題生成一個“假設答案”(如文檔摘要),然后將這個假設答案進行向量嵌入,再去匹配真實文檔。

  • 優點:從“答案相似性”而非“問題相似性”進行匹配,能夠更貼近用戶潛在意圖。

3. Step-back Prompting

該方法將原始查詢“抽象上推”一層,例如從“2023年GPT-4架構是怎樣的?”生成一個“LLM 架構演進”的更高層問題,然后兩個問題同時進行檢索,并融合其結果用于回答生成。

(三)查詢路由(Query Routing):根據語義將查詢分流至最合適的檢索路徑

隨著 RAG 系統的功能日益復雜,統一檢索路徑難以適配所有查詢場景。Query Routing 機制旨在根據查詢內容,將其分配至最適合的子系統或索引。

1. Metadata Router / Filter

從查詢中提取關鍵實體(如“商品名”、“時間”、“類別”),然后基于 chunk 的元數據進行篩選。例如:如果查詢中含“2023年財報”,則僅檢索帶有“2023”時間戳的文檔塊。

  • 適合場景:結構化數據豐富、有明確標簽文檔,如企業知識庫。

2. Semantic Router

通過語義理解將查詢歸類到不同處理通道。例如,將“法律相關問題”定向至法律文檔索引,“技術問題”引導至技術百科。這需要訓練語義分類模型,或依賴 LLM 進行路由決策。

3. Hybrid Routing 混合路由

綜合使用 Metadata 與 Semantic 兩類信息,實現更精準的路由。例如先通過實體識別粗過濾候選集,再通過語義匹配細分路由方向,是一種典型的多層檢索策略。

查詢優化不僅是提升 RAG 系統性能的必要手段,更是構建“智能問答”系統的基石。隨著檢索能力與生成能力的不斷增強,查詢優化將日益走向自動化與智能化,不再僅僅依賴用戶提出“好問題”,而是依靠系統主動理解、擴展與轉換,使“模糊提問”也能獲取“精確回答”。

下一章節將聚焦 生成優化(Generation Optimization),進一步探討在檢索之后,如何通過 Prompt Design、結構控制與驗證機制,提高回答的準確性、穩定性與一致性。

五、向量化嵌入與語義召回 —— Embedding 的核心作用與進化

在 Retrieval-Augmented Generation (RAG) 框架中,Embedding 是實現“語義檢索”的關鍵組件。通過將用戶查詢(Query)與知識庫文檔進行語義向量化編碼,并計算它們之間的相似度(如余弦相似度),系統可以識別最具相關性的文檔,從而增強生成效果。

(一)嵌入模型的類型:稀疏 vs. 稠密 vs. 混合檢索

1. 稀疏表示(Sparse Embedding)

稀疏模型如 BM25,基于關鍵詞的匹配,其優勢在于對 OOV(Out-Of-Vocabulary)詞匯或特定術語的識別能力較強,適合冷啟動階段或命中率要求高的場景。然而,它們無法捕捉深層語義。

2. 稠密表示(Dense Embedding)

基于深度預訓練語言模型(如 BERT、GTR、bge-m3、E5)構建的稠密向量檢索器,能更好地刻畫上下文、語義關系,適用于自然語言表達豐富的開放問答、摘要生成等場景。

3. 混合檢索(Hybrid Retrieval)

近年來研究者提出將兩者結合,形成混合嵌入策略。例如,使用稀疏檢索提供初始候選結果,再用稠密向量進行重排序,或者訓練時引入稀疏信號提升稠密模型在長尾實體、低頻概念上的表現。

💡 這類方法提升了檢索系統在長尾任務中的魯棒性,也為小樣本訓練提供了更強的初始化能力。

(二)嵌入模型能力評估:MTEB 與 C-MTEB 榜單

目前最權威的嵌入模型評估體系是 Hugging Face 提出的 Massive Text Embedding Benchmark (MTEB),它覆蓋了 8 類任務,包含 58 個英文數據集,從多維度評估嵌入模型的能力。常見任務包括:

  • Classification(分類)
  • Clustering(聚類)
  • Pair Classification
  • Reranking
  • Retrieval
  • STS(Semantic Textual Similarity)
  • Summarization
  • Bitext Mining

此外,中文領域也有專門的 C-MTEB(Chinese MTEB) 評估體系,覆蓋 6 大任務與 35 個數據集,涵蓋法律、醫療、問答、文本相似度等多個應用領域。

MTEB 榜單展示(英文主榜)

為了直觀地了解當前 Embedding 模型的性能對比,下面是截至 2025 年初,MTEB 榜單部分節選圖表(展示模型整體平均分 Top 排名):https://huggingface.co/datasets/mteb/leaderboard/resolve/main/static/images/leaderboard-overall.png

MTEB 榜單部分截圖(圖片目前已失效),展示多個模型在 8 類任務下的平均表現(Source: Hugging Face)

從圖中可以看到:

  • bge-m3、GTR-XLarge、E5-Large 等模型在多個任務中表現穩定,具備跨任務遷移能力。
  • 多數高性能模型基于 多任務微調(multi-task fine-tuning)指令微調(instruction tuning),例如 Voyage、AngIE 等。

(三)嵌入模型的進階調優:微調與對齊

為了適配實際業務場景,尤其在醫療、法律、金融等領域,預訓練模型可能難以理解專業術語,必須借助 Embedding 微調(Fine-tuning)

1. 語料遷移適配

  • 使用領域數據對嵌入模型進行繼續訓練,提升語義建模能力。
  • 在領域數據不足的情況下,可引入 跨任務少樣本提示生成器(如 PROMPTAGATOR) 創建訓練樣本。

2. Retriever 與 Generator 對齊(Alignment)

  • 利用 LLM 的輸出作為監督信號進行訓練,形成 LSR(LM-Supervised Retriever)
  • 示例:REPLUG 使用 LLM 生成文檔分布概率,通過 KL 散度計算反向梯度更新。
  • 先進方法如 LLM-Embedder 引入 reward-based 微調信號,同時使用 hard label 與 soft reward。

🚀 類似 RLHF 的強化學習技術也已逐步進入向量檢索領域,實現從 LLM 反饋中強化嵌入器性能。

(四)小結與趨勢展望

  • 向量表示是 RAG 成敗的根基,選好 Embedding 模型遠比后端 LLM 調得再高更關鍵。
  • MTEB/C-MTEB 提供了客觀評估標準,應成為模型選型與進化路徑的常規參考。
  • 未來 Embedding 發展趨勢
    • 更通用的 多語言、多任務嵌入器(如 BGE-M3);
    • 更靈活的 細粒度檢索-生成對齊機制
    • 更強可解釋性與動態嵌入(如圖譜融合、Token-level routing)能力。

六、插件式適配器的興起 —— 在有限資源下釋放 RAG 潛能

在實際部署 RAG 系統的過程中,直接微調大模型(如 LLM 或嵌入器)往往面臨現實挑戰:一方面,API 接入的大模型無法直接進行參數更新;另一方面,本地部署微調受限于算力資源與開發周期。因此,近年來出現了一種趨勢——引入外部適配器(Adapter)模塊,以插件化、可插拔的方式對檢索器或生成器進行功能增強與對齊微調。

這類方法的優勢在于:

  • 不破壞原模型參數結構,兼容 HuggingFace、OpenAI API 等閉源模型
  • 可根據任務靈活插拔,提升模型多任務適應性(multi-task adaptability);
  • 更低的訓練成本、更高的部署靈活性,適合 邊緣計算與私有化部署場景

下面從幾類典型適配器出發,結合技術原理與應用效果,剖析其在 RAG 系統中的定位與作用。

(一)UPRISE:自動提示檢索器(Prompt Retriever)

UPRISE(Uncertainty-aware Prompt Retriever with Implicit Semantic Embeddings)提出了一種輕量級的提示檢索器,用于 自動從提示池中選擇最適合當前任務的 prompt,以增強零樣本任務的適應性。技術關鍵點:

  • 預構建 Prompt 池:針對常見任務(如問答、分類、推理)預置高質量提示模板;
  • 查詢-提示匹配器:使用輕量級語義嵌入模型,建立任務輸入與提示之間的匹配機制;
  • 不依賴硬編碼規則,通過訓練提升提示檢索的泛化能力。

📌 適用場景:零樣本問答、多任務測試環境、提示工程自動化。

(二)AAR:通用型適配器(Augmentation-Adapted Retriever)

AAR 引入了一種可擴展的通用適配器模塊,用于增強檢索器在不同任務下的信息提取能力。技術思路:

  • 將適配器部署在檢索器之后,用于動態分析上下文、增強文檔表示;
  • 能夠根據任務目標調整召回策略(如分類 vs. 生成);
  • 支持增量學習、無需端到端微調主模型。

📌 類似于“中繼裝置”的架構,起到“語義過濾器 + 上下文增強器”的作用。

(三)PRCA:獎勵驅動的上下文適配器(Pluggable Reward-Driven Contextual Adapter)

PRCA 通過引入基于獎勵機制的上下文適配器,解決“檢索結果質量不穩定”的問題。其本質是在生成階段引入一個“調度器”,對當前檢索文檔進行重打分與排序。核心設計:

  • 使用 RL 或模型反饋信號,設計 reward 函數;
  • 按照上下文對齊程度重新選擇/過濾檢索文檔;
  • 保留結構化輸入能力,兼容結構化檢索場景(如知識圖譜查詢)。

? 實踐效果:在醫療問答、法律分析等需要“強一致性文檔”的場景中性能顯著提升。

(四)BGM:橋接模型 Bridge Seq2Seq 的動態適配

BGM(Bridge Generation Module)采用了獨特的“橋接策略”:在 Retriever 和 LLM 中間加入一個 Seq2Seq 模型,將檢索結果轉換成更易被理解的上下文格式。技術邏輯:

  • Retriever 和 LLM 保持凍結狀態(無需微調);
  • Seq2Seq 橋接器接收檢索結果,重新組織、摘要、篩選關鍵片段;
  • 生成端可以更靈活地復用文檔內容,甚至支持上下文重排序、重復強調等策略。

(五)PKG:白盒模型的指令式知識整合(Prompt-aware Knowledge Grounding)

PKG 提出了一種新穎的知識引入方式,通過指令微調讓 Retriever 模塊直接學習任務需求下的文檔選擇邏輯,從而解決“模型微調困難、指令覆蓋不足”的問題。特點包括:

  • 使用白盒可訓練 Retriever(如 Dense retriever);
  • 將“文檔選擇策略”轉化為指令響應式行為;
  • 模擬 RAG 全流程的“主動學習”,提升端到端效果。

📌 該方法在多輪問答、代碼搜索、多文檔問答等任務中具備很強的遷移與泛化能力。

(六)Adapter 方法的對比與總結

方法類型模塊位置是否微調原模型適用場景特點
UPRISEPrompt Retriever輸入前?零樣本推理、多任務提示自動匹配提示
AARRetriever Adapter檢索后?檢索增強多任務適配
PRCAContext Adapter生成前?(adapter)高精度生成任務獎勵機制驅動
BGMBridge Seq2Seq檢索與生成之間?(bridge)多文檔融合格式轉化
PKG指令型 RetrieverRetriever 位置?復雜上下文任務白盒微調

(七)小結:插件化是大模型生態的“中間件機會”

在當前大模型主導的 AI 應用體系中,“插件式適配器”正逐漸成為連接基礎模型與應用需求之間的關鍵橋梁。它提供了一種 既不需要昂貴微調,又能滿足特定任務對齊的中間路徑,尤其適合企業落地、資源受限或跨領域泛化等場景。

? 未來趨勢判斷

  • 更加模塊化的 RAG 系統中,Adapter 將作為核心中間件標準化;
  • Adapter 將不僅限于 Retriever,還會出現在 Embedding、Ranking、Generation 各個子模塊中;
  • Adapter 可結合 LLM 多模態能力,成為圖文檢索、表格生成的跨模態橋梁。

六、總結:回歸初心,構建堅實的 RAG 地基

Retrieval 模塊作為 RAG 架構中的“地基工程”,其關鍵作用遠不止是“查資料”這么簡單。它連接了數據與語義、召回與生成,是支撐整個系統表現的核心組件。從系統目標出發,Retrieval 不僅要在召回率、精確性與上下文容量三者間權衡,還必須應對不同業務場景下的語義建模、消歧粒度、時效性與噪聲控制等挑戰。我們看到,它既涉及技術層面的索引設計、Embedding 表達、相似度度量,也關乎業務層面的數據結構治理、內容權限控制與流程集成。

正因如此,Retrieval 并非一個“獨立可替換”的模塊,而是與數據架構、業務流程、生成能力深度耦合的戰略模塊。只有認識到它的復雜性,系統性地分析和優化其每個環節,RAG 系統才能真正發揮“以檢索增強生成”的價值。

面向未來,構建穩固且高效的 Retrieval 模塊,應當回歸兩個核心原則:以數據為本、以語義為綱。唯有如此,RAG 的“地基”才足夠穩,生成的“樓層”才敢往高處建。

📚 References & Further Reading

1. RAG 架構與發展演進

  • Lewis, P., et al. (2020). Retrieval-Augmented Generation for Knowledge-Intensive NLP Tasks. [2005.11401] Retrieval-Augmented Generation for Knowledge-Intensive NLP Tasks
  • Meta AI. (2020). Facebook AI introduces RAG: combining retrieval and generation. Blog Post
  • Wang, W., et al. (2023). Survey on Retrieval-Augmented Generation (RAG) Techniques. arXiv:2305.13043
  • ?Gao, Y. et al. (2023). Retrieval-Augmented Generation for Large Language Models: A Survey.
    Shanghai Research Institute for Intelligent Autonomous Systems & Fudan University.
    📎 論文概覽

2. 數據源與預處理

  • LlamaIndex Documentation: Data Connectors & Document Loaders. https://docs.llamaindex.ai
  • LangChain Documentation: Data ingestion & document loaders. https://docs.langchain.com

3. 文檔切分與上下文窗口

  • Pinecone. (2023). The Ultimate Guide to Chunking for RAG. https://www.pinecone.io/learn/chunking-strategies/
  • OpenAI. (2023). Best practices for prompt engineering with long context. https://platform.openai.com/docs/guides/

4. 向量化與嵌入模型

  • OpenAI. Text Embedding Models Overview. https://platform.openai.com/docs/guides/embeddings
  • HuggingFace Embeddings: https://huggingface.co/models?pipeline_tag=feature-extraction
  • BGE (BAAI General Embedding): GitHub - FlagOpen/FlagEmbedding: Retrieval and Retrieval-augmented LLMs

5. 向量存儲系統

  • FAISS (Facebook AI Similarity Search): GitHub - facebookresearch/faiss: A library for efficient similarity search and clustering of dense vectors.
  • Milvus: Milvus | 高性能向量數據庫,為規模而構建
  • Weaviate: The AI-native database developers love | Weaviate
  • ChromaDB: Chroma

6. 語義檢索與混合檢索

  • Karpukhin, V., et al. (2020). Dense Passage Retrieval for Open-Domain QA. [2004.04906] Dense Passage Retrieval for Open-Domain Question Answering
  • Gao, L., et al. (2021). COIL: Revisit Exact Lexical Match in Information Retrieval with Contextualized Inverted List. [2104.07186] COIL: Revisit Exact Lexical Match in Information Retrieval with Contextualized Inverted List

7. 多文檔融合(Multi-Document Fusion)策略

  • Lyu, Y., et al. (2023). Multi-Document Reasoning with Prompt Fusion and Retrieval. [2302.12303] How to measure the momentum of single quanta
  • LongContext-RAG: Better Fusion for Long Context with RAG. https://github.com/facebookresearch/longcontext

8. 開源框架實踐

  • LangChain: GitHub - langchain-ai/langchain: 🦜🔗 Build context-aware reasoning applications
  • LlamaIndex (原 GPT Index): GitHub - run-llama/llama_index: LlamaIndex is the leading framework for building LLM-powered agents over your data.
  • Haystack: GitHub - deepset-ai/haystack: AI orchestration framework to build customizable, production-ready LLM applications. Connect components (models, vector DBs, file converters) to pipelines or agents that can interact with your data. With advanced retrieval methods, it's best suited for building RAG, question answering, semantic search or conversational agent chatbots.

9. 延伸行業實踐

  • Andrej Karpathy. (2023). State of LLMs and Retrieval. YouTube Lecture
  • OpenAI Cookbook – RAG Examples: GitHub - openai/openai-cookbook: Examples and guides for using the OpenAI API
  • Vectara Blog. (2023). Deep Dive into Hybrid Search and Scoring Fusion. https://vectara.com/blog

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

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

相關文章

Java-servlet(七)詳細講解Servlet注解

Java-servlet(七)詳細講解Servlet注解 前言一、注解的基本概念二、Override 注解2.1 作用與優勢2.2 示例代碼 三、Target 注解3.1 定義與用途3.2 示例代碼 四、WebServlet 注解4.1 作用4.2 示例代碼 五、反射與注解5.1 反射的概念5.2 注解與反射的結合使…

機器學習——分類、回歸、聚類、LASSO回歸、Ridge回歸(自用)

糾正自己的誤區:機器學習是一個大范圍,并不是一個小的方向,比如:線性回歸預測、卷積神經網絡和強化學都是機器學習算法在不同場景的應用。 機器學習最為關鍵的是要有數據,也就是數據集 名詞解釋:數據集中的…

本地AI大模型工具箱 Your local AI toolkit:LMStudio

LMStudio介紹 官網:LM Studio - Discover, download, and run local LLMs LMStudio 是一個面向機器學習和自然語言處理的,旨在使開發者更容易構建和部署AI語言模型的應用軟件。 LMStudio的特點是: 完全本地離線運行AI大模型 可以從Huggi…

[OpenCV】相機標定之棋盤格角點檢測與繪制

在OpenCV中,棋盤格角點檢測與繪制是一個常見的任務,通常用于相機標定。 棋盤格自定義可參考: OpenCV: Create calibration pattern 目錄 1. 棋盤格角點檢測 findChessboardCorners()2. 棋盤格角點繪制 drawChessboardCorners()3. 代碼示例C版本python版本…

redis的典型應用 --緩存

Redis最主要的用途,分為三個方面: 1.存儲數據(內存數據庫) 2.緩存(最常用) 3.消息隊列 緩存 (cache) 是計算機中的?個經典的概念。核?思路就是把?些常?的數據放到觸?可及(訪問速度更快)的地?&…

本地基于Ollama部署的DeepSeek詳細接口文檔說明

前文,我們已經在本地基于Ollama部署好了DeepSeek大模型,并且已經告知過如何查看本地的API。為了避免網絡安全問題,我們希望已經在本地調優的模型,能夠嵌入到在本地的其他應用程序中,發揮本地DeepSeek的作用。因此需要知…

基于ArcGIS和ETOPO-2022 DEM數據分層繪制全球海陸分布

第〇部分 前言 一幅帶有地理空間參考、且包含海陸分布的DEM圖像在研究區的繪制中非常常見,本文將實現以下圖像的繪制 關鍵步驟: (1)NOAA-NCEI官方下載最新的ETOPO-2022 DEM數據 (2)在ArcGIS(…

自動化測試框架pytest+requests+allure

Pytest requests Allure 這個框架基于python的的 Pytest 進行測試執行,并結合 Allure插件 生成測試報告的測試框架。采用 關鍵字驅動 方式,使測試用例更加清晰、模塊化,同時支持 YAML 文件來管理測試用例,方便維護和擴展。 測試…

Retrofit中scalars轉換html為字符串

簡介 在Retrofit中,如果你想直接獲取HTML或其他文本格式的響應內容而不是將其映射到一個模型類,ScalarsConverterFactory 就派上用場了。ScalarsConverterFactory 是一個轉換器工廠,它能夠將響應體轉換為Java基本類型如String、Integer或Byte…

Powershell WSL Windows系統復制數據到ubuntu子系統系統

從本地D盤下拷貝數據到ubuntu子系統下 Powershell 管理員打開執行 /mnt/d 此處是本地Windows系統的路徑表示/opt ubutu 子系統目錄 wsl -d Ubuntu-22.04 -u root -- bash -c cp -rf /mnt/d/nginx.conf /opt/從ubuntu子系統中拷貝數據到本地D盤下 Powershell 管理員打開執行…

【多線程】線程安全集合類,ConcurrentHashMap實現原理

文章目錄 線程安全集合類解決方案多線程環境使用順序表多線程環境使用隊列多線程環境使用哈希表ConcurrentHashMap1. 縮小鎖的粒度2. 充分使用 CAS3. 針對擴容操作 線程安全集合類 ArrayList、Queue、HsahMap… 都是線程不安全的 Vector、Stack、Hashtable 都是線程安全的&am…

spring-tx筆記

編程式事務與聲明式事務的理解 補充:什么是事務? 事務是一個重要概念,尤其在數據庫管理系統中。事務是指一組操作。,這些操作要么全部成功執行,要么全部不執行,確保數據的一致性和完整性 編程式事務 編…

Android第四次面試(Java基礎篇)

一、Java 中的 DCL 單例模式 單例模式是設計模式中最常用的模式之一,其核心目標是確保一個類在程序中僅有一個實例,并提供全局訪問點。在 Java 中,實現單例模式需要兼顧線程安全和性能優化。DCL(Double-Checked Locking&#xff0…

Java-SpringBootWeb入門、Spring官方腳手架連接不上解決方法

一. Spring 官網:Spring | Home Spring發展到今天已經形成了一種開發生態圈,Spring提供了若干個子項目,每個項目用于完成特定的功能(Spring全家桶) Spring Boot可以幫助我們非常快速的構建應用程序、簡化開發、提高效率 。 二. Spring Boot入…

1.7 無窮小的比較

1.定義 2.性質 3.無窮小的比較 3.1等價無窮小的性質 3.2 常見等價無窮小

StarRocks 升級注意事項

前段時間升級了生產環境的 StarRocks,從 3.3.3 升級到了 3.3.9,期間還是踩了不少坑所以在這里記錄下。 因為我們的集群使用的是存算分離的版本,也是使用官方提供的 operator 部署在 kubernetes 里的,所以沒法按照官方的流程進入虛…

深入探究 JVM 堆的垃圾回收機制(一)— 判活

垃圾回收分為兩步:1)判定對象是否存活。2)將“消亡”的對象進行內存回收。 1 判定對象存活 可達性分析算法:通過一系列“GC Roots”對象作為起始節點集,從這些節點開始,根據引用關系向下搜索,…

國產開發板—米爾全志T113-i如何實現ARM+RISC-V+DSP協同計算?

近年來,隨著半導體產業的快速發展和技術的不斷迭代,物聯網設備種類繁多(如智能家居、工業傳感器),對算力、功耗、實時性要求差異大,單一架構無法滿足所有需求。因此米爾推出MYD-YT113i開發板(基…

Tomcat虛擬主機配置詳解:Centos環境下多域名部署(詳細教程!)

🏡作者主頁:點擊! Tomcat服務器📝專欄:點擊! 🐧Linux高級管理防護和群集專欄:點擊! ??創作時間:2025年3月18日14點14分 最近在折騰 Tomcat 的時候&…

鴻蒙開發工程師簡歷項目撰寫全攻略

一、項目結構的黃金法則 建議采用「41」結構: 項目背景(業務價值)技術架構(鴻蒙特性)核心實現(技術難點)個人貢獻(量化成果)附加價值(延伸影響) …