File size: 3,610 Bytes
abcde8f |
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 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 |
#!/usr/bin/env python3
"""
Test script for debugging Hugging Face Spaces deployment issues
"""
import logging
import time
import requests
# Set up logging
logging.basicConfig(level=logging.INFO, format='%(asctime)s - %(levelname)s - %(message)s')
logger = logging.getLogger(__name__)
def test_basic_connectivity():
"""Test basic internet connectivity"""
logger.info("Testing basic connectivity...")
test_urls = [
"https://ollama.com",
"https://huggingface.co",
"https://google.com"
]
for url in test_urls:
try:
logger.info(f"Testing connection to {url}")
response = requests.get(url, timeout=10)
logger.info(f"β
{url} - Status: {response.status_code}")
except Exception as e:
logger.error(f"β {url} - Error: {e}")
def test_ollama_scraping():
"""Test Ollama website scraping"""
logger.info("Testing Ollama scraping...")
try:
# Test basic page fetch
url = "https://ollama.com/library/llama2"
logger.info(f"Fetching {url}")
session = requests.Session()
session.headers.update({
"User-Agent": "Turkish-MMLU-Benchmark/1.0",
"Accept": "text/html",
})
session.timeout = 30
response = session.get(url)
logger.info(f"β
Ollama page fetch - Status: {response.status_code}")
logger.info(f"Content length: {len(response.text)} characters")
# Check if content contains expected elements
if "llama2" in response.text.lower():
logger.info("β
Content contains expected model name")
else:
logger.warning("β οΈ Content doesn't contain expected model name")
except Exception as e:
logger.error(f"β Ollama scraping test failed: {e}")
def test_model_validator():
"""Test the model validator"""
logger.info("Testing model validator...")
try:
from model_validator import OllamaModelValidator
validator = OllamaModelValidator()
# Test with a known model
result = validator.validate_ollama_model("llama2", "7b")
logger.info(f"β
Model validation result: {result.get('valid', False)}")
if result.get('valid'):
logger.info(f"Parameter size: {result.get('parameter_size')}")
logger.info(f"RAM requirements: {result.get('ram_requirements')}")
else:
logger.info(f"Validation error: {result.get('error')}")
except Exception as e:
logger.error(f"β Model validator test failed: {e}")
def test_data_manager():
"""Test the data manager"""
logger.info("Testing data manager...")
try:
from data_manager import DataManager
dm = DataManager()
# Test leaderboard data
leaderboard = dm.leaderboard_data
logger.info(f"β
Leaderboard data loaded - {len(leaderboard)} rows")
# Test model existence check
result = dm.check_model_exists("llama2", "7b")
logger.info(f"β
Model existence check: {result}")
except Exception as e:
logger.error(f"β Data manager test failed: {e}")
if __name__ == "__main__":
logger.info("Starting Hugging Face Spaces compatibility tests...")
test_basic_connectivity()
time.sleep(1)
test_ollama_scraping()
time.sleep(1)
test_model_validator()
time.sleep(1)
test_data_manager()
logger.info("All tests completed!") |