大多數RAG管線仍然跳過重排序,儘管這項技術解決了搞垮生產系統的核心問題:bi-encoder檢索回傳的是相似的區塊,而不是相關的區塊。像BAAI/bge-reranker-v2-m3這樣的cross-encoder將查詢和文件一起讀取,而不是分別編碼它們,捕捉到像「500美元/晚」與「便宜飯店」相矛盾這樣的細微差別,而bi-encoder完全錯過了這些。像Cohere和Pinecone這樣的公司已經將此作為標準實務,提供rerank-v4.0-pro和bge-reranker-v2-m3作為生產服務。

兩階段模式已經成為前沿方法:用快速的bi-encoder或BM25撒大網以獲得高召回率,然後用cross-encoder對頂級候選者進行精確排序,測量實際相關性。這不是理論——這是構建生產AI的團隊如何避免從錯誤段落到達你的LLM時開始的幻覺螺旋。數學很簡單:bi-encoder在比較之前將語義壓縮為固定向量,丟棄了決定文件是否真正回答查詢的互動訊號。

多個消息來源證實了向multi-query和重排序架構的轉變,Azure AI Search將複雜查詢分解為並行子查詢,企業系統使用基於共識的結果聚合。這種模式有效是因為它利用了速度-準確性權衡:bi-encoder用於規模,cross-encoder用於精度。

如果你的RAG結果「還行但不太好」,不要先追求更好的embedding模型。用LangChain的ContextualCompressionRetriever接入像BGE這樣的重排序器,對比你目前的管線進行基準測試,看著精度跳躍。實作很直接,效能提升是可測量的,跳過它意味著你把檢索品質留在了桌子上。