import gradio as gr from gradio_leaderboard import Leaderboard, SelectColumns from utils import ( LLM_BENCHMARKS_ABOUT_TEXT, LLM_BENCHMARKS_SUBMIT_TEXT, custom_css, prepare_leaderboard_data, submit ) # Dataset Variables overall_score_column = "overall" model_name_column = "model" precision_column = "precision" num_params_column = "#parameters (B)" num_params_range = [0, 100] # in billions # Prepare the data leaderboard_df = prepare_leaderboard_data(overall_score_column, model_name_column) # Determine columns data type (markdown for all to support clickable links) columns_datatype = ["markdown" for _ in range(len(leaderboard_df.columns))] NUM_MODELS = len(leaderboard_df) with gr.Blocks( css=custom_css, theme=gr.themes.Default( font=["sans-serif", "ui-sans-serif", "system-ui"], font_mono=["monospace", "ui-monospace", "Consolas"] ) ) as demo: gr.Markdown(""" # 🏆 CRCIS LLM Leaderboard """) gr.Markdown(f""" - **Total Models**: {NUM_MODELS} """) with gr.Tab("🏆 Leaderboard"): Leaderboard( value=leaderboard_df, datatype=columns_datatype, select_columns=SelectColumns( default_selection=leaderboard_df.columns.tolist(), cant_deselect=[model_name_column], label="Select Columns to Show", ), search_columns=[model_name_column], filter_columns=[precision_column, num_params_column], ) with gr.TabItem("📖 About"): gr.Markdown(LLM_BENCHMARKS_ABOUT_TEXT) with gr.Tab("📤 Submit"): gr.Markdown(LLM_BENCHMARKS_SUBMIT_TEXT) model_name = gr.Textbox(label="Model name") model_id = gr.Textbox(label="Model ID (e.g., username/model-name)") contact_email = gr.Textbox(label="Contact E-Mail") submit_btn = gr.Button("Submit") submit_btn.click(submit, inputs=[model_name, model_id, contact_email], outputs=[]) if __name__ == "__main__": demo.launch()