Spaces:
Running
on
CPU Upgrade
Running
on
CPU Upgrade
| 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', 'Overall'] | |
| 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: | |
| # 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)", | |
| ) | |
| # 添加学科选择器 | |
| subject_choices = [col for col in COLUMN_NAMES if col not in ['Models', 'Model Size(B)', 'Data Source', 'Overall']] | |
| 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) | |
| # 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) |