gaia-agent / README.md
mrtom17's picture
Update README.md
906b336 verified
---
title: GAIA Benchmark Agent
emoji: πŸ€–
colorFrom: indigo
colorTo: blue
sdk: gradio
sdk_version: 4.27.0
app_file: app_safe.py
pinned: false
hf_oauth: true
---
# GAIA Benchmark Agent
This project is an AI agent designed to tackle the GAIA benchmark, featuring multi-step reasoning, tool use (web search, Wikipedia, data analysis, file handling), and a Gradio web interface for evaluation and submission.
## Features
- LangGraph-based agent with robust tool integration
- Wikipedia, Tavily (web search), data analysis, and file handling tools
- Automatic file download for file-based questions
- Gradio interface for user interaction and answer submission
- Error handling and graceful fallback for recursion/tool loops
## Setup & Deployment
### 1. Install Dependencies
```
pip install -r requirements.txt
```
### 2. Environment Variables
Create a `.env` file (not committed) or set these variables in your Hugging Face Space:
- `OPENAI_API_KEY` (for OpenAI LLM and transcription)
- `TAVILY_API_KEY` (for Tavily web search)
- (Optional) `SPACE_ID` (for Hugging Face Space integration)
### 3. Run Locally
```
python app_safe.py
```
Or launch the Gradio interface as your main app file.
### 4. Deploy to Hugging Face Spaces
- Push your code to a public Hugging Face Space repository.
- Set your API keys as secrets in the Space settings.
- The Gradio app will launch automatically.
## Project Structure
- `app_safe.py` β€” Main Gradio app for full agent evaluation
- `agent.py` β€” Agent logic and tool orchestration
- `tools.py` β€” Tool definitions (Tavily, Wikipedia, data analysis, etc.)
- `requirements.txt` β€” All dependencies
- `README.md` β€” This file
## Notes
- The agent will return a fallback answer if it cannot answer within the recursion/tool call limits.
- For best results, ensure all environment variables are set and dependencies are installed.
---
**Good luck on the GAIA benchmark!**