Jason commited on
Commit
a530bd4
·
unverified ·
1 Parent(s): dbeca22

put submitter info in contact info commits for convenience (#86)

Browse files
Files changed (1) hide show
  1. submission.py +22 -16
submission.py CHANGED
@@ -24,7 +24,7 @@ from agenteval import (
24
  upload_folder_to_hf,
25
  )
26
  from agenteval.leaderboard.models import LeaderboardSubmission
27
- from agenteval.leaderboard.upload import sanitize_path_component
28
  from datasets import Dataset, DatasetDict, VerificationMode, load_dataset
29
  from datasets.data_files import EmptyDatasetError
30
  from huggingface_hub import HfApi
@@ -65,30 +65,36 @@ def try_load_dataset_submission(*args, **kwargs) -> DatasetDict: # Renamed to av
65
  except DataFilesNotFoundError:
66
  return DatasetDict()
67
 
68
- def checked_upload_folder(
69
- api_hf: HfApi, # Renamed to avoid conflict with global api
70
  folder_path: str,
71
- repo_id: str,
72
- config_name_ul: str, # Renamed
73
- split_ul: str, # Renamed
74
- submission_name_ul: str, # Renamed
75
  ) -> str:
76
  total = 0
77
  for root, _, files in os.walk(folder_path):
78
- for f_ul in files: # Renamed
79
  total += os.path.getsize(os.path.join(root, f_ul))
80
  if total > MAX_UPLOAD_BYTES:
81
  raise ValueError(
82
- f"Upload too large: exceeds {MAX_UPLOAD_BYTES // (1024**2)} MB limit."
83
  )
84
- return upload_folder_to_hf(
85
- api=api_hf, # Use renamed parameter
 
 
 
 
 
86
  folder_path=folder_path,
87
- repo_id=repo_id,
88
- config_name=config_name_ul,
89
- split=split_ul,
90
- submission_name=submission_name_ul,
 
 
91
  )
 
92
 
93
  def show_loading_spinner():
94
  return gr.update(visible=True)
@@ -251,7 +257,7 @@ def add_new_eval(
251
 
252
  logger.info(f"agent {agent_name}: Upload raw (unscored) submission files")
253
  try:
254
- checked_upload_folder(api, extracted_dir, SUBMISSION_DATASET, CONFIG_NAME, val_or_test, submission_name)
255
  except ValueError as e:
256
  return (
257
  format_error(str(e)), # error_message
 
24
  upload_folder_to_hf,
25
  )
26
  from agenteval.leaderboard.models import LeaderboardSubmission
27
+ from agenteval.leaderboard.upload import sanitize_path_component, _validate_path_component
28
  from datasets import Dataset, DatasetDict, VerificationMode, load_dataset
29
  from datasets.data_files import EmptyDatasetError
30
  from huggingface_hub import HfApi
 
65
  except DataFilesNotFoundError:
66
  return DatasetDict()
67
 
68
+ def upload_submission(
 
69
  folder_path: str,
70
+ split: str,
71
+ submission_name: str,
72
+ hf_username: str,
 
73
  ) -> str:
74
  total = 0
75
  for root, _, files in os.walk(folder_path):
76
+ for f_ul in files:
77
  total += os.path.getsize(os.path.join(root, f_ul))
78
  if total > MAX_UPLOAD_BYTES:
79
  raise ValueError(
80
+ f"Upload too large: exceeds {MAX_UPLOAD_BYTES // 1000000} MB limit."
81
  )
82
+
83
+ # This is a copy of agenteval.upload.upload_folder_to_hf so we can use other api params.
84
+ # TODO in agenteval: When you mildly wrap another library call, always pass *args, **kwargs.
85
+ _validate_path_component(CONFIG_NAME, "config_name")
86
+ _validate_path_component(split, "split")
87
+ _validate_path_component(submission_name, "submission_name")
88
+ api.upload_folder(
89
  folder_path=folder_path,
90
+ path_in_repo=f"{CONFIG_NAME}/{split}/{submission_name}",
91
+ repo_id=SUBMISSION_DATASET,
92
+ repo_type="dataset",
93
+ # Reminder: This may be going into a public dataset.
94
+ # Don't put private information in commit message such as email.
95
+ commit_message=f'Submission "{submission_name}" to split "{split}" from hf user "{hf_username}"',
96
  )
97
+ return f"hf://datasets/{SUBMISSION_DATASET}/{CONFIG_NAME}/{split}/{submission_name}"
98
 
99
  def show_loading_spinner():
100
  return gr.update(visible=True)
 
257
 
258
  logger.info(f"agent {agent_name}: Upload raw (unscored) submission files")
259
  try:
260
+ upload_submission(extracted_dir, val_or_test, submission_name, profile.username)
261
  except ValueError as e:
262
  return (
263
  format_error(str(e)), # error_message