Joschka Strueber commited on
Commit
cdeeed6
·
1 Parent(s): 7fa11aa

[Add, Fix] launch app, cache models

Browse files
Files changed (2) hide show
  1. app.py +24 -3
  2. src/dataloading.py +8 -0
app.py CHANGED
@@ -1,11 +1,13 @@
1
  import gradio as gr
2
 
3
- from src.dataloading import get_leaderboard_models, get_leaderboard_datasets
 
 
4
 
5
 
6
  def create_demo():
7
  # Fetch data once on startup (cache this in production)
8
- models = get_leaderboard_models()
9
  datasets = get_leaderboard_datasets()
10
 
11
  with gr.Blocks(title="LLM Similarity Analyzer") as demo:
@@ -44,4 +46,23 @@ def create_demo():
44
  outputs=similarity_output
45
  )
46
 
47
- return demo
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
  import gradio as gr
2
 
3
+
4
+
5
+ from src.dataloading import get_leaderboard_models_cached, get_leaderboard_datasets
6
 
7
 
8
  def create_demo():
9
  # Fetch data once on startup (cache this in production)
10
+ models = get_leaderboard_models_cached()
11
  datasets = get_leaderboard_datasets()
12
 
13
  with gr.Blocks(title="LLM Similarity Analyzer") as demo:
 
46
  outputs=similarity_output
47
  )
48
 
49
+ return demo
50
+
51
+
52
+ def create_demo_with_refresh():
53
+ demo = create_demo()
54
+
55
+ with demo:
56
+ refresh_btn = gr.Button("Refresh Model List")
57
+ def refresh_models():
58
+ return gr.Dropdown(choices=get_leaderboard_models_cached())
59
+
60
+ refresh_btn.click(
61
+ fn=refresh_models,
62
+ outputs=model_dropdown
63
+ )
64
+
65
+ return demo
66
+
67
+ demo = create_demo_with_refresh()
68
+ demo.launch()
src/dataloading.py CHANGED
@@ -1,4 +1,6 @@
1
  from huggingface_hub import HfApi
 
 
2
 
3
  def get_leaderboard_models():
4
  api = HfApi()
@@ -20,6 +22,12 @@ def get_leaderboard_models():
20
 
21
  return sorted(list(set(models))) # Remove duplicates
22
 
 
 
 
 
 
 
23
  def get_leaderboard_datasets():
24
  return [
25
  "ai2_arc",
 
1
  from huggingface_hub import HfApi
2
+ from functools import lru_cache
3
+
4
 
5
  def get_leaderboard_models():
6
  api = HfApi()
 
22
 
23
  return sorted(list(set(models))) # Remove duplicates
24
 
25
+
26
+ @lru_cache(maxsize=1)
27
+ def get_leaderboard_models_cached():
28
+ return get_leaderboard_models()
29
+
30
+
31
  def get_leaderboard_datasets():
32
  return [
33
  "ai2_arc",