Spaces:
Sleeping
Sleeping
| import gradio as gr | |
| import os | |
| from postpartum_agent import PostpartumResearchAgent | |
| # Hardcoded GAIA-style test questions | |
| gaia_tasks = [ | |
| {"task_id": "q1", "question": "List all vegetables from: milk, eggs, flour, whole bean coffee, Oreos, sweet potatoes, fresh basil, plums, green beans, rice, corn, bell pepper, whole allspice, acorns, broccoli, celery, zucchini, lettuce, peanuts."}, | |
| {"task_id": "q2", "question": "What is postpartum depression and how should it be addressed?"}, | |
| {"task_id": "q3", "question": "Give a short tip on how to handle postpartum fatigue."}, | |
| {"task_id": "q4", "question": "Name a safe exercise for postpartum recovery."}, | |
| {"task_id": "q5", "question": "What should a mom eat to regain energy after childbirth?"} | |
| ] | |
| # Instantiate your agent | |
| agent = PostpartumResearchAgent() | |
| def answer_question(question): | |
| return agent.run(question) | |
| def submit_to_gaia(profile: gr.OAuthProfile): | |
| if profile is None: | |
| return "β Please log in to Hugging Face first!" | |
| username = profile.username | |
| # rest of your logic... | |
| space_id = os.getenv("SPACE_ID") or "your-username/your-space" | |
| agent_code = f"https://huggingface.co/spaces/{space_id}/tree/main" | |
| answers = [] | |
| for q in gaia_tasks: | |
| task_id = q["task_id"] | |
| question_text = q["question"] | |
| result = agent.run(question_text) | |
| cleaned = (result or "").strip() | |
| answers.append({ | |
| "task_id": task_id, | |
| "submitted_answer": cleaned | |
| }) | |
| payload = { | |
| "username": username, | |
| "agent_code": agent_code, | |
| "answers": answers | |
| } | |
| # For testing, just show the payload instead of POSTing | |
| preview = "\n".join([f"{a['task_id']}: {a['submitted_answer']}" for a in answers]) | |
| return f"""β Submission complete! | |
| Username: {username} | |
| Tasks answered: {len(answers)} | |
| Preview of answers: | |
| {preview} | |
| Agent code URL: {agent_code} | |
| """ | |
| with gr.Blocks() as demo: | |
| gr.Markdown("# π€± Postpartum Research Agent with GAIA Submission") | |
| with gr.Row(): | |
| with gr.Column(): | |
| question = gr.Textbox(label="Ask a Postpartum Question") | |
| answer = gr.Textbox(label="Agent Answer", lines=6) | |
| ask_btn = gr.Button("Get Answer") | |
| with gr.Column(): | |
| gr.Markdown("### π Submit Your Agent to GAIA Leaderboard") | |
| gr.LoginButton() # β Adds login button to the UI | |
| submit_output = gr.Textbox(label="Submission Result", lines=10) | |
| submit_btn = gr.Button("Submit to GAIA") | |
| ask_btn.click(fn=answer_question, inputs=question, outputs=answer) | |
| submit_btn.click(fn=submit_to_gaia, outputs=submit_output) | |
| demo.launch() | |