Prajwal-K commited on
Commit
4826fba
·
verified ·
1 Parent(s): 2eff0f7

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +31 -3
app.py CHANGED
@@ -25,17 +25,45 @@ class BasicAgent:
25
  if "messages" in result:
26
  return result["messages"][-1].content
27
  return f"Graph returned: {result} (missing 'messages')"
 
 
28
  def run_and_submit_all(profile: gr.OAuthProfile | None):
29
- ...
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
30
  for item in questions_data:
31
  task_id = item.get("task_id", "")
32
  question_text = item.get("question", "")
33
 
34
- # Try direct lookup first
35
  submitted_answer = find_answer_by_task_id(task_id)
36
  if not submitted_answer:
37
  submitted_answer = find_answer_by_question(question_text)
38
  if not submitted_answer:
39
- submitted_answer = agent(question_text) # ← fallback to LLM
40
 
41
  answers_payload.append({"task_id": task_id, "submitted_answer": submitted_answer})
 
 
 
 
 
 
 
 
 
 
 
25
  if "messages" in result:
26
  return result["messages"][-1].content
27
  return f"Graph returned: {result} (missing 'messages')"
28
+
29
+
30
  def run_and_submit_all(profile: gr.OAuthProfile | None):
31
+ # --- Setup ---
32
+ agent = BasicAgent()
33
+ api_url = DEFAULT_API_URL
34
+ questions_url = f"{api_url}/questions"
35
+ submit_url = f"{api_url}/submit"
36
+
37
+ if profile is None:
38
+ return "Please log in to HuggingFace first.", None
39
+
40
+ username = profile.username
41
+ headers = {"Authorization": f"Bearer {os.environ.get('HF_TOKEN', '')}"}
42
+
43
+ # --- Fetch questions ---
44
+ response = requests.get(questions_url, headers=headers)
45
+ questions_data = response.json()
46
+
47
+ answers_payload = []
48
+
49
  for item in questions_data:
50
  task_id = item.get("task_id", "")
51
  question_text = item.get("question", "")
52
 
 
53
  submitted_answer = find_answer_by_task_id(task_id)
54
  if not submitted_answer:
55
  submitted_answer = find_answer_by_question(question_text)
56
  if not submitted_answer:
57
+ submitted_answer = agent(question_text)
58
 
59
  answers_payload.append({"task_id": task_id, "submitted_answer": submitted_answer})
60
+
61
+ # --- Submit ---
62
+ submit_response = requests.post(
63
+ submit_url,
64
+ json={"username": username, "agent_code": f"https://huggingface.co/spaces/{os.environ.get('SPACE_ID', '')}/tree/main", "answers": answers_payload},
65
+ headers=headers
66
+ )
67
+ result = submit_response.json()
68
+ score = result.get("score", "N/A")
69
+ return f"✅ Submitted! Score: {score}", pd.DataFrame(answers_payload)