Spaces:
Running
Running
Adição do PLUE
Browse files
app.py
CHANGED
@@ -236,8 +236,12 @@ def create_leaderboard_component(dataframe, displayed_cols, hidden_cols=None, ca
|
|
236 |
)
|
237 |
|
238 |
|
|
|
|
|
|
|
|
|
|
|
239 |
# Definição do tema verde
|
240 |
-
# green_theme = gr.themes.Monochrome(primary_hue="green", secondary_hue="green", neutral_hue="slate") # Alternativa
|
241 |
green_theme = gr.themes.Base(primary_hue=gr.themes.colors.green, secondary_hue=gr.themes.colors.blue, neutral_hue=gr.themes.colors.slate)
|
242 |
|
243 |
demo = gr.Blocks(css=custom_css, theme=green_theme)
|
@@ -273,34 +277,99 @@ with demo:
|
|
273 |
)
|
274 |
|
275 |
tab_index = 1
|
276 |
-
|
277 |
-
|
278 |
-
|
279 |
-
|
280 |
-
|
281 |
-
|
282 |
-
|
283 |
-
|
284 |
-
|
285 |
-
|
286 |
-
|
287 |
-
|
288 |
-
|
289 |
-
|
290 |
-
|
291 |
-
|
292 |
-
|
293 |
-
|
294 |
-
|
295 |
-
|
296 |
-
|
297 |
-
|
298 |
-
|
299 |
-
|
300 |
-
|
301 |
-
|
302 |
-
|
303 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
304 |
|
305 |
with gr.TabItem("🚀 Submit aqui!", id=tab_index):
|
306 |
with gr.Column():
|
|
|
236 |
)
|
237 |
|
238 |
|
239 |
+
# --- Definição do Grupo PLUE ---
|
240 |
+
PLUE_GROUP_AREAS = ["Área Médica", "Área do Direito", "Provas Militares", "Computação", "Multidisciplinar"]
|
241 |
+
# -------
|
242 |
+
|
243 |
+
|
244 |
# Definição do tema verde
|
|
|
245 |
green_theme = gr.themes.Base(primary_hue=gr.themes.colors.green, secondary_hue=gr.themes.colors.blue, neutral_hue=gr.themes.colors.slate)
|
246 |
|
247 |
demo = gr.Blocks(css=custom_css, theme=green_theme)
|
|
|
277 |
)
|
278 |
|
279 |
tab_index = 1
|
280 |
+
plue_tab_created = False
|
281 |
+
plue_components = {}
|
282 |
+
|
283 |
+
# Ordenar áreas para consistência (PLUE será tratada separadamente)
|
284 |
+
all_area_names = sorted(AREA_DEFINITIONS.keys())
|
285 |
+
|
286 |
+
for area_name in all_area_names:
|
287 |
+
if area_name not in PLUE_GROUP_AREAS:
|
288 |
+
# Criar abas normais para áreas fora do grupo
|
289 |
+
with gr.TabItem(f"🎓 {area_name}", id=tab_index):
|
290 |
+
tasks_in_area = AREA_DEFINITIONS[area_name]
|
291 |
+
area_cols_to_display = [
|
292 |
+
AutoEvalColumn.model_type_symbol.name,
|
293 |
+
AutoEvalColumn.model.name,
|
294 |
+
] + [task.name for task in tasks_in_area]
|
295 |
+
|
296 |
+
area_hidden_cols = list(AREA_AVG_COLUMN_MAP.values()) + [
|
297 |
+
task.name for task in Tasks if task not in tasks_in_area
|
298 |
+
] + [
|
299 |
+
AutoEvalColumn.model_type.name,
|
300 |
+
AutoEvalColumn.architecture.name,
|
301 |
+
AutoEvalColumn.weight_type.name,
|
302 |
+
AutoEvalColumn.precision.name,
|
303 |
+
AutoEvalColumn.license.name,
|
304 |
+
AutoEvalColumn.params.name,
|
305 |
+
AutoEvalColumn.likes.name,
|
306 |
+
AutoEvalColumn.still_on_hub.name,
|
307 |
+
AutoEvalColumn.revision.name
|
308 |
+
]
|
309 |
+
|
310 |
+
create_leaderboard_component(
|
311 |
+
LEADERBOARD_DF,
|
312 |
+
displayed_cols=area_cols_to_display,
|
313 |
+
hidden_cols=[col for col in area_hidden_cols if col != AutoEvalColumn.average.name],
|
314 |
+
title=area_name
|
315 |
+
)
|
316 |
+
tab_index += 1
|
317 |
+
elif not plue_tab_created:
|
318 |
+
# Criar a aba PLUE apenas uma vez
|
319 |
+
with gr.TabItem("🎓 PLUE", id=tab_index) as plue_tab:
|
320 |
+
plue_tab_created = True
|
321 |
+
gr.Markdown("## Selecione a área PLUE para visualizar:")
|
322 |
+
plue_dropdown = gr.Dropdown(
|
323 |
+
choices=PLUE_GROUP_AREAS,
|
324 |
+
label="Área PLUE",
|
325 |
+
value=PLUE_GROUP_AREAS[0] # Valor inicial
|
326 |
+
)
|
327 |
+
plue_leaderboard_output = gr.Group() # Container para o leaderboard da sub-área
|
328 |
+
|
329 |
+
# Função para atualizar o conteúdo da aba PLUE
|
330 |
+
def update_plue_tab(selected_area):
|
331 |
+
print(f"Atualizando aba PLUE para: {selected_area}")
|
332 |
+
tasks_in_area = AREA_DEFINITIONS[selected_area]
|
333 |
+
area_cols_to_display = [
|
334 |
+
AutoEvalColumn.model_type_symbol.name,
|
335 |
+
AutoEvalColumn.model.name,
|
336 |
+
] + [task.name for task in tasks_in_area]
|
337 |
+
|
338 |
+
area_hidden_cols = list(AREA_AVG_COLUMN_MAP.values()) + [
|
339 |
+
task.name for task in Tasks if task not in tasks_in_area
|
340 |
+
] + [
|
341 |
+
AutoEvalColumn.model_type.name,
|
342 |
+
AutoEvalColumn.architecture.name,
|
343 |
+
AutoEvalColumn.weight_type.name,
|
344 |
+
AutoEvalColumn.precision.name,
|
345 |
+
AutoEvalColumn.license.name,
|
346 |
+
AutoEvalColumn.params.name,
|
347 |
+
AutoEvalColumn.likes.name,
|
348 |
+
AutoEvalColumn.still_on_hub.name,
|
349 |
+
AutoEvalColumn.revision.name
|
350 |
+
]
|
351 |
+
|
352 |
+
# Criar o componente leaderboard para a área selecionada
|
353 |
+
plue_leaderboard = create_leaderboard_component(
|
354 |
+
LEADERBOARD_DF,
|
355 |
+
displayed_cols=area_cols_to_display,
|
356 |
+
hidden_cols=[col for col in area_hidden_cols if col != AutoEvalColumn.average.name],
|
357 |
+
title=selected_area
|
358 |
+
)
|
359 |
+
return plue_leaderboard
|
360 |
+
|
361 |
+
# Registrar o evento de mudança do dropdown
|
362 |
+
plue_dropdown.change(
|
363 |
+
fn=update_plue_tab,
|
364 |
+
inputs=[plue_dropdown],
|
365 |
+
outputs=[plue_leaderboard_output]
|
366 |
+
)
|
367 |
+
|
368 |
+
# Carregar conteúdo inicial (para a primeira área do dropdown)
|
369 |
+
with plue_leaderboard_output:
|
370 |
+
update_plue_tab(PLUE_GROUP_AREAS[0])
|
371 |
+
|
372 |
+
tab_index += 1
|
373 |
|
374 |
with gr.TabItem("🚀 Submit aqui!", id=tab_index):
|
375 |
with gr.Column():
|