Spaces:
Running
Running
#!/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() |