Files
vibe_data_ana/README_MAIN.md

275 lines
6.4 KiB
Markdown
Raw Normal View History

# AI 数据分析 Agent - 主流程使用指南
## 概述
这是一个真正由 AI 驱动的数据分析系统,能够自动理解数据、规划分析、执行任务并生成报告。
## 快速开始
### 1. 安装依赖
```bash
pip install -r requirements.txt
```
### 2. 配置环境变量
创建 `.env` 文件并设置 OpenAI API 密钥:
```
OPENAI_API_KEY=your_api_key_here
OPENAI_BASE_URL=https://api.openai.com/v1
```
### 3. 运行分析
#### 方式1使用命令行接口
```bash
# 完全自主分析
python -m src.cli data.csv
# 指定分析需求
python -m src.cli data.csv -r "分析工单健康度"
# 使用模板
python -m src.cli data.csv -t template.md
# 指定输出目录
python -m src.cli data.csv -o results/
# 显示详细日志
python -m src.cli data.csv -v
```
#### 方式2使用 Python API
```python
from src.main import run_analysis
# 运行分析
result = run_analysis(
data_file="data.csv",
user_requirement="分析工单健康度",
output_dir="output"
)
# 检查结果
if result['success']:
print(f"报告路径: {result['report_path']}")
print(f"执行时间: {result['elapsed_time']:.1f}秒")
else:
print(f"分析失败: {result['error']}")
```
## 系统架构
系统采用五阶段流水线架构:
1. **数据理解Data Understanding**
- 加载和解析 CSV 文件
- 推断数据类型和业务含义
- 评估数据质量
2. **需求理解Requirement Understanding**
- 解析用户的自然语言需求
- 将抽象概念转化为具体指标
- 解析和理解分析模板
3. **分析规划Analysis Planning**
- 根据数据特征和需求生成任务列表
- 确定任务优先级和依赖关系
- 选择合适的分析方法
4. **任务执行Task Execution**
- 使用 ReAct 模式执行任务
- 动态选择和调用工具
- 根据发现调整分析计划
5. **报告生成Report Generation**
- 提炼关键发现
- 组织报告结构
- 生成结论和建议
## 命令行参数
```
usage: python -m src.cli [-h] [-r REQUIREMENT] [-t TEMPLATE] [-o OUTPUT]
[-v] [--no-progress] [--version]
data_file
positional arguments:
data_file 数据文件路径CSV 格式)
optional arguments:
-h, --help 显示帮助信息
-r, --requirement 用户需求(自然语言)
-t, --template 模板文件路径Markdown 格式)
-o, --output 输出目录,默认为 "output"
-v, --verbose 显示详细日志
--no-progress 不显示进度条
--version 显示版本信息
```
## 使用示例
### 示例1完全自主分析
```bash
python -m src.cli cleaned_data.csv
```
系统会自动:
- 识别数据类型(工单、销售、用户等)
- 推断关键字段的业务含义
- 自主决定分析维度
- 生成合理的分析计划
- 执行分析并生成报告
### 示例2指定分析方向
```bash
python -m src.cli cleaned_data.csv -r "我想了解工单的健康度"
```
系统会:
- 理解"健康度"的业务含义
- 将抽象概念转化为具体指标(关闭率、处理效率、积压情况等)
- 根据数据特征选择合适的分析方法
- 生成针对性的报告
### 示例3使用模板
```bash
python -m src.cli cleaned_data.csv -t templates/ticket_analysis.md
```
系统会:
- 理解模板的结构和要求
- 检查数据是否满足模板要求
- 如果数据缺少某些字段,灵活调整
- 按模板结构组织报告
## 输出文件
分析完成后,输出目录包含:
- `analysis_report.md` - 分析报告Markdown 格式)
- `analysis.log` - 执行日志
- `*.png` - 生成的图表(如果有)
## 日志和可观察性
系统提供详细的日志记录:
- **进度显示**:实时显示当前执行阶段和进度
- **AI 思考过程**:显示 AI 的决策过程(使用 `-v` 参数)
- **执行摘要**:显示各阶段的执行时间和状态
- **错误追踪**:详细的错误信息和堆栈跟踪
## 错误处理
系统具有强大的错误处理能力:
- **数据加载错误**:自动尝试多种编码和分隔符
- **AI 调用错误**:重试机制和指数退避
- **工具执行错误**:参数验证和异常捕获
- **任务执行错误**:依赖检查和错误恢复
## 性能指标
- 数据理解阶段:< 30秒
- 完整分析流程:< 30分钟取决于数据大小和任务数量
- 支持最大 100万行数据
## 隐私保护
系统遵循严格的隐私保护原则:
- AI 不能直接访问原始数据
- 只能通过工具获取聚合结果
- 数据画像只包含元数据和统计摘要
- 所有原始数据处理在本地完成
## 故障排除
### 问题1找不到 OpenAI API 密钥
**解决方案**:确保 `.env` 文件存在并包含正确的 API 密钥。
### 问题2数据加载失败
**解决方案**
- 检查文件路径是否正确
- 确保文件是 CSV 格式
- 尝试使用 `-v` 参数查看详细错误信息
### 问题3分析失败
**解决方案**
- 检查日志文件 `output/analysis.log`
- 确保数据文件不为空
- 确保数据格式正确
## 开发和测试
### 运行测试
```bash
# 运行所有测试
pytest
# 运行集成测试
pytest tests/test_integration.py -v
# 运行特定测试
pytest tests/test_integration.py::TestEndToEndAnalysis -v
```
### 代码结构
```
src/
├── main.py # 主流程编排
├── cli.py # 命令行接口
├── logging_config.py # 日志配置
├── data_access.py # 数据访问层
├── error_handling.py # 错误处理
├── engines/ # 分析引擎
│ ├── data_understanding.py
│ ├── requirement_understanding.py
│ ├── analysis_planning.py
│ ├── task_execution.py
│ ├── plan_adjustment.py
│ └── report_generation.py
├── models/ # 数据模型
│ ├── data_profile.py
│ ├── requirement_spec.py
│ ├── analysis_plan.py
│ └── analysis_result.py
└── tools/ # 分析工具
├── base.py
├── query_tools.py
├── stats_tools.py
├── viz_tools.py
└── tool_manager.py
```
## 贡献
欢迎贡献!请遵循以下步骤:
1. Fork 项目
2. 创建特性分支
3. 提交更改
4. 推送到分支
5. 创建 Pull Request
## 许可证
MIT License
## 联系方式
如有问题或建议,请创建 Issue。