|
@@ -128,8 +128,6 @@ def query_doc_with_hybrid_search(
|
|
|
log.warning(f"query_doc_with_hybrid_search:no_docs {collection_name}")
|
|
|
return {"documents": [], "metadatas": [], "distances": []}
|
|
|
|
|
|
- # BM_25 required only if weight is greater than 0
|
|
|
- if hybrid_bm25_weight > 0:
|
|
|
log.debug(f"query_doc_with_hybrid_search:doc {collection_name}")
|
|
|
bm25_retriever = BM25Retriever.from_texts(
|
|
|
texts=collection_result.documents[0],
|
|
@@ -343,8 +341,7 @@ def query_collection_with_hybrid_search(
|
|
|
# Fetch collection data once per collection sequentially
|
|
|
# Avoid fetching the same data multiple times later
|
|
|
collection_results = {}
|
|
|
- # Only retrieve entire collection if bm_25 calculation is required
|
|
|
- if hybrid_bm25_weight > 0:
|
|
|
+
|
|
|
for collection_name in collection_names:
|
|
|
try:
|
|
|
log.debug(
|
|
@@ -356,9 +353,7 @@ def query_collection_with_hybrid_search(
|
|
|
except Exception as e:
|
|
|
log.exception(f"Failed to fetch collection {collection_name}: {e}")
|
|
|
collection_results[collection_name] = None
|
|
|
- else:
|
|
|
- for collection_name in collection_names:
|
|
|
- collection_results[collection_name] = []
|
|
|
+
|
|
|
log.info(
|
|
|
f"Starting hybrid search for {len(queries)} queries in {len(collection_names)} collections..."
|
|
|
)
|