Joschka Strueber commited on
Commit
cca1790
·
1 Parent(s): 8901fb0

[Fix] heatmap not generated and deselection causes error

Browse files
Files changed (1) hide show
  1. app.py +44 -18
app.py CHANGED
@@ -4,9 +4,11 @@ import numpy as np
4
  from src.dataloading import get_leaderboard_models_cached, get_leaderboard_datasets
5
 
6
  def create_heatmap(selected_models, selected_dataset):
7
- print(f"Creating heatmap with models: {selected_models} and dataset: {selected_dataset}")
 
8
  if not selected_models or not selected_dataset:
9
- return gr.Plot(visible=False)
 
10
 
11
  # Generate random similarity matrix
12
  size = len(selected_models)
@@ -27,11 +29,10 @@ def create_heatmap(selected_models, selected_dataset):
27
  height=800
28
  )
29
 
30
- # Return both the figure and visibility update
31
  return gr.Plot.update(value=fig, visible=True)
32
 
33
  def validate_inputs(selected_models, selected_dataset):
34
- print(f"Validating inputs: models={selected_models}, dataset={selected_dataset}")
35
  if not selected_models:
36
  raise gr.Error("Please select at least one model!")
37
  if not selected_dataset:
@@ -41,18 +42,43 @@ with gr.Blocks(title="LLM Similarity Analyzer") as demo:
41
  gr.Markdown("## Model Similarity Comparison Tool")
42
 
43
  with gr.Row():
44
- model_selector = gr.Dropdown(label="Select Models", choices=get_leaderboard_models_cached(), multiselect=True)
45
- dataset_selector = gr.Dropdown(label="Select Dataset", choices=get_leaderboard_datasets())
46
- heatmap_output = gr.Plot(visible=False)
47
-
48
- def on_submit(selected_models, selected_dataset):
49
- try:
50
- validate_inputs(selected_models, selected_dataset)
51
- return create_heatmap(selected_models, selected_dataset)
52
- except gr.Error as e:
53
- return gr.Markdown(str(e))
54
-
55
- submit_button = gr.Button("Generate Heatmap")
56
- submit_button.click(on_submit, inputs=[model_selector, dataset_selector], outputs=heatmap_output)
57
 
58
- demo.launch()
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
4
  from src.dataloading import get_leaderboard_models_cached, get_leaderboard_datasets
5
 
6
  def create_heatmap(selected_models, selected_dataset):
7
+ print(f"Selected Models: {selected_models}") # Debugging
8
+ print(f"Selected Dataset: {selected_dataset}") # Debugging
9
  if not selected_models or not selected_dataset:
10
+ print("No models or dataset selected") # Debugging
11
+ return gr.Plot.update(visible=False)
12
 
13
  # Generate random similarity matrix
14
  size = len(selected_models)
 
29
  height=800
30
  )
31
 
32
+ print("Heatmap generated successfully") # Debugging
33
  return gr.Plot.update(value=fig, visible=True)
34
 
35
  def validate_inputs(selected_models, selected_dataset):
 
36
  if not selected_models:
37
  raise gr.Error("Please select at least one model!")
38
  if not selected_dataset:
 
42
  gr.Markdown("## Model Similarity Comparison Tool")
43
 
44
  with gr.Row():
45
+ dataset_dropdown = gr.Dropdown(
46
+ choices=get_leaderboard_datasets(),
47
+ label="Select Dataset",
48
+ filterable=True,
49
+ interactive=True,
50
+ info="Leaderboard benchmark datasets"
51
+ )
 
 
 
 
 
 
52
 
53
+ model_dropdown = gr.Dropdown(
54
+ choices=get_leaderboard_models_cached(),
55
+ label="Select Models",
56
+ multiselect=True,
57
+ filterable=True,
58
+ allow_custom_value=False,
59
+ info="Search and select multiple models"
60
+ )
61
+
62
+ generate_btn = gr.Button("Generate Heatmap", variant="primary")
63
+ heatmap = gr.Plot(label="Similarity Heatmap", visible=False)
64
+
65
+ # Event handling
66
+ generate_btn.click(
67
+ fn=validate_inputs,
68
+ inputs=[model_dropdown, dataset_dropdown],
69
+ queue=False
70
+ ).then(
71
+ fn=create_heatmap,
72
+ inputs=[model_dropdown, dataset_dropdown],
73
+ outputs=heatmap
74
+ )
75
+
76
+ # Clear button
77
+ clear_btn = gr.Button("Clear Selection")
78
+ clear_btn.click(
79
+ lambda: [None, None, gr.Plot.update(visible=False)],
80
+ outputs=[model_dropdown, dataset_dropdown, heatmap]
81
+ )
82
+
83
+ if __name__ == "__main__":
84
+ demo.launch()