lixuejing commited on
Commit
13a05ac
·
1 Parent(s): d0a0565
Files changed (1) hide show
  1. app.py +53 -49
app.py CHANGED
@@ -103,13 +103,11 @@ def update_table(
103
  hidden_df: pd.DataFrame,
104
  columns: list,
105
  query: str,
106
- allcolumns: list,
107
- allcols: list,
108
  ):
109
  print("query", query)
110
  #filtered_df = filter_models(df=hidden_df, type_query=type_query, size_query=size_query, precision_query=precision_query, hide_models=hide_models)
111
- filtered_df = filter_queries(query, hidden_df,allcolums)
112
- df = select_columns(filtered_df, columns, allcolumns, allcols)
113
  return df
114
 
115
 
@@ -122,19 +120,19 @@ def search_table(df: pd.DataFrame, query: str) -> pd.DataFrame:
122
  return df[(df[AutoEvalColumn.dummy.name].str.contains(query, case=False))]
123
 
124
 
125
- def select_columns(df: pd.DataFrame, columns: list, allcolumns=AutoEvalColumn, ALLCOLS=COLS) -> pd.DataFrame:
126
- always_here_cols = [c.name for c in fields(allcolumns) if c.never_hidden]
127
- dummy_col = [allcolumns.dummy.name]
128
  #AutoEvalColumn.model_type_symbol.name,
129
  #AutoEvalColumn.model.name,
130
  # We use COLS to maintain sorting
131
  filtered_df = df[
132
- always_here_cols + [c for c in ALLCOLS if c in df.columns and c in columns] + dummy_col
133
  ]
134
  return filtered_df
135
 
136
 
137
- def filter_queries(query: str, filtered_df: pd.DataFrame, allcolumns):
138
  """Added by Abishek"""
139
  final_df = []
140
  if query != "":
@@ -148,11 +146,53 @@ def filter_queries(query: str, filtered_df: pd.DataFrame, allcolumns):
148
  if len(final_df) > 0:
149
  filtered_df = pd.concat(final_df)
150
  filtered_df = filtered_df.drop_duplicates(
151
- subset=[allcolumns.model.name, allcolumns.precision.name, allcolumns.revision.name]
152
  )
153
 
154
  return filtered_df
155
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
156
 
157
  def filter_models(
158
  df: pd.DataFrame, type_query: list, size_query: list, precision_query: list, hide_models: list
@@ -284,13 +324,7 @@ with demo:
284
  [
285
  hidden_leaderboard_table_for_search,
286
  shown_columns,
287
- #filter_columns_type,
288
- #filter_columns_precision,
289
- #filter_columns_size,
290
- #hide_models,
291
  search_bar,
292
- AutoEvalColumn,
293
- COLS,
294
  ],
295
  leaderboard_table,
296
  )
@@ -302,13 +336,7 @@ with demo:
302
  [
303
  hidden_leaderboard_table_for_search,
304
  shown_columns,
305
- #filter_columns_type,
306
- #filter_columns_precision,
307
- #filter_columns_size,
308
- #hide_models,
309
  search_bar,
310
- AutoEvalColumn,
311
- COLS,
312
  ],
313
  leaderboard_table,
314
  )
@@ -322,13 +350,7 @@ with demo:
322
  [
323
  hidden_leaderboard_table_for_search,
324
  shown_columns,
325
- #filter_columns_type,
326
- #filter_columns_precision,
327
- #filter_columns_size,
328
- #hide_models,
329
  search_bar,
330
- AutoEvalColumn,
331
- COLS,
332
  ],
333
  leaderboard_table,
334
  queue=True,
@@ -415,17 +437,11 @@ with demo:
415
  visible=False,
416
  )
417
  search_bar.submit(
418
- update_table,
419
  [
420
  hidden_leaderboard_table_for_search,
421
  shown_columns,
422
- #filter_columns_type,
423
- #filter_columns_precision,
424
- #filter_columns_size,
425
- #hide_models,
426
  search_bar,
427
- AutoEvalColumnQuota,
428
- QUOTACOLS,
429
  ],
430
  leaderboard_table,
431
  )
@@ -433,17 +449,11 @@ with demo:
433
  # Define a hidden component that will trigger a reload only if a query parameter has been set
434
  hidden_search_bar = gr.Textbox(value="", visible=False)
435
  hidden_search_bar.change(
436
- update_table,
437
  [
438
  hidden_leaderboard_table_for_search,
439
  shown_columns,
440
- #filter_columns_type,
441
- #filter_columns_precision,
442
- #filter_columns_size,
443
- #hide_models,
444
  search_bar,
445
- AutoEvalColumnQuota,
446
- QUOTACOLS,
447
  ],
448
  leaderboard_table,
449
  )
@@ -453,17 +463,11 @@ with demo:
453
  #for selector in [shown_columns, filter_columns_type, filter_columns_precision, filter_columns_size, hide_models]:
454
  for selector in [shown_columns]:#, filter_columns_type, filter_columns_precision, filter_columns_size]: #, hide_models]:
455
  selector.change(
456
- update_table,
457
  [
458
  hidden_leaderboard_table_for_search,
459
  shown_columns,
460
- #filter_columns_type,
461
- #filter_columns_precision,
462
- #filter_columns_size,
463
- #hide_models,
464
  search_bar,
465
- AutoEvalColumnQuota,
466
- QUOTACOLS,
467
  ],
468
  leaderboard_table,
469
  queue=True,
 
103
  hidden_df: pd.DataFrame,
104
  columns: list,
105
  query: str,
 
 
106
  ):
107
  print("query", query)
108
  #filtered_df = filter_models(df=hidden_df, type_query=type_query, size_query=size_query, precision_query=precision_query, hide_models=hide_models)
109
+ filtered_df = filter_queries(query, hidden_df)
110
+ df = select_columns(filtered_df, columns)
111
  return df
112
 
113
 
 
120
  return df[(df[AutoEvalColumn.dummy.name].str.contains(query, case=False))]
121
 
122
 
123
+ def select_columns(df: pd.DataFrame, columns: list) -> pd.DataFrame:
124
+ always_here_cols = [c.name for c in fields(AutoEvalColumn) if c.never_hidden]
125
+ dummy_col = [AutoEvalColumn.dummy.name]
126
  #AutoEvalColumn.model_type_symbol.name,
127
  #AutoEvalColumn.model.name,
128
  # We use COLS to maintain sorting
129
  filtered_df = df[
130
+ always_here_cols + [c for c in COLS if c in df.columns and c in columns] + dummy_col
131
  ]
132
  return filtered_df
133
 
134
 
135
+ def filter_queries(query: str, filtered_df: pd.DataFrame):
136
  """Added by Abishek"""
137
  final_df = []
138
  if query != "":
 
146
  if len(final_df) > 0:
147
  filtered_df = pd.concat(final_df)
148
  filtered_df = filtered_df.drop_duplicates(
149
+ subset=[AutoEvalColumn.model.name, AutoEvalColumn.precision.name, AutoEvalColumn.revision.name]
150
  )
151
 
152
  return filtered_df
153
 
154
+ def update_table_q(
155
+ hidden_df: pd.DataFrame,
156
+ columns: list,
157
+ query: str,
158
+ ):
159
+ filtered_df = filter_queriesq(query, hidden_df)
160
+ df = select_columnsq(filtered_df, columns)
161
+ return df
162
+
163
+
164
+ def search_tableq(df: pd.DataFrame, query: str) -> pd.DataFrame:
165
+ return df[(df[AutoEvalColumnQuota.dummy.name].str.contains(query, case=False))]
166
+
167
+
168
+ def select_columnsq(df: pd.DataFrame, columns: list) -> pd.DataFrame:
169
+ always_here_cols = [c.name for c in fields(AutoEvalColumnQuota) if c.never_hidden]
170
+ dummy_col = [AutoEvalColumnQuota.dummy.name]
171
+ # We use COLS to maintain sorting
172
+ filtered_df = df[
173
+ always_here_cols + [c for c in QUOTACOLS if c in df.columns and c in columns] + dummy_col
174
+ ]
175
+ return filtered_df
176
+
177
+
178
+ def filter_queriesq(query: str, filtered_df: pd.DataFrame):
179
+ """Added by Abishek"""
180
+ final_df = []
181
+ if query != "":
182
+ queries = [q.strip() for q in query.split(";")]
183
+ for _q in queries:
184
+ _q = _q.strip()
185
+ if _q != "":
186
+ temp_filtered_df = search_tableq(filtered_df, _q)
187
+ if len(temp_filtered_df) > 0:
188
+ final_df.append(temp_filtered_df)
189
+ if len(final_df) > 0:
190
+ filtered_df = pd.concat(final_df)
191
+ filtered_df = filtered_df.drop_duplicates(
192
+ subset=[AutoEvalColumnQuota.model.name, AutoEvalColumnQuota.precision.name, AutoEvalColumnQuota.revision.name]
193
+ )
194
+
195
+ return filtered_df
196
 
197
  def filter_models(
198
  df: pd.DataFrame, type_query: list, size_query: list, precision_query: list, hide_models: list
 
324
  [
325
  hidden_leaderboard_table_for_search,
326
  shown_columns,
 
 
 
 
327
  search_bar,
 
 
328
  ],
329
  leaderboard_table,
330
  )
 
336
  [
337
  hidden_leaderboard_table_for_search,
338
  shown_columns,
 
 
 
 
339
  search_bar,
 
 
340
  ],
341
  leaderboard_table,
342
  )
 
350
  [
351
  hidden_leaderboard_table_for_search,
352
  shown_columns,
 
 
 
 
353
  search_bar,
 
 
354
  ],
355
  leaderboard_table,
356
  queue=True,
 
437
  visible=False,
438
  )
439
  search_bar.submit(
440
+ update_table_q,
441
  [
442
  hidden_leaderboard_table_for_search,
443
  shown_columns,
 
 
 
 
444
  search_bar,
 
 
445
  ],
446
  leaderboard_table,
447
  )
 
449
  # Define a hidden component that will trigger a reload only if a query parameter has been set
450
  hidden_search_bar = gr.Textbox(value="", visible=False)
451
  hidden_search_bar.change(
452
+ update_table_q,
453
  [
454
  hidden_leaderboard_table_for_search,
455
  shown_columns,
 
 
 
 
456
  search_bar,
 
 
457
  ],
458
  leaderboard_table,
459
  )
 
463
  #for selector in [shown_columns, filter_columns_type, filter_columns_precision, filter_columns_size, hide_models]:
464
  for selector in [shown_columns]:#, filter_columns_type, filter_columns_precision, filter_columns_size]: #, hide_models]:
465
  selector.change(
466
+ update_table_q,
467
  [
468
  hidden_leaderboard_table_for_search,
469
  shown_columns,
 
 
 
 
470
  search_bar,
 
 
471
  ],
472
  leaderboard_table,
473
  queue=True,