Spaces:
Running
Running
liaojiajia
commited on
Commit
·
8615a6f
1
Parent(s):
9ec00c3
fix bug
Browse files- app.py +11 -6
- 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=
|
| 273 |
-
value=
|
| 274 |
label='Agent',
|
| 275 |
interactive=True
|
| 276 |
)
|
| 277 |
|
| 278 |
vlm_name_mm = gr.CheckboxGroup(
|
| 279 |
-
choices=
|
| 280 |
-
value=
|
| 281 |
label='VLMs',
|
| 282 |
interactive=True
|
| 283 |
)
|
| 284 |
|
| 285 |
-
initial_headers_mm = ['Rank'] +
|
|
|
|
| 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'] +
|
| 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']
|