
超越語義相似性:NVIDIA NeMo Retriever 通用代理檢索管線介紹
我們推出了代理檢索管線,利用 ReACT 架構進行迭代搜索與推理,在 BRIGHT 和 ViDoRe v3 等多樣化基準測試中展現出超越傳統語義相似性檢索的頂尖性能與通用性。
超越語義相似性:介紹 NVIDIA NeMo Retriever 的通用代理式檢索管線
在快速發展的 AI 檢索領域中,許多解決方案都高度專業化,旨在特定且狹窄的任務上表現出色。然而,現實世界的企業應用鮮少能擁有完美策劃、單一領域的數據。它們需要能夠無縫適應各種挑戰的系統——從解析複雜的視覺佈局到執行深層邏輯推理。
這就是為什麼我們在設計中優先考慮「通用性」。我們不依賴於特定數據集的啟發式方法,而是構建了一個代理式管線(agentic pipeline),能夠根據手頭的數據動態調整其搜索和推理策略。這使我們能夠在截然不同的基準測試中提供最先進的性能,而無需對底層架構進行任何更改。
以下是我們如何構建它的過程。
動機:為什麼語義相似性還不夠
多年來,基於語義相似性的密集檢索(dense retrieval)一直是尋找信息的標準。然而,隨著檢索應用的擴展,尋找相關文檔已超越了單純的語義相似性。複雜的文檔搜索需要推理技能、對現實世界系統的理解以及迭代探索。
這裡存在一個根本性的差距:大型語言模型(LLM)擅長思考和推理,但無法一次處理數百萬個文檔。相反,檢索器可以輕鬆篩選數百萬個文檔,但推理能力有限。代理式檢索通過在 LLM 和檢索器之間創建一個主動的、迭代的循環來彌補這一差距。
運作原理:代理循環

代理式檢索管線概覽
我們的代理式檢索管線依賴於 ReACT 架構。代理不是進行單次的「一勞永逸」查詢,而是迭代地搜索、評估並改進其方法。
代理利用內置工具,如 think 來規劃其方法,以及 final_results 來輸出給定查詢所需的確切文檔,同時配合 retrieve (query, top_k) 工具來探索語料庫。通過這個循環,我們觀察到成功的搜索模式自然地顯現出來:
最後,為了綜合迭代發現的結果,代理會調用 final_results 工具來輸出最相關的文檔,並根據它們與給定查詢的相關性進行排名。作為安全網——例如,當代理達到最大步驟數或上下文長度限制時——管線會退回到倒數排名融合(Reciprocal Rank Fusion, RRF),該方法根據文檔在代理軌跡中所有檢索嘗試的排名進行評分。
針對速度與規模的工程設計
代理式工作流以緩慢且資源密集著稱。為了使該管線在排行榜規模的評估中可行,我們必須重新思考 LLM 代理與檢索器之間的通信方式。
最初,檢索器通過模型上下文協議(Model Context Protocol, MCP)服務器暴露給代理——這是一個自然的選擇,因為 MCP 正是為了讓 LLM 訪問外部工具而設計的。但在實踐中,這種架構對實驗速度造成了複合性的負擔。每次運行都需要啟動一個單獨的 MCP 服務器,將正確的數據集語料庫加載到 GPU 顯存中,並編排客戶端與服務器的生命週期。這些步驟中的每一步都可能導致靜默配置錯誤或在高併發請求下服務器凍結。網絡往返增加了每次檢索調用的延遲,而管理雙進程設置的整體認知負擔使得其他團隊更難採用和迭代該管線。
為了解決這個問題,我們將 MCP 服務器替換為在進程內運行的線程安全單例(singleton)檢索器。該單例僅加載一次模型和語料庫嵌入,使用重入鎖(reentrant lock)保護所有訪問,並向任意數量的併發代理任務暴露相同的 retrieve() 接口——實現了 MCP 服務器的核心優勢(從多個線程安全、共享地訪問駐留在 GPU 的檢索器),同時避免了網絡序列化開銷或對獨立服務器進程的需求。這一單一的架構變更消除了一整類部署錯誤,並顯著提高了 GPU 利用率和實驗吞吐量。
基準測試中的通用性 vs. 專業化
在現代檢索評估中,一個常見的觀察是,針對某種特定類型任務高度優化的解決方案,在應用於完全不同的領域時,往往會出現性能落差。
我們在推理密集型的 BRIGHT 排行榜上以 50.90 的 NDCG@10 獲得第 2 名。該排行榜上的第 1 名解決方案 INF-X-Retriever 達到了令人印象深刻的 63.40。然而,為了測試跨領域適應性,我們在 ViDoRe v3(一個專注於視覺豐富且多樣化的企業文檔的數據集)上測試了 INF-X 管線(配合與我們代理式管線相同的 nemotron-colembed-vl-8b-v2 嵌入模型)。在這一不同的任務中,其性能落在了 NDCG@10 62.31,低於密集檢索的分數 64.36。換句話說,INF-Query-Aligner 在 ViDoRe v3 上並未優於密集檢索基準。
相比之下,我們同樣的代理式管線(將 Opus 4.5 與 nemotron-colembed-vl-8b-v2 配對)在 ViDoRe v3 上以 69.22 的分數奪得第 1 名。
這突顯了我們方法的核心優勢:通用性。我們的代理式循環不依賴於特定數據集的啟發式方法或查詢重寫器/對齊器,而是自然地根據手頭的數據集調整其策略,無論是需要多步邏輯推理還是解析複雜的視覺佈局。
消融研究:開源模型 vs. 閉源模型
ViDoRe v3
BRIGHT
我們進行了廣泛的消融研究,以了解頂尖閉源模型與開源權重替代方案之間的權衡:
自主性的成本與未來展望
天下沒有白吃的午餐。代理式檢索比標準的密集檢索更昂貴且更慢。觀察我們的 ViDoRe v3 結果,代理平均每個查詢耗時 136 秒,並消耗約 76 萬個輸入 Token 和 6,300 個輸出 Token。(註:順序延遲是在單個 A100 GPU 上使用單個併發 Claude API 調用測量的——即不同時搜索多個查詢——以反映現實使用場景中的真實搜索時間)。
然而,我們相信代理式檢索對於高風險、複雜的查詢是一種高度可行的方案。我們接下來的步驟將集中在降低成本上:我們正在積極研究如何將這些代理推理模式蒸餾到更小、專業化的開源權重代理中。通過微調較小的模型來原生編排「思考與檢索」循環,我們的目標是以極低的延遲和成本提供 Opus 級別的準確度。
構建您自己的代理式管線
雖然我們在排行榜領先的運行中探索了 Claude Opus 和 gpt-oss 與我們研究性嵌入模型的組合,但該架構的真正優勢在於其模塊化。對於生產就緒的部署,我們強烈建議您嘗試將您選擇的代理與我們強大的商業嵌入模型 llama-nemotron-embed-vl-1b-v2 配對。要探索這些模型、深入了解工具並開始構建您自己的高度通用檢索工作流,請立即訪問 NeMo Retriever 庫。
社群
· 註冊或登錄以發表評論