lukehinds commited on
Commit
c6141e9
·
1 Parent(s): fb96556

Add missing datetime import:

Browse files
Files changed (1) hide show
  1. app.py +23 -22
app.py CHANGED
@@ -6,6 +6,7 @@ import pandas as pd
6
  import os
7
  import logging
8
  import json
 
9
 
10
  from src.core.evaluation import EvaluationManager, EvaluationRequest
11
  from src.core.queue_manager import QueueManager
@@ -31,13 +32,13 @@ from src.display.utils import (
31
  Precision
32
  )
33
  from src.envs import (
34
- API,
35
  CACHE_PATH,
36
- EVAL_REQUESTS_PATH,
37
- EVAL_RESULTS_PATH,
38
- QUEUE_REPO,
39
- REPO_ID,
40
- RESULTS_REPO,
41
  TOKEN
42
  )
43
  from src.populate import get_evaluation_queue_df, get_leaderboard_df
@@ -120,7 +121,7 @@ def process_evaluation_queue():
120
  if not request:
121
  logger.info("No more requests in the queue")
122
  break
123
-
124
  try:
125
  logger.info(f"Processing request for model: {request.model_id}")
126
  # Convert queue request to evaluation request
@@ -131,20 +132,20 @@ def process_evaluation_queue():
131
  weight_type="Safetensors",
132
  submitted_time=request.timestamp
133
  )
134
-
135
  # Run evaluation
136
  results = evaluation_manager.run_evaluation(eval_request)
137
  logger.info(f"Evaluation complete for {request.model_id}")
138
-
139
  # Save results to stacklok/results
140
  save_results_to_repo(results, RESULTS_REPO)
141
-
142
  # Mark request as complete
143
  queue_manager.mark_complete(request.request_id)
144
-
145
  # Update leaderboard
146
  update_leaderboard()
147
-
148
  except Exception as e:
149
  logger.error(f"Evaluation failed for {request.model_id}: {str(e)}", exc_info=True)
150
  # Move failed request back to pending queue
@@ -159,10 +160,10 @@ def save_results_to_repo(results, repo):
159
  api = HfApi()
160
  model_id = results['model_id'].replace('/', '_')
161
  filename = f"{model_id}_results.json"
162
-
163
  # Convert results to JSON string
164
  json_results = json.dumps(results, indent=2)
165
-
166
  # Save results to the repository
167
  api.upload_file(
168
  path_or_fileobj=json_results.encode(),
@@ -171,7 +172,7 @@ def save_results_to_repo(results, repo):
171
  repo_type="dataset",
172
  token=TOKEN
173
  )
174
-
175
  logger.info(f"Saved results for {results['model_id']} to {repo}/{filename}")
176
  except Exception as e:
177
  logger.error(f"Failed to save results to {repo}: {str(e)}", exc_info=True)
@@ -211,7 +212,7 @@ def init_leaderboard(df):
211
 
212
  # Select only the columns we want to display
213
  df = df[COLS]
214
-
215
  logger.info(f"Final leaderboard columns: {df.columns.tolist()}")
216
  logger.debug(f"Leaderboard data:\n{df}")
217
 
@@ -339,7 +340,7 @@ with demo:
339
  """Handle new model submission."""
340
  try:
341
  logger.info(f"New submission received for {model}")
342
-
343
  # Prepare request data
344
  request_data = {
345
  "model_id": model,
@@ -351,7 +352,7 @@ with demo:
351
  "status": "PENDING",
352
  "timestamp": datetime.now().isoformat()
353
  }
354
-
355
  # Add to queue in QUEUE_REPO
356
  api = HfApi()
357
  filename = f"{model.replace('/', '_')}_request.json"
@@ -362,15 +363,15 @@ with demo:
362
  repo_type="dataset",
363
  token=TOKEN
364
  )
365
-
366
  logger.info(f"Added request for {model} to {QUEUE_REPO}")
367
-
368
  # Get updated pending evaluations
369
  _, _, pending_eval_queue_df = get_evaluation_queue_df(EVAL_REQUESTS_PATH, EVAL_COLS)
370
-
371
  # Start processing queue in background
372
  scheduler.add_job(process_evaluation_queue, id='process_queue_job', replace_existing=True)
373
-
374
  return gr.Markdown("Submission successful! Your model has been added to the evaluation queue. Please check the 'Pending Evaluation Queue' for status updates."), pending_eval_queue_df
375
  except Exception as e:
376
  logger.error(f"Submission failed: {str(e)}", exc_info=True)
 
6
  import os
7
  import logging
8
  import json
9
+ from datetime import datetime
10
 
11
  from src.core.evaluation import EvaluationManager, EvaluationRequest
12
  from src.core.queue_manager import QueueManager
 
32
  Precision
33
  )
34
  from src.envs import (
35
+ API,
36
  CACHE_PATH,
37
+ EVAL_REQUESTS_PATH,
38
+ EVAL_RESULTS_PATH,
39
+ QUEUE_REPO,
40
+ REPO_ID,
41
+ RESULTS_REPO,
42
  TOKEN
43
  )
44
  from src.populate import get_evaluation_queue_df, get_leaderboard_df
 
121
  if not request:
122
  logger.info("No more requests in the queue")
123
  break
124
+
125
  try:
126
  logger.info(f"Processing request for model: {request.model_id}")
127
  # Convert queue request to evaluation request
 
132
  weight_type="Safetensors",
133
  submitted_time=request.timestamp
134
  )
135
+
136
  # Run evaluation
137
  results = evaluation_manager.run_evaluation(eval_request)
138
  logger.info(f"Evaluation complete for {request.model_id}")
139
+
140
  # Save results to stacklok/results
141
  save_results_to_repo(results, RESULTS_REPO)
142
+
143
  # Mark request as complete
144
  queue_manager.mark_complete(request.request_id)
145
+
146
  # Update leaderboard
147
  update_leaderboard()
148
+
149
  except Exception as e:
150
  logger.error(f"Evaluation failed for {request.model_id}: {str(e)}", exc_info=True)
151
  # Move failed request back to pending queue
 
160
  api = HfApi()
161
  model_id = results['model_id'].replace('/', '_')
162
  filename = f"{model_id}_results.json"
163
+
164
  # Convert results to JSON string
165
  json_results = json.dumps(results, indent=2)
166
+
167
  # Save results to the repository
168
  api.upload_file(
169
  path_or_fileobj=json_results.encode(),
 
172
  repo_type="dataset",
173
  token=TOKEN
174
  )
175
+
176
  logger.info(f"Saved results for {results['model_id']} to {repo}/{filename}")
177
  except Exception as e:
178
  logger.error(f"Failed to save results to {repo}: {str(e)}", exc_info=True)
 
212
 
213
  # Select only the columns we want to display
214
  df = df[COLS]
215
+
216
  logger.info(f"Final leaderboard columns: {df.columns.tolist()}")
217
  logger.debug(f"Leaderboard data:\n{df}")
218
 
 
340
  """Handle new model submission."""
341
  try:
342
  logger.info(f"New submission received for {model}")
343
+
344
  # Prepare request data
345
  request_data = {
346
  "model_id": model,
 
352
  "status": "PENDING",
353
  "timestamp": datetime.now().isoformat()
354
  }
355
+
356
  # Add to queue in QUEUE_REPO
357
  api = HfApi()
358
  filename = f"{model.replace('/', '_')}_request.json"
 
363
  repo_type="dataset",
364
  token=TOKEN
365
  )
366
+
367
  logger.info(f"Added request for {model} to {QUEUE_REPO}")
368
+
369
  # Get updated pending evaluations
370
  _, _, pending_eval_queue_df = get_evaluation_queue_df(EVAL_REQUESTS_PATH, EVAL_COLS)
371
+
372
  # Start processing queue in background
373
  scheduler.add_job(process_evaluation_queue, id='process_queue_job', replace_existing=True)
374
+
375
  return gr.Markdown("Submission successful! Your model has been added to the evaluation queue. Please check the 'Pending Evaluation Queue' for status updates."), pending_eval_queue_df
376
  except Exception as e:
377
  logger.error(f"Submission failed: {str(e)}", exc_info=True)