liaojiajia commited on
Commit
8615a6f
·
1 Parent(s): 9ec00c3
Files changed (2) hide show
  1. app.py +11 -6
  2. gen_table.py +8 -26
app.py CHANGED
@@ -268,21 +268,26 @@ with gr.Blocks(title="Open Agent Leaderboard") as demo:
268
  interactive=True,
269
  )
270
 
 
 
 
 
271
  agent_name_mm = gr.CheckboxGroup(
272
- choices=table_mm['Agent'].unique().tolist(),
273
- value=table_mm['Agent'].unique().tolist(),
274
  label='Agent',
275
  interactive=True
276
  )
277
 
278
  vlm_name_mm = gr.CheckboxGroup(
279
- choices=table_mm['VLMs'].unique().tolist(),
280
- value=table_mm['VLMs'].unique().tolist(),
281
  label='VLMs',
282
  interactive=True
283
  )
284
 
285
- initial_headers_mm = ['Rank'] + check_box_mm['essential'] + checkbox_group_mm.value
 
286
  available_headers_mm = [h for h in initial_headers_mm if h in table_mm.columns]
287
 
288
  data_component_mm = gr.components.DataFrame(
@@ -295,7 +300,7 @@ with gr.Blocks(title="Open Agent Leaderboard") as demo:
295
  )
296
 
297
  def filter_df_mm(fields, agents, vlms, *args):
298
- headers = ['Rank'] + check_box_mm['essential'] + fields
299
  df = table_mm.copy()
300
 
301
  # Validate inputs to avoid errors
 
268
  interactive=True,
269
  )
270
 
271
+ # Ensure unique values for Agent and VLMs
272
+ unique_agents = sorted(table_mm['Agent'].drop_duplicates().str.strip().tolist())
273
+ unique_vlms = sorted(table_mm['VLMs'].drop_duplicates().str.strip().tolist())
274
+
275
  agent_name_mm = gr.CheckboxGroup(
276
+ choices=unique_agents,
277
+ value=unique_agents,
278
  label='Agent',
279
  interactive=True
280
  )
281
 
282
  vlm_name_mm = gr.CheckboxGroup(
283
+ choices=unique_vlms,
284
+ value=unique_vlms,
285
  label='VLMs',
286
  interactive=True
287
  )
288
 
289
+ initial_headers_mm = ['Rank'] + checkbox_group_mm.value
290
+ print(initial_headers_mm, "111111111")
291
  available_headers_mm = [h for h in initial_headers_mm if h in table_mm.columns]
292
 
293
  data_component_mm = gr.components.DataFrame(
 
300
  )
301
 
302
  def filter_df_mm(fields, agents, vlms, *args):
303
+ headers = ['Rank'] + fields
304
  df = table_mm.copy()
305
 
306
  # Validate inputs to avoid errors
gen_table.py CHANGED
@@ -240,31 +240,6 @@ def generate_table_detail(results, fields):
240
 
241
  return df
242
 
243
- def generate_multi_modal_table(results, fields):
244
- res = defaultdict(list)
245
- for entry in results.values():
246
- # Add Agent and VLMs
247
- res['Agent'].append(entry.get('Agent', 'Unknown'))
248
- res['VLMs'].append(entry.get('VLMs', 'Unknown'))
249
-
250
- # Add numeric fields
251
- for field in fields:
252
- res[field].append(entry.get(field, None))
253
-
254
- # Create DataFrame
255
- df = pd.DataFrame(res)
256
-
257
- # Sort by Score in descending order
258
- df = df.sort_values('Score', ascending=False)
259
-
260
- # Add Rank column
261
- df['Rank'] = range(1, len(df) + 1)
262
-
263
- # Rearrange column order
264
- columns = ['Rank', 'Agent', 'VLMs'] + fields
265
- df = df[columns]
266
-
267
- return df
268
 
269
  def BUILD_L3_DF(results, fields):
270
  res = defaultdict(list)
@@ -282,6 +257,13 @@ def BUILD_L3_DF(results, fields):
282
  # Create DataFrame
283
  df = pd.DataFrame(res)
284
 
 
 
 
 
 
 
 
285
  # Sort by Score in descending order
286
  df = df.sort_values('Score', ascending=False)
287
 
@@ -291,7 +273,7 @@ def BUILD_L3_DF(results, fields):
291
  # Rearrange column order
292
  columns = ['Rank', 'Agent', 'VLMs'] + fields
293
  df = df[columns]
294
-
295
  # Set checkbox configuration
296
  check_box = {}
297
  check_box['essential'] = ['Agent', 'VLMs']
 
240
 
241
  return df
242
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
243
 
244
  def BUILD_L3_DF(results, fields):
245
  res = defaultdict(list)
 
257
  # Create DataFrame
258
  df = pd.DataFrame(res)
259
 
260
+ # Remove duplicate rows based on 'Agent' and 'VLMs'
261
+ df = df.drop_duplicates(subset=['Agent', 'VLMs'], keep='first')
262
+
263
+ # Ensure unique values for 'Agent' and 'VLMs'
264
+ df['Agent'] = df['Agent'].str.strip()
265
+ df['VLMs'] = df['VLMs'].str.strip()
266
+
267
  # Sort by Score in descending order
268
  df = df.sort_values('Score', ascending=False)
269
 
 
273
  # Rearrange column order
274
  columns = ['Rank', 'Agent', 'VLMs'] + fields
275
  df = df[columns]
276
+
277
  # Set checkbox configuration
278
  check_box = {}
279
  check_box['essential'] = ['Agent', 'VLMs']