目錄
一、知識注入的關鍵前奏——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 技術演進路徑的關鍵一環。
我們圍繞兩個核心維度展開分析:
- 檢索數據源的類型(結構化 vs 半結構化 vs 非結構化 vs 自生內容)
- 檢索單元的粒度(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 方法的對比與總結
方法 | 類型 | 模塊位置 | 是否微調原模型 | 適用場景 | 特點 |
---|---|---|---|---|---|
UPRISE | Prompt Retriever | 輸入前 | ? | 零樣本推理、多任務提示 | 自動匹配提示 |
AAR | Retriever Adapter | 檢索后 | ? | 檢索增強 | 多任務適配 |
PRCA | Context Adapter | 生成前 | ?(adapter) | 高精度生成任務 | 獎勵機制驅動 |
BGM | Bridge Seq2Seq | 檢索與生成之間 | ?(bridge) | 多文檔融合 | 格式轉化 |
PKG | 指令型 Retriever | Retriever 位置 | ? | 復雜上下文任務 | 白盒微調 |
(七)小結:插件化是大模型生態的“中間件機會”
在當前大模型主導的 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