LucasLima commited on
Commit
5098c7c
·
verified ·
1 Parent(s): 1a7f9db

Adição do PLUE

Browse files
Files changed (1) hide show
  1. app.py +98 -29
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
- for area_name, tasks_in_area in AREA_DEFINITIONS.items():
277
- with gr.TabItem(f"🎓 {area_name}", id=tab_index):
278
- area_cols_to_display = [
279
- AutoEvalColumn.model_type_symbol.name,
280
- AutoEvalColumn.model.name,
281
- ] + [task.name for task in tasks_in_area]
282
-
283
- area_hidden_cols = list(AREA_AVG_COLUMN_MAP.values()) + [
284
- task.name for task in Tasks if task not in tasks_in_area
285
- ] + [
286
- AutoEvalColumn.model_type.name,
287
- AutoEvalColumn.architecture.name,
288
- AutoEvalColumn.weight_type.name,
289
- AutoEvalColumn.precision.name,
290
- AutoEvalColumn.license.name,
291
- AutoEvalColumn.params.name,
292
- AutoEvalColumn.likes.name,
293
- AutoEvalColumn.still_on_hub.name,
294
- AutoEvalColumn.revision.name
295
- ]
296
-
297
- create_leaderboard_component(
298
- LEADERBOARD_DF,
299
- displayed_cols=area_cols_to_display,
300
- hidden_cols=[col for col in area_hidden_cols if col != AutoEvalColumn.average.name],
301
- title=area_name
302
- )
303
- tab_index += 1
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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():