Skip to content

FingerLite/agent-data-explorer

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

基于 LangGraph 的自然语言数据探索 Agent

项目简介

本项目实现一个可通过自然语言交互完成数据分析任务的智能 Agent。用户上传 titanic_cleaned.csv 后,可通过对话形式完成:

  1. 数据摘要:输出均值、方差、最值等统计信息
  2. 缺失值处理:自动用均值填充 NULL
  3. 可视化:绘制指定列(如 Survived)的分布图
  4. 模型训练:调用 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 行)

开发日志

2025-12-01

  • 确定使用 LangGraph + GPT-3.5-turbo
  • 完成 4 个工具函数的框架定义(未实现逻辑)
  • 验证 Function Calling 兼容性
  • 遇到问题:无
  • 明日计划:实现工具函数逻辑 + 单元测试

2025-12-02

  • 实现 get_data_summary()fill_missing_with_mean()
  • 完成 LangGraph 状态机搭建(agent → tool → agent 循环)
  • 验证端到端 workflow 可运行
  • 遇到问题:无
  • 明日计划:实现 plot_distribution()train_and_predict(),并测试完整任务流程

2025-12-03

  • 实现 plot_distribution()train_and_predict()
  • 测试完整四任务端到端流程(摘要 → 填缺失 → 画图 → 训练)
  • 验证 plot.png 成功生成,模型准确率返回正常
  • 遇到问题:多任务联合 Prompt 导致任务 1(数据摘要)输出不完整,仅返回部分列或缺失方差等统计指标
  • 明日计划:添加 Memory 支持多轮对话 + 编写 Demo 脚本;优化 Agent 工作流准确性与输出可读性;启动 tools.py 通用性重构,提升对任意结构化数据的适配能力

2025-12-04

  • 实现多轮对话支持,任务可分步执行
  • 完成 CLI 与 Gradio 双模式 Demo
  • 全部核心功能(四任务)已可稳定运行
  • 遇到问题:多任务合并输入时首任务偶发误判(因支持分步执行,暂不优先处理)
  • 明日计划:录制端到端演示视频 + 完善 README 文档 + 发布项目至 GitHub

2025-12-05

  • 完善项目文档(README + LICENSE + .gitignore)
  • 代码发布至 GitHub
  • 录制端到端演示视频(含多轮交互)
  • 遇到问题:无
  • 明日计划:无

About

A LangGraph-based agent for natural language data analysis

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages