Download local_agent/submit_v2.py from semink1224/Final_Assignment_Template: direct link, hf CLI and curl.
- Browser
- Download file 1.19 kB
-
https://huggingface.co/spaces/semink1224/Final_Assignment_Template/resolve/main/local_agent/submit_v2.py
- Command line
-
hf download hf://spaces/semink1224/Final_Assignment_Template/local_agent/submit_v2.py
-
curl -L -o submit_v2.py https://huggingface.co/spaces/semink1224/Final_Assignment_Template/resolve/main/local_agent/submit_v2.py
1.19 kB
| import json | |
| import argparse | |
| from pathlib import Path | |
| import requests | |
| from agent import ROOT, API | |
| from run import save | |
| def main(): | |
| parser = argparse.ArgumentParser() | |
| parser.add_argument('--preview',action='store_true',help='Save submission JSON without sending it') | |
| args = parser.parse_args() | |
| config = json.loads((ROOT/'config.json').read_text(encoding='utf-8-sig')) | |
| records = json.loads((ROOT/'results/v2/answers.json').read_text(encoding='utf-8')) | |
| answers = [{k:x[k] for k in ('task_id','submitted_answer')} for x in records | |
| if not x.get('error') and x.get('submitted_answer')] | |
| if not answers: | |
| raise ValueError('No answers to submit') | |
| payload = {'username':config['username'],'agent_code':config['agent_code'],'answers':answers} | |
| save(ROOT/'results/v2/submission.json',payload) | |
| if args.preview: | |
| print('Prepared',len(answers),'answers for',config['username'],'without submitting') | |
| return | |
| response = requests.post(API+'/submit',json=payload,timeout=120) | |
| response.raise_for_status() | |
| save(ROOT/'results/v2/score.json',response.json()) | |
| print(response.json()) | |
| if __name__=='__main__': | |
| main() | |