hysts HF staff commited on
Commit
57cc619
·
1 Parent(s): 23c64a1
Files changed (1) hide show
  1. app.py +15 -13
app.py CHANGED
@@ -1,5 +1,3 @@
1
- import os
2
- import json
3
  import gradio as gr
4
  import pandas as pd
5
  from apscheduler.schedulers.background import BackgroundScheduler
@@ -34,9 +32,11 @@ from src.envs import API, EVAL_REQUESTS_PATH, EVAL_RESULTS_PATH, QUEUE_REPO, REP
34
  from src.populate import get_evaluation_queue_df, get_leaderboard_df
35
  from src.submission.submit import add_new_eval
36
 
 
37
  def restart_space():
38
  API.restart_space(repo_id=REPO_ID)
39
 
 
40
  ### Space initialisation
41
  try:
42
  print(EVAL_REQUESTS_PATH)
@@ -63,6 +63,7 @@ leaderboard_df = original_df.copy()
63
  failed_eval_queue_df,
64
  ) = get_evaluation_queue_df(EVAL_REQUESTS_PATH, EVAL_COLS)
65
 
 
66
  # Searching and filtering
67
  def update_table(
68
  hidden_df: pd.DataFrame,
@@ -79,13 +80,13 @@ def update_table(
79
  ):
80
  print(f"Update table called with: type_query={type_query}, precision_query={precision_query}, size_query={size_query}")
81
  print(f"hidden_df shape before filtering: {hidden_df.shape}")
82
-
83
  filtered_df = filter_models(hidden_df, type_query, size_query, precision_query, add_special_tokens_query, num_few_shots_query, show_deleted, show_merges, show_flagged)
84
  print(f"filtered_df shape after filter_models: {filtered_df.shape}")
85
-
86
  filtered_df = filter_queries(query, filtered_df)
87
  print(f"filtered_df shape after filter_queries: {filtered_df.shape}")
88
-
89
  print(f"Filter applied: query={query}, columns={columns}, type_query={type_query}, precision_query={precision_query}")
90
  print("Filtered dataframe head:")
91
  print(filtered_df.head())
@@ -122,11 +123,11 @@ def select_columns(df: pd.DataFrame, columns: list) -> pd.DataFrame:
122
  AutoEvalColumn.model_type_symbol.name, # 'T'
123
  AutoEvalColumn.model.name, # 'Model'
124
  ]
125
-
126
  # 'always_here_cols' を 'columns' から除外して重複を避ける
127
  columns = [c for c in columns if c not in always_here_cols]
128
  new_columns = always_here_cols + [c for c in COLS if c in df.columns and c in columns]
129
-
130
  # 重複を排除しつつ順序を維持
131
  seen = set()
132
  unique_columns = []
@@ -207,6 +208,7 @@ def filter_models(
207
  print(filtered_df.head())
208
  return filtered_df
209
 
 
210
  leaderboard_df = filter_models(leaderboard_df, [t.to_str(" : ") for t in ModelType], list(NUMERIC_INTERVALS.keys()), [i.value.name for i in Precision], [i.value.name for i in AddSpecialTokens], [i.value.name for i in NumFewShots], False, False, False)
211
 
212
  demo = gr.Blocks(css=custom_css)
@@ -304,17 +306,17 @@ with demo:
304
  # DataFrameの初期化部分のみを修正
305
  initial_columns = ['T'] + [c.name for c in fields(AutoEvalColumn) if (c.never_hidden or c.displayed_by_default) and c.name != 'T']
306
  leaderboard_df_filtered = select_columns(leaderboard_df, initial_columns)
307
-
308
  # Model列のリンク形式を修正
309
  leaderboard_df_filtered['Model'] = leaderboard_df_filtered['Model'].apply(
310
  lambda x: f'[{x.split(">")[-2].split("<")[0]}]({x.split("href=")[1].split(chr(34))[1]})' if isinstance(x, str) and 'href=' in x else x
311
  )
312
-
313
  # 数値データを文字列に変換
314
  for col in leaderboard_df_filtered.columns:
315
  if col not in ['T', 'Model']:
316
  leaderboard_df_filtered[col] = leaderboard_df_filtered[col].astype(str)
317
-
318
  # DataFrameコンポーネントの初期化
319
  leaderboard_table = gr.components.Dataframe(
320
  value=leaderboard_df_filtered,
@@ -324,7 +326,7 @@ with demo:
324
  interactive=False,
325
  visible=True
326
  )
327
-
328
  # Dummy leaderboard for handling the case when the user uses backspace key
329
  hidden_leaderboard_table_for_search = gr.components.Dataframe(
330
  value=original_df[COLS],
@@ -371,7 +373,7 @@ with demo:
371
  )
372
  # Check query parameter once at startup and update search bar + hidden component
373
  demo.load(load_query, inputs=[], outputs=[search_bar, hidden_search_bar])
374
-
375
  for selector in [shown_columns, filter_columns_type, filter_columns_precision, filter_columns_size, filter_columns_add_special_tokens, filter_columns_num_few_shots, deleted_models_visibility, merged_models_visibility, flagged_models_visibility]:
376
  selector.change(
377
  update_table,
@@ -515,4 +517,4 @@ with demo:
515
  scheduler = BackgroundScheduler()
516
  scheduler.add_job(restart_space, "interval", seconds=1800)
517
  scheduler.start()
518
- demo.queue(default_concurrency_limit=40).launch()
 
 
 
1
  import gradio as gr
2
  import pandas as pd
3
  from apscheduler.schedulers.background import BackgroundScheduler
 
32
  from src.populate import get_evaluation_queue_df, get_leaderboard_df
33
  from src.submission.submit import add_new_eval
34
 
35
+
36
  def restart_space():
37
  API.restart_space(repo_id=REPO_ID)
38
 
39
+
40
  ### Space initialisation
41
  try:
42
  print(EVAL_REQUESTS_PATH)
 
63
  failed_eval_queue_df,
64
  ) = get_evaluation_queue_df(EVAL_REQUESTS_PATH, EVAL_COLS)
65
 
66
+
67
  # Searching and filtering
68
  def update_table(
69
  hidden_df: pd.DataFrame,
 
80
  ):
81
  print(f"Update table called with: type_query={type_query}, precision_query={precision_query}, size_query={size_query}")
82
  print(f"hidden_df shape before filtering: {hidden_df.shape}")
83
+
84
  filtered_df = filter_models(hidden_df, type_query, size_query, precision_query, add_special_tokens_query, num_few_shots_query, show_deleted, show_merges, show_flagged)
85
  print(f"filtered_df shape after filter_models: {filtered_df.shape}")
86
+
87
  filtered_df = filter_queries(query, filtered_df)
88
  print(f"filtered_df shape after filter_queries: {filtered_df.shape}")
89
+
90
  print(f"Filter applied: query={query}, columns={columns}, type_query={type_query}, precision_query={precision_query}")
91
  print("Filtered dataframe head:")
92
  print(filtered_df.head())
 
123
  AutoEvalColumn.model_type_symbol.name, # 'T'
124
  AutoEvalColumn.model.name, # 'Model'
125
  ]
126
+
127
  # 'always_here_cols' を 'columns' から除外して重複を避ける
128
  columns = [c for c in columns if c not in always_here_cols]
129
  new_columns = always_here_cols + [c for c in COLS if c in df.columns and c in columns]
130
+
131
  # 重複を排除しつつ順序を維持
132
  seen = set()
133
  unique_columns = []
 
208
  print(filtered_df.head())
209
  return filtered_df
210
 
211
+
212
  leaderboard_df = filter_models(leaderboard_df, [t.to_str(" : ") for t in ModelType], list(NUMERIC_INTERVALS.keys()), [i.value.name for i in Precision], [i.value.name for i in AddSpecialTokens], [i.value.name for i in NumFewShots], False, False, False)
213
 
214
  demo = gr.Blocks(css=custom_css)
 
306
  # DataFrameの初期化部分のみを修正
307
  initial_columns = ['T'] + [c.name for c in fields(AutoEvalColumn) if (c.never_hidden or c.displayed_by_default) and c.name != 'T']
308
  leaderboard_df_filtered = select_columns(leaderboard_df, initial_columns)
309
+
310
  # Model列のリンク形式を修正
311
  leaderboard_df_filtered['Model'] = leaderboard_df_filtered['Model'].apply(
312
  lambda x: f'[{x.split(">")[-2].split("<")[0]}]({x.split("href=")[1].split(chr(34))[1]})' if isinstance(x, str) and 'href=' in x else x
313
  )
314
+
315
  # 数値データを文字列に変換
316
  for col in leaderboard_df_filtered.columns:
317
  if col not in ['T', 'Model']:
318
  leaderboard_df_filtered[col] = leaderboard_df_filtered[col].astype(str)
319
+
320
  # DataFrameコンポーネントの初期化
321
  leaderboard_table = gr.components.Dataframe(
322
  value=leaderboard_df_filtered,
 
326
  interactive=False,
327
  visible=True
328
  )
329
+
330
  # Dummy leaderboard for handling the case when the user uses backspace key
331
  hidden_leaderboard_table_for_search = gr.components.Dataframe(
332
  value=original_df[COLS],
 
373
  )
374
  # Check query parameter once at startup and update search bar + hidden component
375
  demo.load(load_query, inputs=[], outputs=[search_bar, hidden_search_bar])
376
+
377
  for selector in [shown_columns, filter_columns_type, filter_columns_precision, filter_columns_size, filter_columns_add_special_tokens, filter_columns_num_few_shots, deleted_models_visibility, merged_models_visibility, flagged_models_visibility]:
378
  selector.change(
379
  update_table,
 
517
  scheduler = BackgroundScheduler()
518
  scheduler.add_job(restart_space, "interval", seconds=1800)
519
  scheduler.start()
520
+ demo.queue(default_concurrency_limit=40).launch()