{"id":28396503,"url":"https://github.com/serverdaun/hf_agents_final_assignment","last_synced_at":"2026-06-09T16:04:32.381Z","repository":{"id":291253528,"uuid":"976793773","full_name":"serverdaun/hf_agents_final_assignment","owner":"serverdaun","description":"Agent for contesting GAIA benchmark built during HF Agents Course","archived":false,"fork":false,"pushed_at":"2025-05-17T21:52:05.000Z","size":80,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-06-01T08:45:49.755Z","etag":null,"topics":["agentic-ai","huggingface","langchain-python","langgraph-python"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/serverdaun.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-05-02T19:02:29.000Z","updated_at":"2025-05-17T21:56:39.000Z","dependencies_parsed_at":"2025-05-03T12:29:19.604Z","dependency_job_id":"183ca27f-e3bf-4dcc-8997-81721c6368c7","html_url":"https://github.com/serverdaun/hf_agents_final_assignment","commit_stats":null,"previous_names":["serverdaun/hf_agents_final_assignment"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/serverdaun/hf_agents_final_assignment","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/serverdaun%2Fhf_agents_final_assignment","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/serverdaun%2Fhf_agents_final_assignment/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/serverdaun%2Fhf_agents_final_assignment/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/serverdaun%2Fhf_agents_final_assignment/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/serverdaun","download_url":"https://codeload.github.com/serverdaun/hf_agents_final_assignment/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/serverdaun%2Fhf_agents_final_assignment/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34114466,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-09T02:00:06.510Z","response_time":63,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["agentic-ai","huggingface","langchain-python","langgraph-python"],"created_at":"2025-05-31T22:07:49.581Z","updated_at":"2026-06-09T16:04:32.376Z","avatar_url":"https://github.com/serverdaun.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"---\ntitle: GAIA Agent\nemoji: 🕵🏻‍♂️\ncolorFrom: indigo\ncolorTo: indigo\nsdk: gradio\nsdk_version: 5.25.2\napp_file: app.py\npinned: false\nhf_oauth: true\n# optional, default duration is 8 hours/480 minutes. Max duration is 30 days/43200 minutes.\nhf_oauth_expiration_minutes: 480\n---\n### Final Agent HF Course\n\nThis project is part of the [Hugging Face Agents Course](https://huggingface.co/learn/agents-course/unit0/introduction). For more information about the course, syllabus, and certification process, visit the [course introduction page](https://huggingface.co/learn/agents-course/unit0/introduction).\n\nYou can find and try the agent in my Hugging Face Space here: [serverdaun/final_gaia_agent_hf_course](https://huggingface.co/spaces/serverdaun/final_gaia_agent_hf_course).\n\n---\n\n## GAIA Benchmark Target\n\nThis agent is designed to participate in the [GAIA benchmark for General AI Assistants](https://huggingface.co/gaia-benchmark). GAIA is a comprehensive benchmark for evaluating the capabilities of general AI agents across a wide range of tasks. The benchmark is maintained by the Hugging Face community and features a public [leaderboard](https://huggingface.co/spaces/gaia-benchmark/leaderboard) for submissions and results.\n\nFor more information about GAIA, its datasets, and the leaderboard, visit the [GAIA organization page](https://huggingface.co/gaia-benchmark).\n\n\n## Agent Logic Overview\n\n### Architecture\nThis project implements a modular agent using [LangGraph](https://github.com/langchain-ai/langgraph) and [LangChain](https://github.com/langchain-ai/langchain) frameworks. The agent is orchestrated as a state graph, where each node represents a step in the reasoning or tool-use process. The core LLM is accessed via Azure OpenAI, and the agent is designed to invoke a variety of tools to solve complex tasks.\n\n### Tools\nThe agent is equipped with a rich set of tools, including:\n- **Search Tools**: Wikipedia, Tavily, and Arxiv search for retrieving information from the web and scientific literature.\n- **Math Tools**: Arithmetic operations, power, square root, modulus, and group theory utilities (commutativity, associativity, identity, inverses).\n- **Web Scraping**: Extracts main content from arbitrary web pages.\n- **Image Analysis**: Uses Azure OpenAI's vision capabilities to answer questions about images.\n- **Audio Transcription**: Transcribes audio files using Whisper.\n- **Code Execution**: Runs code files in various languages (Python, JS, TS, Bash, Ruby, PHP, Go) and returns output/errors.\n- **Tabular Data Tools**: Summarizes, filters, and manipulates CSV, Excel, and Parquet files.\n\n### Agent Workflow\n1. **Initialization**: The agent is built using a state graph, with nodes for the LLM and tool invocation. The LLM is bound to the available tools.\n2. **Receiving Questions**: The Gradio app fetches a set of questions (some with associated files) from a remote API.\n3. **Processing**: For each question, the agent constructs a message history (including a system prompt and the user question/file path) and invokes the LLM. If the LLM decides a tool is needed, the appropriate tool is called and the result is fed back into the conversation.\n4. **Answer Extraction**: The agent's final answer is parsed and submitted back to the evaluation server.\n5. **Submission**: All answers are submitted in batch, and the results (including score and feedback) are displayed in the Gradio interface.\n\n### Extending the Agent\n- **Adding Tools**: Implement a new function in `tools.py` and decorate it with `@tool`. Add it to the `TOOLS` list in `agent.py`.\n- **Modifying Logic**: Adjust the state graph in `agent.py` or the agent invocation logic in `app.py` as needed.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fserverdaun%2Fhf_agents_final_assignment","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fserverdaun%2Fhf_agents_final_assignment","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fserverdaun%2Fhf_agents_final_assignment/lists"}