|
from utils import * |
|
|
|
global data_component |
|
|
|
def update_table(query, min_size, max_size, selected_subjects=None): |
|
df = get_df() |
|
filtered_df = search_and_filter_models(df, query, min_size, max_size) |
|
if selected_subjects and len(selected_subjects) > 0: |
|
base_columns = ['Models', 'Model Size(B)', 'Data Source', 'DP Acc'] |
|
selected_columns = base_columns + selected_subjects |
|
filtered_df = filtered_df[selected_columns] |
|
return filtered_df |
|
|
|
with gr.Blocks() as block: |
|
gr.Markdown(LEADERBOARD_INTRODUCTION) |
|
|
|
with gr.Tabs(elem_classes="tab-buttons") as tabs: |
|
|
|
with gr.TabItem("📊 MMLU-Pro", elem_id="qa-tab-table1", id=1): |
|
with gr.Row(): |
|
with gr.Accordion("Citation", open=False): |
|
citation_button = gr.Textbox( |
|
value=CITATION_BUTTON_TEXT, |
|
label=CITATION_BUTTON_LABEL, |
|
elem_id="citation-button", |
|
lines=10, |
|
) |
|
gr.Markdown(TABLE_INTRODUCTION) |
|
|
|
with gr.Row(): |
|
search_bar = gr.Textbox( |
|
placeholder="Search models...", |
|
show_label=False, |
|
elem_id="search-bar" |
|
) |
|
|
|
df = get_df() |
|
min_size, max_size = get_size_range(df) |
|
|
|
with gr.Row(): |
|
min_size_slider = gr.Slider( |
|
minimum=min_size, |
|
maximum=max_size, |
|
value=min_size, |
|
step=0.1, |
|
label="Minimum number of parameters (B)", |
|
) |
|
max_size_slider = gr.Slider( |
|
minimum=min_size, |
|
maximum=max_size, |
|
value=max_size, |
|
step=0.1, |
|
label="Maximum number of parameters (B)", |
|
) |
|
|
|
|
|
subject_choices = [col for col in COLUMN_NAMES if col not in ['Models', 'Model Size(B)', 'Data Source', 'DP Acc']] |
|
with gr.Row(): |
|
subjects_select = gr.CheckboxGroup( |
|
choices=subject_choices, |
|
value=subject_choices, |
|
label="Select Subjects to Display", |
|
elem_id="subjects-select" |
|
) |
|
|
|
data_component = gr.components.Dataframe( |
|
value=df[COLUMN_NAMES], |
|
headers=COLUMN_NAMES, |
|
type="pandas", |
|
datatype=DATA_TITLE_TYPE, |
|
interactive=False, |
|
visible=True, |
|
height=1500 |
|
) |
|
|
|
refresh_button = gr.Button("Refresh") |
|
|
|
|
|
def update_with_subjects(*args): |
|
return update_table(*args) |
|
|
|
search_bar.change( |
|
fn=update_with_subjects, |
|
inputs=[search_bar, min_size_slider, max_size_slider, subjects_select], |
|
outputs=data_component |
|
) |
|
min_size_slider.change( |
|
fn=update_with_subjects, |
|
inputs=[search_bar, min_size_slider, max_size_slider, subjects_select], |
|
outputs=data_component |
|
) |
|
max_size_slider.change( |
|
fn=update_with_subjects, |
|
inputs=[search_bar, min_size_slider, max_size_slider, subjects_select], |
|
outputs=data_component |
|
) |
|
subjects_select.change( |
|
fn=update_with_subjects, |
|
inputs=[search_bar, min_size_slider, max_size_slider, subjects_select], |
|
outputs=data_component |
|
) |
|
refresh_button.click(fn=refresh_data, outputs=data_component) |
|
|
|
|
|
with gr.TabItem("📝 About", elem_id="qa-tab-table2", id=2): |
|
gr.Markdown(LEADERBOARD_INFO, elem_classes="markdown-text") |
|
|
|
|
|
with gr.TabItem("🚀 Submit here! ", elem_id="submit-tab", id=3): |
|
with gr.Row(): |
|
gr.Markdown(SUBMIT_INTRODUCTION, elem_classes="markdown-text") |
|
|
|
block.launch(share=True) |