From c40483f593ee33515ec20a61d9ad9cc2788707dd Mon Sep 17 00:00:00 2001 From: Steve White Date: Thu, 27 Feb 2025 17:00:59 -0600 Subject: [PATCH] Fix query extraction in reranker integration --- execution/result_collector.py | 14 +++++++++++--- test_reranker.py | 5 ++++- 2 files changed, 15 insertions(+), 4 deletions(-) diff --git a/execution/result_collector.py b/execution/result_collector.py index fb43299..0d1af69 100644 --- a/execution/result_collector.py +++ b/execution/result_collector.py @@ -178,13 +178,21 @@ class ResultCollector: if not results: return [] - # Get the original query from the first result (all should have the same query) - query = results[0].get("query", "") + # Extract the original query + # First try to get it from the first result + query = "" + for result in results: + if "query" in result: + query = result.get("query", "") + break + if not query: # If no query is found, use a fallback approach print("Warning: No query found in results. Using basic scoring instead.") return self._score_and_sort_results(results) + print(f"Reranking with query: {query}") + # Extract snippets for reranking snippets = [] for result in results: @@ -202,7 +210,7 @@ class ResultCollector: # Get the original result and add the new score original_result = results[item['index']] new_result = original_result.copy() - new_result['relevance_score'] = item['score'] + new_result['relevance_score'] = item['score'] * 10 # Scale up the score for consistency reranked_results.append(new_result) return reranked_results diff --git a/test_reranker.py b/test_reranker.py index 46e6408..c152cce 100644 --- a/test_reranker.py +++ b/test_reranker.py @@ -54,9 +54,12 @@ def test_reranker(): print(f"Engine {engine} returned {len(results)} results") # Add the query to each result for reranking + enhanced_query = processed_query.get("enhanced_query", processed_query.get("original_query", query)) + print(f"Enhanced query for reranking: {enhanced_query}") + for engine, results in search_results.items(): for result in results: - result["query"] = processed_query.get("enhanced_query", processed_query.get("original_query", query)) + result["query"] = enhanced_query # Process results without reranking print("\nProcessing results without reranking...")