File size: 6,245 Bytes
e16fd64 35378f6 e16fd64 35378f6 e16fd64 35378f6 e16fd64 35378f6 e16fd64 35378f6 e16fd64 35378f6 e16fd64 d12b8ee e16fd64 35378f6 e16fd64 35378f6 e16fd64 35378f6 e16fd64 35378f6 e16fd64 35378f6 e16fd64 35378f6 e16fd64 35378f6 e16fd64 35378f6 e16fd64 35378f6 e16fd64 35378f6 e16fd64 35378f6 e16fd64 35378f6 e16fd64 35378f6 e16fd64 35378f6 e16fd64 35378f6 e16fd64 35378f6 e16fd64 35378f6 e16fd64 35378f6 |
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 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 |
import gradio as gr
from src.assets.text_content import TITLE, INTRODUCTION_TEXT
from src.leaderboard_utils import filter_search, get_github_data
from src.plot_utils import split_models, compare_plots
# For Leaderboards
# Get CSV data
global primary_leaderboard_df, version_dfs, version_names
primary_leaderboard_df, version_dfs, version_names = get_github_data()
global prev_df
prev_df = version_dfs[0]
def select_prev_df(name):
ind = version_names.index(name)
prev_df = version_dfs[ind]
return prev_df
# For Plots
global plot_df, OPEN_MODELS, CLOSED_MODELS, SHOW_ALL, SHOW_NAMES
plot_df = primary_leaderboard_df[0]
MODELS = list(plot_df[list(plot_df.columns)[0]].unique())
OPEN_MODELS, CLOSED_MODELS = split_models(MODELS)
# MAIN APPLICATION s
main_app = gr.Blocks()
with main_app:
gr.HTML(TITLE)
gr.Markdown(INTRODUCTION_TEXT, elem_classes="markdown-text")
with gr.Tabs(elem_classes="tab-buttons") as tabs:
with gr.TabItem("π₯ CLEM Leaderboard", elem_id="llm-benchmark-tab-table", id=0):
with gr.Row():
search_bar = gr.Textbox(
placeholder=" π Search for models - separate multiple queries with `;` and press ENTER...",
show_label=False,
elem_id="search-bar",
)
leaderboard_table = gr.components.Dataframe(
value=primary_leaderboard_df[0],
elem_id="leaderboard-table",
interactive=False,
visible=True,
)
# Add a dummy leaderboard to handle search queries from the primary_leaderboard_df and not update primary_leaderboard_df
dummy_leaderboard_table = gr.components.Dataframe(
value=primary_leaderboard_df[0],
elem_id="leaderboard-table",
interactive=False,
visible=False,
)
search_bar.submit(
filter_search,
[dummy_leaderboard_table, search_bar],
leaderboard_table,
queue=True
)
with gr.TabItem("π Plot", id=3):
with gr.Row():
open_models_selection = gr.CheckboxGroup(
OPEN_MODELS,
label="Open-weight Models π",
value=[],
elem_id="value-select",
interactive=True,
)
with gr.Row():
closed_models_selection = gr.CheckboxGroup(
CLOSED_MODELS,
label="Closed-weight Models πΌ",
value=[],
elem_id="value-select-2",
interactive=True,
)
with gr.Row():
with gr.Column():
show_all = gr.CheckboxGroup(
["Select All Models"],
label="Show plot for all models π€",
value=[],
elem_id="value-select-3",
interactive=True,
)
with gr.Column():
show_names = gr.CheckboxGroup(
["Show Names"],
label ="Show names of models on the plot π·οΈ",
value=[],
elem_id="value-select-4",
interactive=True,
)
with gr.Row():
dummy_plot_df = gr.DataFrame(
value=plot_df,
visible=False
)
with gr.Row():
with gr.Column():
# Output block for the plot
plot_output = gr.Plot()
open_models_selection.change(
compare_plots,
[dummy_plot_df, open_models_selection, closed_models_selection, show_all, show_names],
plot_output,
queue=True
)
closed_models_selection.change(
compare_plots,
[dummy_plot_df, open_models_selection, closed_models_selection, show_all, show_names],
plot_output,
queue=True
)
show_all.change(
compare_plots,
[dummy_plot_df, open_models_selection, closed_models_selection, show_all, show_names],
plot_output,
queue=True
)
show_names.change(
compare_plots,
[dummy_plot_df, open_models_selection, closed_models_selection, show_all, show_names],
plot_output,
queue=True
)
with gr.TabItem("π Versions and Details", elem_id="details", id=2):
with gr.Row():
version_select = gr.Dropdown(
version_names, label="Select Version πΉοΈ", value=version_names[0]
)
with gr.Row():
search_bar_prev = gr.Textbox(
placeholder=" π Search for models - separate multiple queries with `;` and press ENTER...",
show_label=False,
elem_id="search-bar-2",
)
prev_table = gr.components.Dataframe(
value=prev_df,
elem_id="leaderboard-table",
interactive=False,
visible=True,
)
dummy_prev_table = gr.components.Dataframe(
value=prev_df,
elem_id="leaderboard-table",
interactive=False,
visible=False,
)
search_bar_prev.submit(
filter_search,
[dummy_prev_table, search_bar_prev],
prev_table,
queue=True
)
version_select.change(
select_prev_df,
[version_select],
prev_table,
queue=True
)
main_app.load()
main_app.queue()
main_app.launch() |