lm-similarity / app.py
Joschka Strueber
[Add, Fix] launch app, cache models
cdeeed6
raw
history blame
2.04 kB
import gradio as gr
from src.dataloading import get_leaderboard_models_cached, get_leaderboard_datasets
def create_demo():
# Fetch data once on startup (cache this in production)
models = get_leaderboard_models_cached()
datasets = get_leaderboard_datasets()
with gr.Blocks(title="LLM Similarity Analyzer") as demo:
gr.Markdown("## Compare Models/Datasets from Open LLM Leaderboard")
with gr.Row():
model_dropdown = gr.Dropdown(
choices=models,
label="Select Model",
filterable=True,
interactive=True,
allow_custom_value=False,
info="Search models from Open LLM Leaderboard"
)
dataset_dropdown = gr.Dropdown(
choices=datasets,
label="Select Dataset",
filterable=True,
interactive=True,
info="Leaderboard benchmark datasets"
)
# Add your similarity computation and visualization components here
# Example placeholder:
similarity_output = gr.Textbox(label="Similarity Score")
compute_btn = gr.Button("Compute Similarity")
def compute_similarity(model, dataset):
# Replace with your actual similarity metric
return f"Similarity between {model} and {dataset}: {0.85:.2f}"
compute_btn.click(
fn=compute_similarity,
inputs=[model_dropdown, dataset_dropdown],
outputs=similarity_output
)
return demo
def create_demo_with_refresh():
demo = create_demo()
with demo:
refresh_btn = gr.Button("Refresh Model List")
def refresh_models():
return gr.Dropdown(choices=get_leaderboard_models_cached())
refresh_btn.click(
fn=refresh_models,
outputs=model_dropdown
)
return demo
demo = create_demo_with_refresh()
demo.launch()