MERA_Reason / app.py
mathamateur
Fix download column
54bda52
Raw
History Blame Contribute Delete
3.48 kB
import gradio as gr
from gradio_leaderboard import Leaderboard, SelectColumns
from src.display.columns import (
MODEL_COL,
TEAM_COL,
main_board_datatype_for_df,
main_board_default_cols,
main_board_hidden_columns,
)
from src.display.css_html_js import custom_css
from src.display.datasets_tab import build_datasets_tab
from src.display.i18n import t
from src.display.utils import BENCHMARK_COLS, COLS, AutoEvalColumn
from src.leaderboard.sync import log_storage_status, sync_results_from_hub
from src.populate import (
get_empty_leaderboard_notice,
get_leaderboard_df,
reload_leaderboard_tables,
)
from src.submission.submit import add_zip_submission
log_storage_status()
sync_results_from_hub()
LEADERBOARD_DF = get_leaderboard_df(COLS, BENCHMARK_COLS)
def build_leaderboard(dataframe):
return Leaderboard(
value=dataframe,
datatype=main_board_datatype_for_df(dataframe),
select_columns=SelectColumns(
default_selection=main_board_default_cols(),
cant_deselect=[AutoEvalColumn.model_type_symbol.name, MODEL_COL, TEAM_COL],
label=t("select_columns"),
),
search_columns=[MODEL_COL, TEAM_COL],
hide_columns=main_board_hidden_columns(),
interactive=False,
)
demo = gr.Blocks(css=custom_css)
with demo:
title = gr.HTML(t("title"))
introduction = gr.Markdown(t("introduction"), elem_classes="markdown-text")
with gr.Tabs(elem_classes="tab-buttons") as tabs:
with gr.TabItem(t("tab_leaderboard"), elem_id="llm-benchmark-tab-table", id=0):
empty_notice = gr.Markdown(
get_empty_leaderboard_notice() if LEADERBOARD_DF.empty else "",
visible=LEADERBOARD_DF.empty,
elem_classes="markdown-text",
)
leaderboard = build_leaderboard(LEADERBOARD_DF)
dataset_tables = build_datasets_tab()
with gr.TabItem(t("tab_about"), elem_id="llm-benchmark-tab-about", id=2):
gr.Markdown(t("about"), elem_classes="markdown-text")
with gr.TabItem(t("tab_submit"), elem_id="llm-benchmark-tab-submit", id=3):
gr.Markdown(t("submit"), elem_classes="markdown-text")
zip_model_name_textbox = gr.Textbox(
label=t("model_name_label"),
placeholder=t("model_name_placeholder"),
)
zip_team_name_textbox = gr.Textbox(
label=t("team_name_label"),
placeholder=t("team_name_placeholder"),
)
submission_zip = gr.File(
label=t("submission_zip_label"),
file_types=[".zip"],
type="filepath",
)
zip_submit_button = gr.Button(t("submit_button"))
zip_submission_result = gr.Markdown()
zip_submit_button.click(
add_zip_submission,
[submission_zip, zip_model_name_textbox, zip_team_name_textbox],
[
zip_submission_result,
leaderboard,
*dataset_tables,
empty_notice,
zip_model_name_textbox,
zip_team_name_textbox,
submission_zip,
],
)
demo.load(
reload_leaderboard_tables,
outputs=[leaderboard, *dataset_tables, empty_notice],
)
demo.queue(default_concurrency_limit=40).launch()