Spaces:
Sleeping
Sleeping
Update index_retriever.py
Browse files- index_retriever.py +10 -6
index_retriever.py
CHANGED
|
@@ -65,24 +65,26 @@ def rerank_nodes(query, nodes, reranker, top_k=25, min_score_threshold=0.5):
|
|
| 65 |
log_message(f"Ошибка переранжировки: {str(e)}")
|
| 66 |
return nodes[:top_k]
|
| 67 |
|
| 68 |
-
|
|
|
|
|
|
|
| 69 |
try:
|
| 70 |
from config import CUSTOM_PROMPT
|
| 71 |
|
| 72 |
bm25_retriever = BM25Retriever.from_defaults(
|
| 73 |
docstore=vector_index.docstore,
|
| 74 |
-
similarity_top_k=
|
| 75 |
)
|
| 76 |
|
| 77 |
vector_retriever = VectorIndexRetriever(
|
| 78 |
index=vector_index,
|
| 79 |
-
similarity_top_k=
|
| 80 |
-
similarity_cutoff=
|
| 81 |
)
|
| 82 |
|
| 83 |
hybrid_retriever = QueryFusionRetriever(
|
| 84 |
[vector_retriever, bm25_retriever],
|
| 85 |
-
similarity_top_k=
|
| 86 |
num_queries=1
|
| 87 |
)
|
| 88 |
|
|
@@ -97,7 +99,9 @@ def create_query_engine(vector_index):
|
|
| 97 |
response_synthesizer=response_synthesizer
|
| 98 |
)
|
| 99 |
|
| 100 |
-
log_message("Query engine
|
|
|
|
|
|
|
| 101 |
return query_engine
|
| 102 |
|
| 103 |
except Exception as e:
|
|
|
|
| 65 |
log_message(f"Ошибка переранжировки: {str(e)}")
|
| 66 |
return nodes[:top_k]
|
| 67 |
|
| 68 |
+
# MODIFIED: Update create_query_engine function signature
|
| 69 |
+
def create_query_engine(vector_index, vector_top_k=50, bm25_top_k=50,
|
| 70 |
+
similarity_cutoff=0.55, hybrid_top_k=100):
|
| 71 |
try:
|
| 72 |
from config import CUSTOM_PROMPT
|
| 73 |
|
| 74 |
bm25_retriever = BM25Retriever.from_defaults(
|
| 75 |
docstore=vector_index.docstore,
|
| 76 |
+
similarity_top_k=bm25_top_k # NOW PARAMETERIZED
|
| 77 |
)
|
| 78 |
|
| 79 |
vector_retriever = VectorIndexRetriever(
|
| 80 |
index=vector_index,
|
| 81 |
+
similarity_top_k=vector_top_k, # NOW PARAMETERIZED
|
| 82 |
+
similarity_cutoff=similarity_cutoff # NOW PARAMETERIZED
|
| 83 |
)
|
| 84 |
|
| 85 |
hybrid_retriever = QueryFusionRetriever(
|
| 86 |
[vector_retriever, bm25_retriever],
|
| 87 |
+
similarity_top_k=hybrid_top_k, # NOW PARAMETERIZED
|
| 88 |
num_queries=1
|
| 89 |
)
|
| 90 |
|
|
|
|
| 99 |
response_synthesizer=response_synthesizer
|
| 100 |
)
|
| 101 |
|
| 102 |
+
log_message(f"Query engine created: vector_top_k={vector_top_k}, "
|
| 103 |
+
f"bm25_top_k={bm25_top_k}, similarity_cutoff={similarity_cutoff}, "
|
| 104 |
+
f"hybrid_top_k={hybrid_top_k}")
|
| 105 |
return query_engine
|
| 106 |
|
| 107 |
except Exception as e:
|