alibayram's picture
Implement robust data loading with retry logic, enhance error handling in Gradio app, and improve user experience with fallback data for leaderboard and responses. Update configuration for request timeouts and retries.
3ce2f84
from dataclasses import dataclass
from typing import Dict, List
@dataclass
class DatasetConfig:
leaderboard_path: str = "hf://datasets/alibayram/yapay_zeka_turkce_mmlu_liderlik_tablosu/data/train-00000-of-00001.parquet"
responses_path: str = "hf://datasets/alibayram/yapay_zeka_turkce_mmlu_model_cevaplari/data/train-00000-of-00001.parquet"
section_results_path: str = "hf://datasets/alibayram/yapay_zeka_turkce_mmlu_bolum_sonuclari/data/train-00000-of-00001.parquet"
cache_dir: str = "cache"
refresh_interval: int = 1800 # 30 minutes
request_timeout: int = 60 # seconds
max_retries: int = 5
retry_delay: int = 2 # seconds
@dataclass
class UIConfig:
title: str = "πŸ† Turkish MMLU Leaderboard"
description: str = "Explore, evaluate, and compare AI model performance."
theme: str = "default"
css: str = """
.container { max-width: 1200px; margin: auto; padding: 20px; }
.gr-button { min-width: 150px; }
.gr-box { border-radius: 8px; }
"""
@dataclass
class ModelConfig:
precision_options: List[str] = ("float16", "int8", "bfloat16", "float32")
weight_types: List[str] = ("Original", "Delta", "Adapter")
model_types: List[str] = ("Transformer", "RNN", "GPT", "Other")
CONFIG = {
"dataset": DatasetConfig(),
"ui": UIConfig(),
"model": ModelConfig(),
}