Jerrycool commited on
Commit
f065bf1
·
verified ·
1 Parent(s): 306046a

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +12 -48
app.py CHANGED
@@ -3,17 +3,14 @@ import pandas as pd
3
  from apscheduler.schedulers.background import BackgroundScheduler
4
 
5
  """
6
- MLE‑Dojo Benchmark Leaderboard — Dark Elegance v2
7
  ================================================
8
- Upgrades:
9
- * richer heading with emoji icon
10
- * larger fonts throughout
11
- * medal icons for top‑3 ranks
12
- * scrollable leaderboard (fixed height)
13
  """
14
 
15
  # ---------------------------------------------------------------------------
16
- # Import app copy (fallback placeholders if src/ missing)
17
  # ---------------------------------------------------------------------------
18
  try:
19
  from src.about import (
@@ -23,7 +20,7 @@ try:
23
  LLM_BENCHMARKS_TEXT,
24
  TITLE,
25
  )
26
- from src.display.css_html_js import custom_css # may exist
27
  from src.envs import REPO_ID
28
  from src.submission.submit import add_new_eval
29
  except ImportError:
@@ -43,6 +40,8 @@ except ImportError:
43
  # ---------------------------------------------------------------------------
44
  # Data
45
  # ---------------------------------------------------------------------------
 
 
46
  data = [
47
  {"model_name": "gpt-4o-mini", "url": "https://openai.com/index/gpt-4o-mini-advancing-cost-efficient-intelligence/", "organizer": "OpenAI", "license": "Proprietary", "MLE-Lite_Elo": 753, "Tabular_Elo": 839, "NLP_Elo": 758, "CV_Elo": 754, "Overall": 778},
48
  {"model_name": "gpt-4o", "url": "https://openai.com/index/hello-gpt-4o/", "organizer": "OpenAI", "license": "Proprietary", "MLE-Lite_Elo": 830, "Tabular_Elo": 861, "NLP_Elo": 903, "CV_Elo": 761, "Overall": 841},
@@ -67,7 +66,6 @@ CATEGORY_MAP = {
67
  "NLP": "NLP_Elo",
68
  "CV": "CV_Elo",
69
  }
70
-
71
  MEDALS = {1: "🥇", 2: "🥈", 3: "🥉"}
72
 
73
  def update_leaderboard(category: str, ascending: bool):
@@ -77,46 +75,17 @@ def update_leaderboard(category: str, ascending: bool):
77
  .sort_values(by=col, ascending=ascending)
78
  .reset_index(drop=True)
79
  )
80
-
81
  df.insert(0, "Rank", df.index + 1)
82
  df["Rank"] = df["Rank"].apply(lambda r: MEDALS.get(r, str(r)))
83
  df["Model"] = df.apply(lambda r: f"<a href='{r.url}' target='_blank'>{r.model_name}</a>", axis=1)
84
-
85
  df.rename(columns={"organizer": "Organizer", "license": "License", col: "Elo Score"}, inplace=True)
86
  return df[["Rank", "Model", "Organizer", "License", "Elo Score"]]
87
 
88
  # ---------------------------------------------------------------------------
89
- # CSS (dark + bigger fonts + heading icon)
90
  # ---------------------------------------------------------------------------
91
  custom_css += """
92
- @import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap');
93
- html,body{font-family:'Inter',sans-serif!important;font-size:18px!important;line-height:1.6;color:#e2e8f0;background:#0f172a;}
94
-
95
- .gradient-text{background:linear-gradient(90deg,#6366f1 0%,#06b6d4 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;}
96
-
97
- /* Section title */
98
- .section-title{font-size:1.7rem;font-weight:700;color:#f1f5f9;display:flex;align-items:center;gap:.4em;margin:1.1em 0 .8em;}
99
- .section-title .icon{font-size:1.4em;}
100
-
101
- /* Radio & checkbox */
102
- .gr-radio,.gr-checkbox{background:#1e293b;border-radius:8px;padding:6px 12px;box-shadow:0 1px 3px rgba(0,0,0,.4);}
103
- .gr-radio input:checked+label,.gr-checkbox input:checked+label{color:#38bdf8;}
104
-
105
- /* Leaderboard table */
106
- #leaderboard-table table{width:100%;border-collapse:collapse;background:#1e293b;border-radius:8px;overflow:hidden;}
107
- #leaderboard-table th{background:#334155;font-size:1rem;font-weight:600;padding:.8em;color:#f1f5f9;text-transform:uppercase;letter-spacing:.04em;}
108
- #leaderboard-table td{padding:.7em;font-size:1.15rem;border-top:1px solid #334155;}
109
- #leaderboard-table tr:nth-child(even){background:#1c2431;}
110
- #leaderboard-table tr:hover{background:#475569;}
111
-
112
- /* Scrollbar styling */
113
- #leaderboard-table tbody{display:block;max-height:520px;overflow-y:auto;}
114
- #leaderboard-table thead, #leaderboard-table tbody tr{display:table;width:100%;table-layout:fixed;}
115
-
116
- /* Links */
117
- a{color:#38bdf8;} a:hover{text-decoration:underline;}
118
-
119
- .gr-accordion .label{font-weight:600;font-size:1rem;color:#f1f5f9;}
120
  """
121
 
122
  # ---------------------------------------------------------------------------
@@ -127,14 +96,12 @@ app = gr.Blocks(css=custom_css, theme=gr.themes.Soft(primary_hue="sky", neutral_
127
  with app:
128
  gr.HTML(TITLE)
129
  gr.Markdown(INTRODUCTION_TEXT, elem_classes="markdown-text")
130
-
131
  with gr.Tabs():
132
  with gr.TabItem("🏅 Leaderboard"):
133
  gr.HTML("<h3 class='section-title'><span class='icon'>📊</span>Model Elo Rankings by Category</h3>")
134
  with gr.Row():
135
  category_radio = gr.Radio(CATEGORIES, value=DEFAULT_CATEGORY, label="Category")
136
  asc_check = gr.Checkbox(label="⬆️ Asc. order", value=False)
137
-
138
  board = gr.Dataframe(
139
  value=update_leaderboard(DEFAULT_CATEGORY, False),
140
  headers=["Rank", "Model", "Organizer", "License", "Elo Score"],
@@ -143,19 +110,16 @@ with app:
143
  col_count=(5, "fixed"),
144
  interactive=False,
145
  elem_id="leaderboard-table",
146
- height=560,
147
  )
148
  category_radio.change(update_leaderboard, [category_radio, asc_check], board)
149
  asc_check.change(update_leaderboard, [category_radio, asc_check], board)
150
-
151
- with gr.TabItem("ℹ️ About"):
152
  gr.Markdown(LLM_BENCHMARKS_TEXT, elem_classes="markdown-text")
153
-
154
- with gr.Accordion("📖 Citation", open=False):
155
  gr.Textbox(value=CITATION_BUTTON_TEXT, label=CITATION_BUTTON_LABEL, lines=10, show_copy_button=True)
156
 
157
  # ---------------------------------------------------------------------------
158
- # Optional scheduler (HF Space restarts)
159
  # ---------------------------------------------------------------------------
160
 
161
  def restart_space():
 
3
  from apscheduler.schedulers.background import BackgroundScheduler
4
 
5
  """
6
+ MLE‑Dojo Benchmark Leaderboard — Dark Elegance v3
7
  ================================================
8
+ * Fix: removed unsupported `height` param for `gr.Dataframe`.
9
+ * Font tweak: leaderboard cells slightly smaller.
 
 
 
10
  """
11
 
12
  # ---------------------------------------------------------------------------
13
+ # Import copy or fallback placeholders
14
  # ---------------------------------------------------------------------------
15
  try:
16
  from src.about import (
 
20
  LLM_BENCHMARKS_TEXT,
21
  TITLE,
22
  )
23
+ from src.display.css_html_js import custom_css
24
  from src.envs import REPO_ID
25
  from src.submission.submit import add_new_eval
26
  except ImportError:
 
40
  # ---------------------------------------------------------------------------
41
  # Data
42
  # ---------------------------------------------------------------------------
43
+ # (unchanged)-------------------------------------------
44
+
45
  data = [
46
  {"model_name": "gpt-4o-mini", "url": "https://openai.com/index/gpt-4o-mini-advancing-cost-efficient-intelligence/", "organizer": "OpenAI", "license": "Proprietary", "MLE-Lite_Elo": 753, "Tabular_Elo": 839, "NLP_Elo": 758, "CV_Elo": 754, "Overall": 778},
47
  {"model_name": "gpt-4o", "url": "https://openai.com/index/hello-gpt-4o/", "organizer": "OpenAI", "license": "Proprietary", "MLE-Lite_Elo": 830, "Tabular_Elo": 861, "NLP_Elo": 903, "CV_Elo": 761, "Overall": 841},
 
66
  "NLP": "NLP_Elo",
67
  "CV": "CV_Elo",
68
  }
 
69
  MEDALS = {1: "🥇", 2: "🥈", 3: "🥉"}
70
 
71
  def update_leaderboard(category: str, ascending: bool):
 
75
  .sort_values(by=col, ascending=ascending)
76
  .reset_index(drop=True)
77
  )
 
78
  df.insert(0, "Rank", df.index + 1)
79
  df["Rank"] = df["Rank"].apply(lambda r: MEDALS.get(r, str(r)))
80
  df["Model"] = df.apply(lambda r: f"<a href='{r.url}' target='_blank'>{r.model_name}</a>", axis=1)
 
81
  df.rename(columns={"organizer": "Organizer", "license": "License", col: "Elo Score"}, inplace=True)
82
  return df[["Rank", "Model", "Organizer", "License", "Elo Score"]]
83
 
84
  # ---------------------------------------------------------------------------
85
+ # CSS (dark + slightly smaller table font)
86
  # ---------------------------------------------------------------------------
87
  custom_css += """
88
+ #leaderboard-table td{padding:.7em;font-size:1.05rem;border-top:1px solid #334155;}
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
89
  """
90
 
91
  # ---------------------------------------------------------------------------
 
96
  with app:
97
  gr.HTML(TITLE)
98
  gr.Markdown(INTRODUCTION_TEXT, elem_classes="markdown-text")
 
99
  with gr.Tabs():
100
  with gr.TabItem("🏅 Leaderboard"):
101
  gr.HTML("<h3 class='section-title'><span class='icon'>📊</span>Model Elo Rankings by Category</h3>")
102
  with gr.Row():
103
  category_radio = gr.Radio(CATEGORIES, value=DEFAULT_CATEGORY, label="Category")
104
  asc_check = gr.Checkbox(label="⬆️ Asc. order", value=False)
 
105
  board = gr.Dataframe(
106
  value=update_leaderboard(DEFAULT_CATEGORY, False),
107
  headers=["Rank", "Model", "Organizer", "License", "Elo Score"],
 
110
  col_count=(5, "fixed"),
111
  interactive=False,
112
  elem_id="leaderboard-table",
 
113
  )
114
  category_radio.change(update_leaderboard, [category_radio, asc_check], board)
115
  asc_check.change(update_leaderboard, [category_radio, asc_check], board)
116
+ with gr.TabItem("ℹ️ About"):
 
117
  gr.Markdown(LLM_BENCHMARKS_TEXT, elem_classes="markdown-text")
118
+ with gr.Accordion("📖 Citation", open=False):
 
119
  gr.Textbox(value=CITATION_BUTTON_TEXT, label=CITATION_BUTTON_LABEL, lines=10, show_copy_button=True)
120
 
121
  # ---------------------------------------------------------------------------
122
+ # Optional scheduler
123
  # ---------------------------------------------------------------------------
124
 
125
  def restart_space():