import gradio as gr import pandas as pd def add_leaderboard_tab(block, leaderboard_data, data_manager, available_models): with gr.Tab("📊 Liderlik Tablosu"): gr.Markdown("### Model Performans Sıralaması") with gr.Row(): family_filter = gr.Dropdown( choices=["Tümü"] + (leaderboard_data["family"].unique().tolist() if not leaderboard_data.empty else []), label="Aileye Göre Filtrele", value="Tümü" ) quantization_filter = gr.Dropdown( choices=["Tümü"] + (leaderboard_data["quantization_level"].unique().tolist() if not leaderboard_data.empty else []), label="Kuantalamaya Göre Filtrele", value="Tümü" ) filter_btn = gr.Button("Filtreleri Uygula", variant="primary") leaderboard_table = gr.DataFrame( value=leaderboard_data, interactive=False, wrap=True ) def simple_filter(family, quantization): try: df = data_manager.leaderboard_data.copy() if df.empty: return df if family and family != "Tümü": df = df[df["family"] == family] if quantization and quantization != "Tümü": df = df[df["quantization_level"] == quantization] if "score" in df.columns: df = df.sort_values("score", ascending=False) return df except Exception as e: return data_manager.leaderboard_data filter_btn.click( simple_filter, inputs=[family_filter, quantization_filter], outputs=leaderboard_table )