基于 LangGraph 构建的多智能体数据分析系统,8 个 AI Agent 协作,实现从原始数据到分析报告的自动化闭环。
用户上传 CSV/Excel + 自然语言需求
│
▼
┌─────────────────┐
│ LangGraph 工作流 │
└────────┬────────┘
│
┌────────┴──────────────────────────┐
│ │
▼ ▼ ▼ ▼ ▼ ▼ ▼ ▼ │
TASK QUALITY CLEAN EDA │
VIZ MODEL INSIGHT REPORT │
│ │
└───────────────────────────────────┘
│
▼
图表 + 洞察 + PDF 报告
| # | Agent | 职责 | 工具 |
|---|---|---|---|
| 01 | 任务理解 | 解析用户需求为结构化任务 | - |
| 02 | 数据质量 | 检测缺失值/异常值/重复值 | detect_missing, detect_outliers, detect_duplicates |
| 03 | 数据清洗 | 自动填补/截断/去重 | pandas |
| 04 | EDA 分析 | 描述统计/相关性/分组分析 | describe, corr, groupby |
| 05 | 可视化 | 自动生成图表 | bar, line, box, heatmap, scatter, pie |
| 06 | 机器学习 | 自动选模型训练评估 | train_classifier, train_regressor, train_cluster |
| 07 | 业务洞察 | 将统计结果翻译为业务语言 | - |
| 08 | 报告生成 | 整合输出 Markdown + PDF | - |
- LLM: DeepSeek API (OpenAI 兼容)
- Agent 框架: LangGraph (StateGraph)
- 数据分析: Pandas / NumPy / Scikit-Learn
- 可视化: Matplotlib
- 前端: Streamlit
- 报告: fpdf2
# 1. 安装依赖
pip install -r requirements.txt
# 2. 配置 API Key
cp .env.example .env
# 编辑 .env 填入你的 DeepSeek API Key
# 3. 启动
streamlit run app.py├── app.py # Streamlit 前端
├── config.py # 全局配置
├── engine/
│ └── pipeline.py # 8 步分析流水线
├── workflow/
│ └── graph.py # LangGraph 工作流
├── tools/
│ ├── data_tools.py # 数据读取工具
│ ├── analysis_tools.py # 数据分析工具
│ ├── viz_tools.py # 可视化工具
│ └── model_tools.py # 机器学习工具
├── templates/
│ └── prompts.py # 分析模板
└── data/
└── create_test_data.py # 测试数据生成
MIT