Spaces:
Sleeping
Sleeping
__all__ = ['block', 'make_clickable_model', 'make_clickable_user', 'get_submissions'] | |
import gradio as gr | |
import pandas as pd | |
import re | |
import pandas as pd | |
import os | |
import json | |
from src.about import * | |
global data_component, filter_component | |
def get_baseline_df(): | |
df = pd.read_csv(CSV_RESULT_PATH) | |
present_columns = ["Method"] + checkbox_group.value | |
df = df[present_columns] | |
return df | |
def update_yaml(representation_name, benchmark_type, human_file_path, skempi_file_path): | |
with open("./src/bin/probe_config.yaml", 'r') as file: | |
yaml_data = yaml.safe_load(file) | |
yaml_data['representation_name'] = representation_name | |
yaml_data['benchmark'] = benchmark_type | |
yaml_data['representation_file_human'] = human_file | |
yaml_data['representation_file_affinity'] = skempi_file | |
with open("./src/bin/probe_config.yaml", "w") as file: | |
yaml.dump(yaml_data, file) | |
return None | |
def add_new_eval( | |
human_file, | |
skempi_file, | |
model_name_textbox: str, | |
revision_name_textbox: str, | |
benchmark_type: str, | |
): | |
representation_name = model_name_textbox if revision_name_textbox == '' else revision_name_textbox | |
update_yaml(representation_name, benchmark_type, human_file, skempi_file) | |
# Save human and skempi files under ./src/data/representation_vectors using pandas | |
print(human_file) | |
df = pd.read_csv(human_file) | |
print(df.head().to_string()) | |
return None | |
if human_file is not None: | |
human_df = pd.read_csv(human_file) | |
human_df.to_csv(f"./src/data/representation_vectors/{representation_name}_human.csv", index=False) | |
return None | |
block = gr.Blocks() | |
with block: | |
gr.Markdown( | |
LEADERBOARD_INTRODUCTION | |
) | |
with gr.Tabs(elem_classes="tab-buttons") as tabs: | |
# table jmmmu bench | |
with gr.TabItem("π PROBE Benchmark", elem_id="probe-benchmark-tab-table", id=1): | |
# selection for column part: | |
checkbox_group = gr.CheckboxGroup( | |
choices=TASK_INFO, | |
label="Benchmark Type", | |
interactive=True, | |
) # user can select the evaluation dimension | |
baseline_value = get_baseline_df() | |
baseline_header = ["Method"] + checkbox_group.value | |
baseline_datatype = ['markdown'] + ['number'] * len(checkbox_group.value) | |
data_component = gr.components.Dataframe( | |
value=baseline_value, | |
headers=baseline_header, | |
type="pandas", | |
datatype=baseline_datatype, | |
interactive=False, | |
visible=True, | |
) | |
# table 5 | |
with gr.TabItem("π About", elem_id="probe-benchmark-tab-table", id=2): | |
with gr.Row(): | |
gr.Markdown(LLM_BENCHMARKS_TEXT, elem_classes="markdown-text") | |
with gr.TabItem("π Submit here! ", elem_id="probe-benchmark-tab-table", id=3): | |
with gr.Row(): | |
gr.Markdown(EVALUATION_QUEUE_TEXT, elem_classes="markdown-text") | |
with gr.Row(): | |
gr.Markdown("# βοΈβ¨ Submit your model's representation files here!", elem_classes="markdown-text") | |
with gr.Row(): | |
with gr.Column(): | |
model_name_textbox = gr.Textbox( | |
label="Model name", | |
) | |
revision_name_textbox = gr.Textbox( | |
label="Revision Model Name", | |
) | |
# Selection for benchmark type from (similartiy, family, function, affinity) to eval the representations (chekbox) | |
benchmark_type = gr.CheckboxGroup( | |
choices=TASK_INFO, | |
label="Benchmark Type", | |
interactive=True, | |
) | |
with gr.Column(): | |
human_file = gr.components.File(label="Click to Upload the representation file (csv) for Human dataset", file_count="single", type='filepath') | |
skempi_file = gr.components.File(label="Click to Upload the representation file (csv) for SKEMPI dataset", file_count="single", type='filepath') | |
submit_button = gr.Button("Submit Eval") | |
submission_result = gr.Markdown() | |
submit_button.click( | |
add_new_eval, | |
inputs = [ | |
human_file, | |
skempi_file, | |
model_name_textbox, | |
revision_name_textbox, | |
benchmark_type | |
], | |
) | |
def refresh_data(): | |
value = get_baseline_df() | |
return value | |
with gr.Row(): | |
data_run = gr.Button("Refresh") | |
data_run.click( | |
refresh_data, outputs=[data_component] | |
) | |
with gr.Accordion("Citation", open=False): | |
citation_button = gr.Textbox( | |
value=CITATION_BUTTON_TEXT, | |
label=CITATION_BUTTON_LABEL, | |
elem_id="citation-button", | |
show_copy_button=True, | |
) | |
block.launch() | |