phucdev's picture
Update README.md
1da509a

A newer version of the Gradio SDK is available: 5.35.0

Upgrade
metadata
title: Template Final Assignment
emoji: 🕵🏻‍♂️
colorFrom: indigo
colorTo: indigo
sdk: gradio
sdk_version: 5.25.2
app_file: app.py
pinned: false
hf_oauth: true
hf_oauth_expiration_minutes: 480

🧠 GAIA-Agent

A general-purpose LLM agent built to solve the final assignment of the Hugging Face Agents course, which consists of 20 Level 1 questions from the GAIA benchmark.

The agent uses a variety of tools—web search, Wikipedia extraction, file parsing, audio transcription, and more—to gather evidence and reason through answers. It is built with LangGraph and LangChain, and all interactions are tracked with LangFuse.

🛠️ Technical Details

Component Technology
Agent Framework LangGraph + LangChain
LLM Meta LLaMA 4 Maverick 17B 128E Instruct via Groq
Web Search SerperAPI (Google Search), requests, Playwright for dynamic content rendering
HTML Parsing BeautifulSoup, markdownify to convert HTML to Markdown
Wikipedia Wikimedia API
File Parsing Unstructured (PDF, DOCX, PPTX), pandas (CSV, TSV, XLSX)
Audio Transcription OpenAI Whisper (base)
Monitoring LangFuse
Frontend UI Gradio, based on the Final Assignment Template

🔐 Setup Instructions

  1. Clone the repository:
    git clone https://github.com/phucdev/GAIA-agent.git
     cd GAIA-agent
    
  2. Install dependencies:
    pip install -r requirements.txt
    
  3. Create API keys and set-up environment variables: Use env.example to create a .env file in the root directory and replace the placeholders with your actual API keys:
    GROQ_API_KEY=your_groq_api_key
    SERPER_API_KEY=your_serper_api_key
    ... (other API keys as needed)
    
  4. Optional: For rendering JS with Playwright, you may need some additional setup:
    playwright install
    sudo apt-get install libgtk-3-0
    
  5. Run the app with:
    python app.py