人工智能数据科学家聊天机器人
该项目实现了一个简单的聊天机器人,可以端到端执行常见的数据科学任务。用户通过Streamlit网络界面进行交互,可以:
- 从中选择数据集
datasets/文件夹。 - 检查数据集标题、形状、缺失值和基本描述性统计数据。
- 执行探索性数据分析(EDA),包括缺失值表、异常值检测和相关性热图。
- 生成基本图(直方图、方框图、折线图和散点图)。
- 使用PyCaret运行AutoML工作流(分类或回归),以自动比较多个模型并执行超参数调优。UI报告排行榜和优化后的最佳模型。
入门指南
- 安装依赖项
创建一个新的虚拟环境(可选)并安装所需的Python包:
python -m venv venv
source venv/bin/activate # On Windows use: venv\Scripts\activate
pip install -r requirements.txt- 添加您的数据集
将您想要浏览的任何CSV或Parquet文件放入 datasets/ 文件夹。文件名(不带扩展名)将用作数据集标识符。
- 启动AutoML服务器
后端服务器公开了一组用于列出数据集、生成图和运行PyCaret AutoML的工具。从以下内容开始:
uvicorn servers.automl_server:server --reload --port 8000- 启动Streamlit应用程序
在单独的终端中,运行Streamlit UI:
streamlit run app/streamlit_app.py- 通过聊天进行互动
你可以让聊天机器人执行各种操作。示例:
- use sales --选择名为的数据集 sales.csv 在datasets文件夹中。 - headers --列出列名。 - shape --显示行数和列数。 - null values --视图计数和缺失值的百分比。 - describe --显示每列的描述性统计数据。 - eda --运行完整的EDA(描述、缺失值、异常值、相关性热图)。 - plot hist age --直方图 age 列。 - scatter income vs spend --两列的散点图。 - best model target=churn --对所选数据集和指定的目标列运行AutoML分类或回归。显示排行榜和调整后的结果。
UI以表格、图表和JSON摘要的形式显示结果。不向外部LLM发送原始数据;只有列名和数据集标识符等元数据用于意图路由。
文件
app/streamlit_app.py--流线型UI和命令处理程序。backend/llm_router.py-可选的基于LLM的意图解析器(如果可用,使用OpenAI API)。backend/mcp_client.py--用于同步调用服务器工具的包装器。servers/automl_server.py--FastAPI服务器公开数据集工具和PyCaret AutoML。datasets/--将CSV或Parquet文件放在此处。包括一个小例子sales.csv.requirements.txt--Python依赖列表。
