| import matplotlib |
| matplotlib.use('Agg') |
| import gradio as gr |
|
|
|
|
| from ui_components import create_leaderboard_display, get_full_leaderboard_data |
|
|
| from content import ( |
| CITATION_BUTTON_LABEL, |
| CITATION_BUTTON_TEXT, |
| INTRO_PARAGRAPH |
| ) |
|
|
| |
| CACHED_VIEWERS = {} |
| CACHED_TAG_MAPS = {} |
|
|
| def build_page(): |
| with gr.Row(elem_id="intro-row"): |
| with gr.Column(scale=1): |
| gr.HTML(INTRO_PARAGRAPH, elem_id="intro-paragraph") |
|
|
| with gr.Column(scale=1): |
| gr.Image( |
| value="assets/overall.svg", |
| show_label=False, |
| interactive=False, |
| show_download_button=False, |
| show_fullscreen_button=False, |
| show_share_button=False, |
| elem_id="diagram-image" |
| ) |
|
|
| |
| gr.Markdown("---") |
| CATEGORY_NAME = "Overall" |
| gr.HTML(f'<h2>AstaBench {CATEGORY_NAME} Leaderboard <span style="font-weight: normal; color: inherit;">(Aggregate)</span></h2>', elem_id="main-header") |
|
|
| with gr.Tabs() as tabs: |
| with gr.Tab("Results: Test Set") as test_tab: |
| test_df, test_tag_map = get_full_leaderboard_data("test") |
| if not test_df.empty: |
| gr.Markdown("**Test Set** results are reserved for final assessment. This helps ensure that the agent generalizes well to unseen problems.") |
| create_leaderboard_display( |
| full_df=test_df, |
| tag_map=test_tag_map, |
| category_name=CATEGORY_NAME, |
| split_name="test" |
| ) |
| else: |
| gr.Markdown("No data available for test split.") |
| with gr.Tab("Results: Validation Set") as validation_tab: |
| |
| validation_df, validation_tag_map = get_full_leaderboard_data("validation") |
| |
| if not validation_df.empty: |
| gr.Markdown("**Validation Set** results are used during development to tune and compare agents before final testing.") |
| |
| create_leaderboard_display( |
| full_df=validation_df, |
| tag_map=validation_tag_map, |
| category_name=CATEGORY_NAME, |
| split_name="validation" |
| ) |
| else: |
| gr.Markdown("No data available for validation split.") |
|
|
| |
| |
| |
|
|
|
|
| |
| show_validation_js = """ |
| () => {setTimeout(() => { window.dispatchEvent(new Event('resize')) }, 0);} |
| """ |
| |
| validation_tab.select(fn=None, inputs=None, outputs=None, js=show_validation_js) |
|
|
| if __name__ == "__main__": |
| demo.launch() |