File size: 1,964 Bytes
270dca1
358eb7e
c1ea793
358eb7e
 
270dca1
c7c4d4d
270dca1
 
 
c7c4d4d
 
270dca1
 
358eb7e
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
c1ea793
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
---
title: GAIA Agent
emoji: 🤖
colorFrom: blue
colorTo: purple
sdk: gradio
sdk_version: 6.5.0
app_file: app.py
pinned: false
license: mit
hf_oauth: true
hf_oauth_expiration_minutes: 480
---

# GAIA Agent

基于 LangGraph 的 GAIA 基准测试 Agent,用于 HuggingFace Agents Course Unit 4 评测。

## 功能特点

- **ReAct 架构**: 基于 LangGraph StateGraph 实现的推理-行动循环
- **多种搜索工具**: DuckDuckGo、Wikipedia、arXiv、Tavily、YouTube、StackOverflow
- **文件处理**: 支持 PDF、Excel、图片 OCR、音频转写
- **代码执行**: 安全的 Python 沙箱环境
- **RAG 支持**: 可选的知识库检索增强

## 工具列表

| 工具 | 功能 |
|------|------|
| `web_search` | DuckDuckGo 网络搜索 |
| `wikipedia_search` | 维基百科搜索 |
| `arxiv_search` | arXiv 学术论文搜索 |
| `tavily_search` | Tavily 高质量搜索 |
| `fetch_task_files` | 下载任务附件 |
| `read_file` | 读取本地文件 |
| `parse_pdf` | 解析 PDF 文件 |
| `parse_excel` | 解析 Excel 文件 |
| `calc` | 安全数学计算 |
| `run_python` | Python 代码执行 |

## 环境变量

在 HuggingFace Spaces 的 Settings > Secrets 中配置:

| 变量 | 必需 | 说明 |
|------|------|------|
| `OPENAI_API_KEY` | 是 | OpenAI API Key |
| `OPENAI_BASE_URL` | 否 | 自定义 API 端点 |
| `MODEL` | 否 | 模型名称,默认 gpt-4o-mini |
| `TAVILY_API_KEY` | 否 | Tavily API Key(可选) |

## 本地运行

```bash
# 安装依赖
pip install -r requirements.txt

# 配置环境变量
cp .env.example .env
# 编辑 .env 填入 API Key

# 启动应用
python app.py
```

访问 http://localhost:7860

## 技术栈

- [LangGraph](https://github.com/langchain-ai/langgraph) - Agent 框架
- [LangChain](https://github.com/langchain-ai/langchain) - LLM 工具链
- [Gradio](https://gradio.app/) - Web UI 框架
- [FAISS](https://github.com/facebookresearch/faiss) - 向量检索

## 许可证

MIT License