Spaces:
Running
Running
Jason
commited on
put submitter info in contact info commits for convenience (#86)
Browse files- 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
|
| 69 |
-
api_hf: HfApi, # Renamed to avoid conflict with global api
|
| 70 |
folder_path: str,
|
| 71 |
-
|
| 72 |
-
|
| 73 |
-
|
| 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:
|
| 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 //
|
| 83 |
)
|
| 84 |
-
|
| 85 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 86 |
folder_path=folder_path,
|
| 87 |
-
|
| 88 |
-
|
| 89 |
-
|
| 90 |
-
|
|
|
|
|
|
|
| 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 |
-
|
| 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
|