File size: 2,032 Bytes
dae933d
d220025
 
 
 
 
 
 
 
 
dae933d
 
 
 
 
 
 
 
d220025
 
dae933d
d220025
 
dae933d
d220025
dae933d
d220025
 
 
 
 
 
 
 
 
 
dae933d
d220025
 
 
dae933d
d220025
 
 
 
 
 
 
 
 
 
 
 
dae933d
d220025
 
dae933d
d220025
 
 
 
 
 
dae933d
d220025
dae933d
 
b4c2edd
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
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)"

# 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()