#!/usr/bin/env python3 """ Refactored GAIA Solver using new modular architecture """ import os import sys from pathlib import Path # Add the current directory to Python path for imports current_dir = Path(__file__).parent if str(current_dir) not in sys.path: sys.path.insert(0, str(current_dir)) from gaia import GAIASolver, Config def main(): """Main function to test the refactored GAIA solver""" print("๐Ÿš€ GAIA Solver - Refactored Architecture") print("=" * 50) try: # Initialize configuration config = Config() print(f"๐Ÿ“Š Available models: {[m.value for m in config.get_available_models()]}") print(f"๐Ÿ”ง Fallback chain: {[m.value for m in config.get_fallback_chain()]}") # Initialize solver solver = GAIASolver(config) # Get system status status = solver.get_system_status() print(f"\n๐Ÿ–ฅ๏ธ System Status:") print(f" Models: {len(status['models'])} providers") print(f" Available: {status['available_providers']}") print(f" Current: {status['current_provider']}") # Test with a sample question print("\n๐Ÿงช Testing with sample question...") sample_question = { "task_id": "test_001", "question": "What is 2 + 2?", "level": 1 } result = solver.solve_question(sample_question) print(f"\n๐Ÿ“‹ Results:") print(f" Answer: {result.answer}") print(f" Confidence: {result.confidence:.2f}") print(f" Method: {result.method_used}") print(f" Time: {result.execution_time:.2f}s") # Test random question if available print("\n๐ŸŽฒ Testing with random question...") random_result = solver.solve_random_question() if random_result: print(f" Answer: {random_result.answer[:100]}...") print(f" Confidence: {random_result.confidence:.2f}") print(f" Time: {random_result.execution_time:.2f}s") else: print(" No random questions available") except Exception as e: print(f"โŒ Error: {e}") print("\n๐Ÿ’ก Make sure you have API keys configured:") print("1. GEMINI_API_KEY") print("2. HUGGINGFACE_TOKEN") print("3. KLUSTER_API_KEY (optional)") if __name__ == "__main__": main()