Fix result structure for reranker integration

This commit is contained in:
Steve White 2025-02-27 17:01:57 -06:00
parent c40483f593
commit 59bf4a22ee
2 changed files with 23 additions and 4 deletions

View File

@ -57,14 +57,26 @@ def test_reranker():
enhanced_query = processed_query.get("enhanced_query", processed_query.get("original_query", query))
print(f"Enhanced query for reranking: {enhanced_query}")
# Print the structure of the first result from each engine
print("\nResult structure examples:")
for engine, results in search_results.items():
if results:
print(f"\n{engine} result example:")
print(json.dumps(results[0], indent=2, default=str))
# Flatten results for easier manipulation
flattened_results = []
for engine, results in search_results.items():
for result in results:
# Add the query and engine to each result
result["query"] = enhanced_query
result["engine"] = engine
flattened_results.append(result)
# Process results without reranking
print("\nProcessing results without reranking...")
basic_results = result_collector.process_results(
search_results, dedup=True, max_results=None, use_reranker=False
{"combined": flattened_results}, dedup=True, max_results=None, use_reranker=False
)
print(f"Processed {len(basic_results)} results with basic scoring")
@ -83,7 +95,7 @@ def test_reranker():
if reranker_available:
print("\nProcessing results with reranking...")
reranked_results = result_collector.process_results(
search_results, dedup=True, max_results=None, use_reranker=True
{"combined": flattened_results}, dedup=True, max_results=None, use_reranker=True
)
print(f"Processed {len(reranked_results)} results with reranking")

View File

@ -74,14 +74,21 @@ class GradioInterface:
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))
# Flatten results for easier manipulation
flattened_results = []
for engine, results in search_results.items():
for result in results:
result["query"] = processed_query.get("enhanced_query", processed_query.get("original_query", query))
# Add the query and engine to each result
result["query"] = enhanced_query
result["engine"] = engine
flattened_results.append(result)
# Process the results - don't limit the number of results
print(f"Processing results...")
processed_results = self.result_collector.process_results(
search_results, dedup=True, max_results=None, use_reranker=use_reranker
{"combined": flattened_results}, dedup=True, max_results=None, use_reranker=use_reranker
)
print(f"Processed {len(processed_results)} results")