本项目实现一个可通过自然语言交互完成数据分析任务的智能 Agent。用户上传 titanic_cleaned.csv 后,可通过对话形式完成:
- 数据摘要:输出均值、方差、最值等统计信息
- 缺失值处理:自动用均值填充 NULL
- 可视化:绘制指定列(如
Survived)的分布图 - 模型训练:调用 sklearn 训练分类模型并返回准确率
Agent 基于 LangGraph 构建状态机,通过 Function Calling 调用 Python 工具,全程由大模型(GPT-3.5-turbo)驱动,无需手写分析代码。
- 命令行:
python demo.py - 网页版:
python demo_gradio.py
- 框架:LangChain + LangGraph
- 模型:GPT-3.5-turbo(支持 Function Calling)
- 工具:pandas, scikit-learn, matplotlib
- 数据:
titanic_cleaned.csv(891 行)
- 确定使用 LangGraph + GPT-3.5-turbo
- 完成 4 个工具函数的框架定义(未实现逻辑)
- 验证 Function Calling 兼容性
- 遇到问题:无
- 明日计划:实现工具函数逻辑 + 单元测试
- 实现
get_data_summary()和fill_missing_with_mean() - 完成 LangGraph 状态机搭建(agent → tool → agent 循环)
- 验证端到端 workflow 可运行
- 遇到问题:无
- 明日计划:实现
plot_distribution()和train_and_predict(),并测试完整任务流程
- 实现
plot_distribution()和train_and_predict() - 测试完整四任务端到端流程(摘要 → 填缺失 → 画图 → 训练)
- 验证
plot.png成功生成,模型准确率返回正常 - 遇到问题:多任务联合 Prompt 导致任务 1(数据摘要)输出不完整,仅返回部分列或缺失方差等统计指标
- 明日计划:添加 Memory 支持多轮对话 + 编写 Demo 脚本;优化 Agent 工作流准确性与输出可读性;启动
tools.py通用性重构,提升对任意结构化数据的适配能力
- 实现多轮对话支持,任务可分步执行
- 完成 CLI 与 Gradio 双模式 Demo
- 全部核心功能(四任务)已可稳定运行
- 遇到问题:多任务合并输入时首任务偶发误判(因支持分步执行,暂不优先处理)
- 明日计划:录制端到端演示视频 + 完善 README 文档 + 发布项目至 GitHub
- 完善项目文档(README + LICENSE + .gitignore)
- 代码发布至 GitHub
- 录制端到端演示视频(含多轮交互)
- 遇到问题:无
- 明日计划:无