""" Test script for the Jina Reranker integration. This script tests the reranker functionality by comparing results with and without reranking. """ import json import time import os from pathlib import Path from typing import Dict, List, Any, Optional # Import just what we need for the simple test from ranking.jina_reranker import JinaReranker, get_jina_reranker def test_simple_reranker(): """Test the Jina Reranker with a simple query and documents""" # Initialize the reranker directly without parameters (it will read from config) try: reranker = get_jina_reranker() print("Successfully initialized Jina Reranker") except Exception as e: print(f"Error initializing Jina Reranker: {str(e)}") return # Simple query and documents query = "What is quantum computing?" documents = [ "Quantum computing is a type of computation that harnesses quantum mechanics.", "Classical computers use bits, while quantum computers use qubits.", "Machine learning is a subset of artificial intelligence.", "Quantum computers can solve certain problems faster than classical computers." ] print(f"Testing reranker with query: {query}") print(f"Documents: {documents}") # Rerank the documents try: reranked = reranker.rerank(query, documents) print(f"Reranked results: {json.dumps(reranked, indent=2)}") # Save the results to a file for analysis results_dir = Path("results") results_dir.mkdir(exist_ok=True) results_file = results_dir / f"reranked_results_{int(time.time())}.json" with open(results_file, "w") as f: json.dump(reranked, f, indent=2) print(f"Results saved to {results_file}") return True except Exception as e: print(f"Error reranking: {str(e)}") return False if __name__ == "__main__": # Just run the simple test success = test_simple_reranker() if success: print("Jina Reranker test completed successfully!") else: print("Jina Reranker test failed.")