Skip to content

建立 2026-09-15 更新 2026-09-15

重排序與混合搜尋

向量搜尋擅長語意,關鍵字搜尋擅長專有名詞。重排序(rerank)則是:先寬鬆地多撈一些,再用更準的模型把真正相關的排到前面。這兩件事常一起出現在「檢索品質還不夠」的下一階段。

混合搜尋

同時跑向量相似度與 BM25(或雲端的全文檢索),再用 RRF 或加權把兩份排名合成一份。Azure AI Search 的 RAG 範本預設就是混合 + 語意排序;Microsoft 在 Optimal retrieval 講了 embeddings、RRF 與 semantic ranker。

適合:錯誤代碼、人名、條號、產品型號這類「必須對到同一個詞」的查詢,同時又不想放棄語意改寫。

重排序

流程通常是:

  1. 向量/混合搜尋取回較大的 k(例如 20–50)。
  2. 用 cross-encoder 或雲端 rerank API(Cohere Rerank、Azure semantic ranker、部分開源模型)對「問題 + 每一塊」打分。
  3. 只把前 n 筆(例如 3–5)送進 LLM。

第一次搜尋追求召回(不要漏),第二次追求精準(不要吵)。LlamaIndex 的 RAG workflow 範例就是 retrieve → rerank → synthesize。

何時值得加

評估 的 Recall@k。若正確段落常在第 8~20 名才出現,加 rerank 往往比盲目加大送進 LLM 的塊數更划算。若正確段落根本不在前 50,先回頭改切塊與查詢轉換,重排序救不了沒召回的文件。

下一頁:Agentic RAG