|
import gradio as gr |
|
from gradio_leaderboard import Leaderboard, SelectColumns, ColumnFilter |
|
import config |
|
from pathlib import Path |
|
import pandas as pd |
|
import random |
|
|
|
abs_path = Path(__file__).parent |
|
|
|
df = pd.read_json(str(abs_path / "leaderboard_data.json")) |
|
|
|
df["MOE"] = [random.random() > 0.5 for _ in range(len(df))] |
|
df["Flagged"] = [random.random() > 0.5 for _ in range(len(df))] |
|
|
|
with gr.Blocks() as demo: |
|
gr.Markdown(""" |
|
# 🥇 Leaderboard Component |
|
""") |
|
with gr.Tabs(): |
|
with gr.Tab("Demo"): |
|
Leaderboard( |
|
value=df, |
|
select_columns=SelectColumns( |
|
default_selection=config.ON_LOAD_COLUMNS, |
|
cant_deselect=["T", "Model"], |
|
label="Select Columns to Display:", |
|
), |
|
search_columns=["model_name_for_query", "Type"], |
|
hide_columns=["model_name_for_query", "Model Size"], |
|
filter_columns=[ |
|
"T", |
|
"Precision", |
|
ColumnFilter("MOE", type="boolean", default=False, label="MoE"), |
|
ColumnFilter("Flagged", type="boolean", default=False), |
|
ColumnFilter("#Params (B)", default=[30, 80]), |
|
], |
|
datatype=config.TYPES, |
|
column_widths=["2%", "33%"], |
|
) |
|
with gr.Tab("Docs"): |
|
gr.Markdown((Path(__file__).parent / "docs.md").read_text()) |
|
|
|
if __name__ == "__main__": |
|
demo.launch() |
|
|