MohamedRashad commited on
Commit
da222cf
·
1 Parent(s): 106ab3e

Refactor search_leaderboard for improved efficiency and clarity in filtering results

Browse files
Files changed (1) hide show
  1. app.py +10 -12
app.py CHANGED
@@ -44,19 +44,15 @@ retrieval_df = None
44
  reranking_df = None
45
 
46
  def search_leaderboard(df, model_name, columns_to_show, threshold=95):
47
- if len(model_name.strip()) == 0:
48
  return df.loc[:, columns_to_show]
49
-
50
  def calculate_similarity(row):
51
- similarity = fuzz.partial_ratio(model_name.lower(), row["Model"].lower())
52
- return similarity if similarity >= threshold else 0
53
-
54
  filtered_df = df.copy()
55
  filtered_df["similarity"] = filtered_df.apply(calculate_similarity, axis=1)
56
- filtered_df = filtered_df[filtered_df["similarity"] > 0].sort_values('similarity', ascending=False)
57
- filtered_df = filtered_df.drop('similarity', axis=1)
58
- filtered_df = filtered_df.loc[:, columns_to_show]
59
-
60
  return filtered_df
61
 
62
  def retrieval_search_leaderboard(model_name, columns_to_show):
@@ -72,10 +68,12 @@ def main():
72
  # Prepare retrieval dataframe
73
  retrieval_df = load_retrieval_results(prepare_for_display=True)
74
  retrieval_columns_to_show = ["Model", "Web Search Dataset (Overall Score)", "Model Size (in Millions)", "Embedding Dimension", "Max Tokens", "Num Likes"]
 
75
 
76
  # Prepare reranking dataframe
77
  reranking_df = load_reranking_results(prepare_for_display=True)
78
  reranking_columns_to_show = reranking_df.columns.tolist()
 
79
 
80
  with gr.Blocks() as demo:
81
  gr.HTML(HEADER)
@@ -92,7 +90,7 @@ def main():
92
  )
93
  retrieval_columns_to_show_input = gr.CheckboxGroup(
94
  label="Columns to Show",
95
- choices=retrieval_df.columns.tolist(),
96
  value=retrieval_columns_to_show,
97
  scale=4
98
  )
@@ -134,7 +132,7 @@ def main():
134
  )
135
  reranking_columns_to_show_input = gr.CheckboxGroup(
136
  label="Columns to Show",
137
- choices=reranking_df.columns.tolist(),
138
  value=reranking_columns_to_show,
139
  scale=4
140
  )
@@ -144,7 +142,7 @@ def main():
144
  datatype="markdown",
145
  wrap=False,
146
  show_fullscreen_button=True,
147
- interactive=False
148
  )
149
 
150
  # Submit the search box and the leaderboard
 
44
  reranking_df = None
45
 
46
  def search_leaderboard(df, model_name, columns_to_show, threshold=95):
47
+ if not model_name.strip():
48
  return df.loc[:, columns_to_show]
49
+ search_name = model_name.lower() # compute once for efficiency
50
  def calculate_similarity(row):
51
+ return fuzz.partial_ratio(search_name, row["Model"].lower())
 
 
52
  filtered_df = df.copy()
53
  filtered_df["similarity"] = filtered_df.apply(calculate_similarity, axis=1)
54
+ filtered_df = filtered_df[filtered_df["similarity"] >= threshold].sort_values('similarity', ascending=False)
55
+ filtered_df = filtered_df.drop('similarity', axis=1).loc[:, columns_to_show]
 
 
56
  return filtered_df
57
 
58
  def retrieval_search_leaderboard(model_name, columns_to_show):
 
68
  # Prepare retrieval dataframe
69
  retrieval_df = load_retrieval_results(prepare_for_display=True)
70
  retrieval_columns_to_show = ["Model", "Web Search Dataset (Overall Score)", "Model Size (in Millions)", "Embedding Dimension", "Max Tokens", "Num Likes"]
71
+ retrieval_cols = retrieval_df.columns.tolist() # cache columns
72
 
73
  # Prepare reranking dataframe
74
  reranking_df = load_reranking_results(prepare_for_display=True)
75
  reranking_columns_to_show = reranking_df.columns.tolist()
76
+ reranking_cols = reranking_df.columns.tolist() # cache columns
77
 
78
  with gr.Blocks() as demo:
79
  gr.HTML(HEADER)
 
90
  )
91
  retrieval_columns_to_show_input = gr.CheckboxGroup(
92
  label="Columns to Show",
93
+ choices=retrieval_cols, # use cached list
94
  value=retrieval_columns_to_show,
95
  scale=4
96
  )
 
132
  )
133
  reranking_columns_to_show_input = gr.CheckboxGroup(
134
  label="Columns to Show",
135
+ choices=reranking_cols, # use cached list
136
  value=reranking_columns_to_show,
137
  scale=4
138
  )
 
142
  datatype="markdown",
143
  wrap=False,
144
  show_fullscreen_button=True,
145
+ interactive=False,
146
  )
147
 
148
  # Submit the search box and the leaderboard