File size: 2,738 Bytes
d6d843f |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 |
#!/usr/bin/env python3
"""
تست اتصال به providers_config_extended.json
"""
import sys
from pathlib import Path
# Add workspace to path
sys.path.insert(0, str(Path(__file__).parent))
print("🧪 Testing Routing to providers_config_extended.json")
print("=" * 60)
# Test 1: Load providers config
print("\n1️⃣ Testing providers config loading...")
try:
from hf_unified_server import PROVIDERS_CONFIG, PROVIDERS_CONFIG_PATH
print(f" ✅ Config path: {PROVIDERS_CONFIG_PATH}")
print(f" ✅ Config exists: {PROVIDERS_CONFIG_PATH.exists()}")
print(f" ✅ Providers loaded: {len(PROVIDERS_CONFIG)}")
# Check for HuggingFace Space providers
hf_providers = [p for p in PROVIDERS_CONFIG.keys() if 'huggingface_space' in p]
print(f" ✅ HuggingFace Space providers: {len(hf_providers)}")
for provider in hf_providers:
print(f" - {provider}")
except Exception as e:
print(f" ❌ Error: {e}")
# Test 2: Test app import
print("\n2️⃣ Testing FastAPI app import...")
try:
from hf_unified_server import app
print(f" ✅ App imported successfully")
print(f" ✅ App title: {app.title}")
print(f" ✅ App version: {app.version}")
except Exception as e:
print(f" ❌ Error: {e}")
# Test 3: Test main.py routing
print("\n3️⃣ Testing main.py routing...")
try:
from main import app as main_app
print(f" ✅ main.py imports successfully")
print(f" ✅ Routes loaded: {len(main_app.routes)}")
except Exception as e:
print(f" ❌ Error: {e}")
# Test 4: Show HuggingFace Space provider details
print("\n4️⃣ HuggingFace Space Provider Details...")
try:
for provider_id in hf_providers:
provider_info = PROVIDERS_CONFIG[provider_id]
print(f"\n 📦 {provider_id}:")
print(f" Name: {provider_info.get('name')}")
print(f" Category: {provider_info.get('category')}")
print(f" Base URL: {provider_info.get('base_url')}")
print(f" Endpoints: {len(provider_info.get('endpoints', {}))}")
# Show first 5 endpoints
endpoints = list(provider_info.get('endpoints', {}).items())[:5]
print(f" First 5 endpoints:")
for key, path in endpoints:
print(f" - {key}: {path}")
except Exception as e:
print(f" ❌ Error: {e}")
print("\n" + "=" * 60)
print("✅ Routing Test Complete!")
print("\n💡 Next steps:")
print(" 1. Start server: python -m uvicorn main:app --host 0.0.0.0 --port 7860")
print(" 2. Test endpoint: curl http://localhost:7860/api/providers")
print(" 3. Check docs: http://localhost:7860/docs")
|