Spaces:
Running
Running
File size: 2,306 Bytes
2f2195a cdeeed6 f3cd231 2f2195a f3cd231 c8f741c f3cd231 4adb140 f3cd231 e1a6930 4adb140 f3cd231 4adb140 53d5dd8 f3cd231 53d5dd8 f3cd231 cca1790 f3cd231 cca1790 f3cd231 cca1790 f3cd231 cca1790 f3cd231 cca1790 f3cd231 |
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 |
import gradio as gr
from src.dataloading import get_leaderboard_models_cached, get_leaderboard_datasets
from src.similarity import compute_similarity
def validate_inputs(selected_model_a, selected_model_b, selected_dataset):
if not selected_model_a:
raise gr.Error("Please select Model A!")
if not selected_model_b:
raise gr.Error("Please select Model B!")
if not selected_dataset:
raise gr.Error("Please select a dataset!")
def display_similarity(model_a, model_b, dataset):
# Assuming compute_similarity returns a float or a string
similarity_score = compute_similarity(model_a, model_b, dataset)
return f"The similarity between {model_a} and {model_b} on {dataset} is: {similarity_score}"
with gr.Blocks(title="LLM Similarity Analyzer") as demo:
gr.Markdown("## Model Similarity Comparison Tool")
dataset_dropdown = gr.Dropdown(
choices=get_leaderboard_datasets(),
label="Select Dataset",
filterable=True,
interactive=True,
info="Leaderboard benchmark datasets"
)
model_a_dropdown = gr.Dropdown(
choices=get_leaderboard_models_cached(),
label="Select Model A",
filterable=True,
allow_custom_value=False,
info="Search and select models"
)
model_b_dropdown = gr.Dropdown(
choices=get_leaderboard_models_cached(),
label="Select Model B",
filterable=True,
allow_custom_value=False,
info="Search and select models"
)
generate_btn = gr.Button("Compute Similarity", variant="primary")
# Textbox to display the similarity result
similarity_output = gr.Textbox(
label="Similarity Result",
interactive=False
)
generate_btn.click(
fn=validate_inputs,
inputs=[model_a_dropdown, model_b_dropdown, dataset_dropdown],
queue=False
).then(
fn=display_similarity,
inputs=[model_a_dropdown, model_b_dropdown, dataset_dropdown],
outputs=similarity_output
)
clear_btn = gr.Button("Clear Selection")
clear_btn.click(
lambda: [None, None, None, ""],
outputs=[model_a_dropdown, model_b_dropdown, dataset_dropdown, similarity_output]
)
if __name__ == "__main__":
demo.launch()
|