पाठ 14 / 28

Hybrid Search और Reranking

Keyword और vector परिणाम मिलाएँ और shortlist का क्रम बदलें।

दो retrievers, फिर एक निर्णायक

Hybrid search keyword retriever (BM25) और vector retriever चलाता है, फिर दोनों सूचियाँ मिलाता है। उनके scores अलग पैमानों पर हैं, इसलिए मज़बूत मिलान Reciprocal Rank Fusion है: हर दस्तावेज़ को हर सूची से 1 / (k + rank) मिलता है और योग क्रम तय करते हैं। Retrieval के बाद reranker (cross-encoder जो query और उम्मीदवार को साथ पढ़ता है) शीर्ष 20 से 100 उम्मीदवारों का क्रम अकेली vector similarity से कहीं ज़्यादा सटीकता से बदलता है, प्रति जोड़ी अधिक लागत पर, इसलिए सिर्फ़ shortlist पर लगाया जाता है। आम pipeline: filter → hybrid लगभग 50 retrieve → rerank → 3 से 5 रखें। कमज़ोर मिलान हटाने को score सीमा जोड़ें।

आम pipeline

हर चरण थोड़ी लागत देकर गुणवत्ता लेता है।

query
  -> hard filters (tenant, country, date, permissions)
  -> keyword retrieve (BM25, top 50)  +  vector retrieve (ANN, top 50)
  -> merge with Reciprocal Rank Fusion  (score = sum of 1/(60 + rank) over the lists)
  -> cross-encoder rerank (top 50 -> best 5)
  -> drop anything below a minimum score  -> answer / show results

Merge को अपने डेटा पर tune करें

k=60 वाला RRF अच्छा डिफ़ॉल्ट है; आपके golden set पर एक retriever स्पष्ट रूप से मज़बूत हो तो उसे अधिक भार दें और दोबारा मापें।

त्वरित जाँच: Cross-encoder सिर्फ़ shortlist पर क्यों लगाया जाता है?

  • यह filter की जगह लेता है
  • यह पाठ नहीं पढ़ सकता
  • यह सिर्फ़ images पर चलता है
  • यह सटीक है पर पूरे संग्रह पर चलाने को बहुत महँगा
Answer

यह सटीक है पर पूरे संग्रह पर चलाने को बहुत महँगा — तेज़ retrieval उम्मीदवार घटाता है; महँगा मॉडल उन्हें निखारता है।