Spaces:
Build error
Build error
| # import requests | |
| # import pandas as pd | |
| # import gradio as gr | |
| # from agent26042026_RAG_Agent import ask_agent | |
| # from tool_logger_26042026 import save_logs_to_txt, reset_logs | |
| # DEFAULT_API_URL = "https://agents-course-unit4-scoring.hf.space" | |
| # questions = requests.get(f"{DEFAULT_API_URL}/questions").json() | |
| # # ---------- HF EVAL ---------- | |
| # def run_and_submit_all(): | |
| # # [questions] = requests.get(f"{DEFAULT_API_URL}/random-question").json() | |
| # total = len(questions) | |
| # print(f"\nπ Total Questions: {total}\n") | |
| # results = [] | |
| # for idx, item in enumerate(questions, start=1): | |
| # q = item["question"] | |
| # task_id = item["task_id"] | |
| # print(f"\nπ§ Q{idx}/{total}: {q}") | |
| # try: | |
| # ans = ask_agent(q) | |
| # from tool_logger_26042026 import get_logs | |
| # logs = get_logs() | |
| # print("\nπ TOOL TRACE:") | |
| # for log in logs[-3:]: # last 3 tool calls | |
| # print(f"β {log['tool']}") | |
| # except Exception as e: | |
| # ans = f"ERROR: {e}" | |
| # print(f"ans {ans}") | |
| # results.append({ | |
| # "Task ID": task_id, | |
| # "Question": q, | |
| # "Answer": ans | |
| # }) | |
| # df = pd.DataFrame(results) | |
| # return "Run complete β ", df | |
| # print(f"Sample question: {questions[0]['question']}") | |
| # # ---------- SINGLE QUERY ---------- | |
| # # def chat_fn(user_input): | |
| # # task_id, question = questions[11]["task_id"], questions[11]["question"] | |
| # # # return print(task_id, question) | |
| # # ans = ask_agent(question, task_id) | |
| # # from tool_logger_26042026 import get_logs | |
| # # logs = get_logs() | |
| # # print("\nπ TOOL TRACE:") | |
| # # for log in logs[-3:]: # last 3 tool calls | |
| # # print(f"β {log['tool']}") | |
| # # return ans | |
| # def chat_fn(user_input): | |
| # task_id, question = questions[13]["task_id"], questions[13]["question"] | |
| # print(task_id, question) | |
| # ans = ask_agent(question, task_id) | |
| # from tool_logger_26042026 import get_logs | |
| # logs = get_logs() | |
| # print("\nπ TOOL TRACE:") | |
| # for log in logs[-3:]: # last 3 tool calls | |
| # print(f"β {log['tool']}") | |
| # return ans | |
| # def run_eval_pipeline(): | |
| # reset_logs() | |
| # result_text, result_df = run_and_submit_all() | |
| # save_logs_to_txt() | |
| # return result_text, result_df | |
| # # ---------- UI ---------- | |
| # with gr.Blocks() as demo: | |
| # gr.Markdown("# π€ LangGraph Smart Agent") | |
| # with gr.Tab("Chat"): | |
| # inp = gr.Textbox(label="Ask something") | |
| # out = gr.Textbox(label="Answer") | |
| # btn = gr.Button("Ask") | |
| # btn.click(chat_fn, inputs=inp, outputs=out) | |
| # with gr.Tab("HF Evaluation"): | |
| # run_btn = gr.Button("Run Full Evaluation") | |
| # out_text = gr.Textbox() | |
| # out_df = gr.DataFrame() | |
| # run_btn.click( | |
| # run_eval_pipeline, | |
| # outputs=[out_text, out_df], | |
| # ) | |
| # if __name__ == "__main__": | |
| # demo.launch(debug=True) | |
| # /////////////////////////////////////////////////////////////////////////// | |
| import requests | |
| import pandas as pd | |
| import gradio as gr | |
| from agent import ask_agent | |
| from tool_logger_26042026 import save_logs_to_txt, reset_logs | |
| DEFAULT_API_URL = "https://agents-course-unit4-scoring.hf.space" | |
| questions = requests.get(f"{DEFAULT_API_URL}/questions").json() | |
| # # ---------- HF EVAL ---------- | |
| # def run_and_submit_all(): | |
| # # [questions] = requests.get(f"{DEFAULT_API_URL}/random-question").json() | |
| # total = len(questions) | |
| # print(f"\nπ Total Questions: {total}\n") | |
| # results = [] | |
| # for idx, item in enumerate(questions, start=1): | |
| # q = item["question"] | |
| # task_id = item["task_id"] | |
| # print(f"\nπ§ Q{idx}/{total}: {q}") | |
| # try: | |
| # ans = ask_agent(q) | |
| # from tool_logger_26042026 import get_logs | |
| # logs = get_logs() | |
| # print("\nπ TOOL TRACE:") | |
| # for log in logs[-3:]: # last 3 tool calls | |
| # print(f"β {log['tool']}") | |
| # except Exception as e: | |
| # ans = f"ERROR: {e}" | |
| # print(f"ans {ans}") | |
| # results.append({ | |
| # "Task ID": task_id, | |
| # "Question": q, | |
| # "Answer": ans | |
| # }) | |
| # df = pd.DataFrame(results) | |
| # return "Run complete β ", df | |
| # print(f"Sample question: {questions[0]['question']}") | |
| # # ---------- SINGLE QUERY ---------- | |
| # # def chat_fn(user_input): | |
| # # task_id, question = questions[11]["task_id"], questions[11]["question"] | |
| # # # return print(task_id, question) | |
| # # ans = ask_agent(question, task_id) | |
| # # from tool_logger_26042026 import get_logs | |
| # # logs = get_logs() | |
| # # print("\nπ TOOL TRACE:") | |
| # # for log in logs[-3:]: # last 3 tool calls | |
| # # print(f"β {log['tool']}") | |
| # # return ans | |
| def chat_fn(user_input): | |
| task_id, question = questions[13]["task_id"], questions[13]["question"] | |
| print(task_id, question) | |
| ans = ask_agent(question, task_id) | |
| from tool_logger_26042026 import get_logs | |
| logs = get_logs() | |
| print("\nπ TOOL TRACE:") | |
| for log in logs[-3:]: # last 3 tool calls | |
| print(f"β {log['tool']}") | |
| return ans | |
| # def run_eval_pipeline(): | |
| # reset_logs() | |
| # result_text, result_df = run_and_submit_all() | |
| # save_logs_to_txt() | |
| # return result_text, result_df | |
| # # ---------- UI ---------- | |
| # with gr.Blocks() as demo: | |
| # gr.Markdown("# π€ LangGraph Smart Agent") | |
| # with gr.Tab("Chat"): | |
| # inp = gr.Textbox(label="Ask something") | |
| # out = gr.Textbox(label="Answer") | |
| # btn = gr.Button("Ask") | |
| # btn.click(chat_fn, inputs=inp, outputs=out) | |
| # with gr.Tab("HF Evaluation"): | |
| # run_btn = gr.Button("Run Full Evaluation") | |
| # out_text = gr.Textbox() | |
| # out_df = gr.DataFrame() | |
| # run_btn.click( | |
| # run_eval_pipeline, | |
| # outputs=[out_text, out_df], | |
| # ) | |
| # if __name__ == "__main__": | |
| # demo.launch(debug=True) | |
| def run_and_submit_all(): | |
| questions = requests.get(f"{DEFAULT_API_URL}/questions").json() | |
| total = len(questions) | |
| print(f"\nπ Total Questions: {total}\n") | |
| results = [] | |
| answers_payload = [] | |
| for idx, item in enumerate(questions, start=1): | |
| q = item["question"] | |
| task_id = item["task_id"] | |
| print(f"\nπ§ Q{idx}/{total}: {q}") | |
| try: | |
| ans = ask_agent(q) | |
| from tool_logger_26042026 import get_logs | |
| logs = get_logs() | |
| print("\nπ TOOL TRACE:") | |
| for log in logs[-3:]: | |
| print(f"β {log['tool']}") | |
| except Exception as e: | |
| ans = f"ERROR: {e}" | |
| print(f"\nβ ANSWER: {ans}") | |
| # Save for dataframe | |
| results.append({ | |
| "Task ID": task_id, | |
| "Question": q, | |
| "Answer": ans | |
| }) | |
| # Save for submission | |
| answers_payload.append({ | |
| "task_id": task_id, | |
| "submitted_answer": str(ans) | |
| }) | |
| # ------------------------- | |
| # SUBMIT TO HF | |
| # ------------------------- | |
| submission_data = { | |
| "username": "chitranshu-9", # <-- change this | |
| "agent_code": "https://huggingface.co/spaces/chitranshu-9/final-agent-course/tree/main", # <-- change this | |
| "answers": answers_payload | |
| } | |
| print("\nπ Submitting answers...\n") | |
| response = requests.post( | |
| f"{DEFAULT_API_URL}/submit", | |
| json=submission_data, | |
| timeout=60 | |
| ) | |
| result = response.json() | |
| print("\nπ― FINAL RESULT") | |
| print(f"response : {result}") | |
| print(f"Score: {result.get('score')}%") | |
| print(f"Correct: {result.get('correct_count')}/{result.get('total_attempted')}") | |
| df = pd.DataFrame(results) | |
| status = ( | |
| f"β Submission Successful!\n" | |
| f"Score: {result.get('score')}%\n" | |
| f"Correct: {result.get('correct_count')}/{result.get('total_attempted')}" | |
| ) | |
| return status, df | |
| def run_eval_pipeline(): | |
| reset_logs() | |
| result_text, result_df = run_and_submit_all() | |
| save_logs_to_txt() | |
| return result_text, result_df | |
| with gr.Blocks() as demo: | |
| gr.Markdown("# π€ LangGraph Smart Agent") | |
| with gr.Tab("Chat"): | |
| inp = gr.Textbox(label="Ask something") | |
| out = gr.Textbox(label="Answer") | |
| btn = gr.Button("Ask") | |
| btn.click(chat_fn, inputs=inp, outputs=out) | |
| with gr.Tab("HF Evaluation"): | |
| run_btn = gr.Button("Run Full Evaluation") | |
| out_text = gr.Textbox() | |
| out_df = gr.DataFrame() | |
| run_btn.click( | |
| run_eval_pipeline, | |
| outputs=[out_text, out_df], | |
| ) | |
| if __name__ == "__main__": | |
| # Run evaluation automatically | |
| # result_text, result_df = run_eval_pipeline() | |
| # print("\n========================") | |
| # print(result_text) | |
| # print("========================\n") | |
| # print(result_df) | |
| # Optional: launch Gradio UI | |
| demo.launch(debug=True) |