alibayram's picture
Enhance logging and error handling in the Gradio app, improve model existence checks with detailed logging, and add connectivity testing feature in the submission UI. Update data manager for better model validation and submission processes.
abcde8f
import logging
import sys
from pathlib import Path
# Set up logging
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...")
# Initialize data manager
logger.info("Initializing data manager...")
data_manager_instance = DataManager()
logger.info("Data manager initialized successfully")
# Create the main interface
logger.info("Creating main interface...")
app = create_clean_app()
logger.info("Main interface created successfully")
# Start the scheduler for data refresh
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")
# Launch the app
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()