EricMingle69's picture
update agent/submit.py
950c22e verified
Raw History Blame Contribute Delete
1.36 kB
"""把某个模型的答案提交到课程评分 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])