|
import logging |
|
import sys |
|
from pathlib import Path |
|
|
|
|
|
logging.basicConfig( |
|
level=logging.INFO, |
|
format='%(asctime)s - %(name)s - %(levelname)s - %(message)s', |
|
handlers=[ |
|
logging.StreamHandler(sys.stdout), |
|
logging.FileHandler('app.log') |
|
] |
|
) |
|
logger = logging.getLogger(__name__) |
|
|
|
try: |
|
import gradio as gr |
|
|
|
from config import CONFIG |
|
from data_manager import DataManager |
|
from ui_evaluation_requests import add_evaluation_requests_tab |
|
from ui_leaderboard import add_leaderboard_tab |
|
from ui_main import create_clean_app |
|
from ui_model_responses import add_model_responses_tab |
|
from ui_model_section_scores import add_model_section_scores_tab |
|
from ui_submit_model import add_submit_model_tab |
|
|
|
logger.info("All imports successful") |
|
except Exception as e: |
|
logger.error(f"Import error: {e}") |
|
raise |
|
|
|
from apscheduler.schedulers.background import BackgroundScheduler |
|
|
|
from data_manager import data_manager |
|
|
|
|
|
def main(): |
|
"""Ana uygulama fonksiyonu""" |
|
try: |
|
logger.info("Starting Turkish MMLU Leaderboard application...") |
|
|
|
|
|
logger.info("Initializing data manager...") |
|
data_manager_instance = DataManager() |
|
logger.info("Data manager initialized successfully") |
|
|
|
|
|
logger.info("Creating main interface...") |
|
app = create_clean_app() |
|
logger.info("Main interface created successfully") |
|
|
|
|
|
logger.info("Starting background scheduler...") |
|
scheduler = BackgroundScheduler() |
|
scheduler.add_job( |
|
data_manager_instance.refresh_datasets, |
|
'interval', |
|
seconds=CONFIG["dataset"].refresh_interval, |
|
id='refresh_datasets' |
|
) |
|
scheduler.start() |
|
logger.info("Background scheduler started successfully") |
|
|
|
|
|
logger.info("Launching Gradio app...") |
|
app.launch( |
|
server_name="0.0.0.0", |
|
server_port=7860, |
|
share=False, |
|
debug=True |
|
) |
|
|
|
except Exception as e: |
|
logger.error(f"Application startup failed: {e}") |
|
raise |
|
|
|
if __name__ == "__main__": |
|
main() |