"""把某个模型的答案提交到课程评分 API。 用法:python agent/submit.py claude-opus-5-5__high 记录每次提交的返回到 results/submissions.jsonl。 """ import json import sys import urllib.request from datetime import datetime from pathlib import Path ROOT = Path(__file__).resolve().parent.parent API = "https://agents-course-unit4-scoring.hf.space/submit" USERNAME = "EricMingle69" AGENT_CODE = "https://huggingface.co/spaces/EricMingle69/gaia-claude-code-agent/tree/main" def main(tag): answers = json.loads((ROOT / "results" / f"answers__{tag}.json").read_text()) payload = { "username": USERNAME, "agent_code": AGENT_CODE, "answers": [{"task_id": k, "submitted_answer": v or ""} for k, v in answers.items()], } req = urllib.request.Request(API, data=json.dumps(payload).encode(), headers={"Content-Type": "application/json"}) resp = json.load(urllib.request.urlopen(req, timeout=120)) log = {"tag": tag, "at": datetime.now().isoformat(timespec="seconds"), "n_answers": len(answers), "response": resp} with (ROOT / "results" / "submissions.jsonl").open("a") as f: f.write(json.dumps(log, ensure_ascii=False) + "\n") print(json.dumps(resp, ensure_ascii=False, indent=1)) if __name__ == "__main__": main(sys.argv[1])