from utils import * global data_component def update_table(query, min_size, max_size): df = get_df() filtered_df = search_and_filter_models(df, query, min_size, max_size) return filtered_df with gr.Blocks() as block: gr.Markdown(LEADERBOARD_INTRODUCTION) with gr.Tabs(elem_classes="tab-buttons") as tabs: # Table 1 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)", ) data_component = gr.components.Dataframe( value=df[COLUMN_NAMES], headers=COLUMN_NAMES, type="pandas", datatype=DATA_TITLE_TYPE, interactive=False, visible=True, height=1000 ) refresh_button = gr.Button("Refresh") search_bar.change(fn=update_table, inputs=[search_bar, min_size_slider, max_size_slider], outputs=data_component) min_size_slider.change(fn=update_table, inputs=[search_bar, min_size_slider, max_size_slider], outputs=data_component) max_size_slider.change(fn=update_table, inputs=[search_bar, min_size_slider, max_size_slider], outputs=data_component) refresh_button.click(fn=refresh_data, outputs=data_component) # table 2 with gr.TabItem("📝 About", elem_id="qa-tab-table2", id=2): gr.Markdown(LEADERBOARD_INFO, elem_classes="markdown-text") # table 3 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)