phucdev's picture
Update README.md
906af2b
|
raw
history blame
3.78 kB
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 LLM agent designed to solve the final assignment of the HuggingFace Agents course. The assignment consists of 20 level 1 questions of the GAIA benchmark. This agent is built with LangGraph, LangChain, and is tracked using LangFuse. It uses real-time web search, Wikipedia lookups, file parsing, image analysis, audio transcription to provide accurate answers.

πŸ› οΈ Technical Details

Component/ Tool Tech Used
Agent framework LangGraph + LangChain
LLM Meta LLaMA 4 Maverick 17B 128e via Groq
Web search SerperAPI, requests, Playwright for rendering JSON
HTML parsing BeautifulSoup, markdownify for converting HTML to Markdown
Wikipedia Wikimedia API
File parsing Unstructured (for PDFs, PowerPoint, Word), pandas (for CSV, TSV, Excel)
Audio transcription OpenAI Whisper base
Agent monitoring LangFuse
UI / API 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. Then you can run the app with:
    python app.py