Spaces:
Running
Running
import gradio as gr | |
import pandas as pd | |
# Function to load data from a given CSV file | |
def load_data(version): | |
file_path = f'versions/{version}.csv' # Assuming filenames are version1.csv, version2.csv, version3.csv | |
return pd.read_csv(file_path) | |
# Function for searching in the leaderboard | |
def search_leaderboard(df, query): | |
if query == "": | |
return df | |
else: | |
return df[df['Method'].str.contains(query)] | |
# Function to change the version of the leaderboard | |
def change_version(version): | |
new_df = load_data(version) | |
return new_df | |
# Initialize Gradio app | |
demo = gr.Blocks() | |
with demo: | |
gr.Markdown("## Radio Leaderboard") | |
with gr.Row(): | |
version_dropdown = gr.Dropdown( | |
choices=["llama", "phi", "stable-lm"], | |
label="Select Version", | |
value="llama", | |
) | |
with gr.Row(): | |
search_bar = gr.Textbox( | |
placeholder="Search for methods...", | |
show_label=False, | |
) | |
leaderboard_table = gr.components.Dataframe( | |
value=load_data("llama"), # Load initial version (version llama) | |
interactive=True, | |
visible=True, | |
) | |
version_dropdown.change( | |
change_version, | |
inputs=version_dropdown, | |
outputs=leaderboard_table | |
) | |
search_bar.change( | |
search_leaderboard, | |
inputs=[leaderboard_table, search_bar], | |
outputs=leaderboard_table | |
) | |
# Launch the app | |
demo.launch() | |