adadtur's picture
Update app.py
72631c1 verified
raw
history blame
1.43 kB
import gradio as gr
import pandas as pd
LEADERBOARD_FILE = "results.csv"
def load_leaderboard():
return pd.read_csv(LEADERBOARD_FILE)
def display_data(data_type="Overall"):
df = load_leaderboard()
for col in ["Overall Benign Score", "Overall Malicious Score", "Refusal Rate", "Normalized Safety Score", "Bias Score", "Cybercrime Score", "Harassment Score","Misinformation Score", "Illegal Activity Score"]:
df[col] = df[col].apply(lambda x: f"{x:.1f}")
df["Open"] = df["Open"].apply(lambda x: "True" if x else "False")
if data_type == "Overall":
new_df = df[["Model", "Overall Benign Score", "Overall Malicious Score", "Refusal Rate", "Normalized Safety Score", "Open"]].copy()
else:
category_col = f"{data_type} Score"
new_df = df[["Model", category_col, "Overall Benign Score", "Open"]].copy()
sort_col = "Model"
return new_df.sort_values(by=sort_col)
with gr.Blocks() as demo:
gr.Markdown("# SafeArena Leaderboard")
data_type_dropdown = gr.Dropdown(
label="Data Type",
choices=["Overall", "Bias", "Cybercrime", "Harassment", "Misinformation", "Illegal Activity"],
value="Overall"
)
table = gr.Dataframe(value=display_data("Overall"), interactive=False)
data_type_dropdown.change(
fn=display_data,
inputs=data_type_dropdown,
outputs=table
)
demo.launch(share=True)