讀者到這邊多少都有感覺到,其實目前介紹RAG的檢索階段就是以前的搜尋引擎,只是搜尋方法為 向量相似度搜尋(Vector Search),屬於所謂的Dense Vector,而過去在做知識管理或資料搜尋,更偏向採用 關鍵字搜尋(Keyword Search),屬於所謂的Sparse Vector。
由於兩者著重的面相以及背後算法不同,有各自的限制,所以有了Hybrid Search ,其核心理念是:同時結合語義搜尋與關鍵字搜尋,互補不足。
[0.2, 0.7, 0.1, 0.8, ...]
)。以繁體中文的場景來說:
👉 因此,Dense 與 Sparse 結合使用可預想能優化檢索結果。
你一定會想,阿兩個策略找回不一樣的東西,那是要怎麼挑啊?
這邊提供在融合 Dense 與 Sparse 的檢索結果時,常見兩種方式:
👉 結論:RRF 較適合繁體中文場景,因為它受來源分數的範圍影響而失衡。
Qdrant (Dense Vector) ──┐
├── RRF 融合 ── 最終結果
OpenSearch BM25 (Sparse) ──┘
Dense Vector(語義檢索)
Sparse Vector(關鍵字檢索)
融合結果
👉 我的建議: