詳細解釋
結合多種檢索技術(如 BM25 關鍵詞匹配 + 向量語義檢索)的方法,各取所長,提升搜索準確率。
混合策略:
- 稠密 + 稀疏:向量(語義)+ BM25(精確匹配)
- 多向量表示:不同字段用不同編碼器
- 多階段:粗排(快速)+ 精排(準確)
- 多模態:文本 + 圖像 + 結構化數據
實現方式:
- 線性組合:score = α·bm25 + (1-α)·vector
- RRF(Reciprocal Rank Fusion):排名位置融合
- 學習排序:訓練模型組合各特徵
- 級聯:先用 BM25 召回,再用向量重排
為何有效:
- BM25 優於:精確匹配、ID、專有名詞、稀有詞
- 向量優於:語義理解、同義詞、多語言
- 組合:兩者缺陷互補
應用場景:
- 企業搜索:文檔、郵件、代碼的混合搜索
- 電商:產品名(BM25)+ 描述(向量)
- 法律:法條編號(精確)+ 案情(語義)
- 客服:FAQ ID + 問題理解
工具支持:
- Elasticsearch:內置向量 + BM25 混合
- Pinecone + BM25:分開計算後融合
- Vespa:原生支持多種檢索器
- Milvus:支持稀疏向量
調優挑戰:
- 權重選擇:α 的最佳值因查詢而異
- 計算成本:兩種檢索都執行更貴
- 延遲:尤其當向量搜索慢時
這是「實用 RAG」的標配—— 單一方法總有局限,組合是王道。