lukehinds commited on
Commit
7c23313
·
1 Parent(s): d27084a

Resolve TypeError when processing evaluation queue data

Browse files
Files changed (1) hide show
  1. src/populate.py +21 -12
src/populate.py CHANGED
@@ -12,7 +12,7 @@ def get_leaderboard_df(results_path: str, requests_path: str, cols: list, benchm
12
  print(f"Getting raw eval results from {results_path} and {requests_path}")
13
  raw_data = get_raw_eval_results(results_path, requests_path)
14
  print(f"Got {len(raw_data)} raw eval results")
15
-
16
  if not raw_data:
17
  print("No raw data found!")
18
  return pd.DataFrame(columns=cols)
@@ -65,17 +65,15 @@ def get_evaluation_queue_df(save_path: str, cols: list) -> list[pd.DataFrame]:
65
  with open(file_path) as fp:
66
  data = json.load(fp)
67
 
68
- # Create a new dict with the required column names
69
- formatted_data = {
70
- "model": make_clickable_model(data["model"]),
71
- "revision": data.get("revision", "main"),
72
- "private": data.get("private", False),
73
- "precision": data.get("precision", ""),
74
- "weight_type": data.get("weight_type", ""),
75
- "status": data.get("status", "")
76
- }
77
-
78
- all_evals.append(formatted_data)
79
 
80
  print(f"Found {len(all_evals)} total eval requests")
81
  pending_list = [e for e in all_evals if e["status"] in ["PENDING", "RERUN"]]
@@ -88,3 +86,14 @@ def get_evaluation_queue_df(save_path: str, cols: list) -> list[pd.DataFrame]:
88
  df_running = pd.DataFrame.from_records(running_list, columns=cols)
89
  df_finished = pd.DataFrame.from_records(finished_list, columns=cols)
90
  return df_finished[cols], df_running[cols], df_pending[cols]
 
 
 
 
 
 
 
 
 
 
 
 
12
  print(f"Getting raw eval results from {results_path} and {requests_path}")
13
  raw_data = get_raw_eval_results(results_path, requests_path)
14
  print(f"Got {len(raw_data)} raw eval results")
15
+
16
  if not raw_data:
17
  print("No raw data found!")
18
  return pd.DataFrame(columns=cols)
 
65
  with open(file_path) as fp:
66
  data = json.load(fp)
67
 
68
+ # Check if data is a list (multiple requests in one file)
69
+ if isinstance(data, list):
70
+ for item in data:
71
+ formatted_data = format_eval_data(item)
72
+ all_evals.append(formatted_data)
73
+ else:
74
+ # Single request in the file
75
+ formatted_data = format_eval_data(data)
76
+ all_evals.append(formatted_data)
 
 
77
 
78
  print(f"Found {len(all_evals)} total eval requests")
79
  pending_list = [e for e in all_evals if e["status"] in ["PENDING", "RERUN"]]
 
86
  df_running = pd.DataFrame.from_records(running_list, columns=cols)
87
  df_finished = pd.DataFrame.from_records(finished_list, columns=cols)
88
  return df_finished[cols], df_running[cols], df_pending[cols]
89
+
90
+ def format_eval_data(data: dict) -> dict:
91
+ """Format the evaluation data into the required structure"""
92
+ return {
93
+ "model": make_clickable_model(data.get("model", "")),
94
+ "revision": data.get("revision", "main"),
95
+ "private": data.get("private", False),
96
+ "precision": data.get("precision", ""),
97
+ "weight_type": data.get("weight_type", ""),
98
+ "status": data.get("status", "")
99
+ }