File size: 1,881 Bytes
c8be55c f8efcf6 c8be55c f8efcf6 c8be55c 40afe38 8285d94 c8be55c f8efcf6 40afe38 f8efcf6 c8be55c 40afe38 c8be55c 40afe38 c8be55c 40afe38 c8be55c 40afe38 c8be55c 40afe38 c8be55c f8efcf6 c8be55c 40afe38 c8be55c 40afe38 c8be55c f8efcf6 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 |
import gradio as gr
import pandas as pd
from apscheduler.schedulers.background import BackgroundScheduler
from gradio_leaderboard import ColumnFilter, Leaderboard, SelectColumns
from src.about import INTRODUCTION_TEXT, TITLE
from src.display.css_html_js import custom_css
from src.envs import API, REPO_ID
from src.leaderboard.populate import load_results
from src.leaderboard.utils import COLUMNS
def restart_space():
API.restart_space(repo_id=REPO_ID)
def init_leaderboard(dataframe: pd.DataFrame):
dataframe = load_results()
if dataframe is None or dataframe.empty:
raise ValueError("Leaderboard DataFrame is empty or None.")
return Leaderboard(
value=dataframe,
datatype=[c.type for c in COLUMNS],
select_columns=SelectColumns(
default_selection=[c.name for c in COLUMNS if c.displayed_by_default],
cant_deselect=[c.name for c in COLUMNS if c.never_hidden],
label="Select Columns to Display:",
),
search_columns=["Model"],
hide_columns=[c.name for c in COLUMNS if c.hidden],
filter_columns=[
ColumnFilter(
"Average",
type="slider",
min=0.01,
max=100,
label="Average score",
),
],
bool_checkboxgroup_label="Hide models",
interactive=False,
)
demo = gr.Blocks(css=custom_css)
with demo:
gr.HTML(TITLE)
gr.Markdown(INTRODUCTION_TEXT, elem_classes="markdown-text")
with gr.Tabs(elem_classes="tab-buttons") as tabs:
with gr.TabItem("🏅 LLM Benchmark", elem_id="llm-benchmark-tab-table", id=0):
leaderboard = init_leaderboard()
scheduler = BackgroundScheduler()
scheduler.add_job(restart_space, "interval", seconds=3600)
scheduler.start()
demo.queue(default_concurrency_limit=40).launch()
|