# aidata2601 **Repository Path**: coderferi/aidata2601 ## Basic Information - **Project Name**: aidata2601 - **Description**: 一阶段AI智能数据处理平台 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-06-04 - **Last Updated**: 2026-06-05 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # SmartData 智能数据处理平台 > AI 驱动的一站式数据处理解决方案 — 数据生成、分析、清洗、可视化 ![Version](https://img.shields.io/badge/version-1.0.0-blue) ![Python](https://img.shields.io/badge/python-3.10+-green) ![FastAPI](https://img.shields.io/badge/FastAPI-0.104+-teal) ![License](https://img.shields.io/badge/license-MIT-orange) --- ## 📋 项目简介 SmartData 是一个基于 AI 的智能数据处理平台,提供从数据生成到分析可视化的完整工作流: - **🤖 AI 数据生成** — 自然语言描述即可生成数据,支持 NL2Data / NL2Query / 代码生成 - **📈 数据分析** — 描述性统计、分布分析、相关性分析、异常值检测 - **🧹 数据清洗** — 缺失值/重复值/异常值处理,多策略组合 - **💬 AI 对话** — 智能数据助手,随时解答数据分析问题 - **🎨 数据可视化** — ECharts 图表配置生成,6 种图表类型 - **📋 数据看板** — 图表自由组合,拖拽布局管理 - **💰 积分系统** — 签到奖励、操作消耗,事务一致性保障 - **🔒 代码沙箱** — AST 静态分析 + 白名单,安全执行用户代码 --- ## 🏗️ 项目结构 ``` aidata2601/ ├── main.py # 启动入口 ├── README.md # 项目说明 ├── docs/ # 设计文档 │ ├── PRD-智能数据处理平台.md │ ├── database-schema.md │ ├── api-design.md │ ├── high-level-design.md │ ├── detailed-design.md │ └── project-analysis.md └── backend/ ├── requirements.txt # Python 依赖 ├── .env.example # 环境变量模板 └── app/ ├── main.py # FastAPI 应用入口 ├── config.py # 配置管理 ├── database.py # 数据库连接 ├── exceptions.py # 异常定义 ├── middleware.py # 中间件(认证/日志) ├── models/ # SQLAlchemy ORM 模型(9张表) ├── schemas/ # Pydantic 请求/响应模型 ├── services/ # 业务逻辑层(9个Service) ├── routes/ # API 路由层(9组路由) ├── utils/ # 工具模块 │ ├── jwt_util.py # JWT Token 工具 │ ├── sandbox.py # 代码安全沙箱 │ ├── points_manager.py # 积分管理器 │ └── file_parser.py # 文件解析器 └── static/ # 前端 SPA ├── index.html # 入口页面 ├── css/main.css # 主样式表 └── js/ # JavaScript 模块 ├── api.js # API 封装 ├── router.js # SPA 路由 ├── auth.js # 认证模块 ├── utils.js # 工具函数 ├── app.js # 应用入口 └── pages/ # 页面模块 ``` --- ## 🚀 快速开始 ### 环境要求 - Python 3.10+ - pip ### 安装与运行 ```bash # 1. 克隆项目 cd aidata2601 # 2. 安装依赖 pip install -r backend/requirements.txt # 3. 配置环境变量 cp backend/.env.example backend/.env # 编辑 backend/.env 修改配置 # 4. 启动服务 python main.py # 或 uvicorn backend.app.main:app --host 0.0.0.0 --port 8000 --reload ``` ### 访问 - **前端界面**: http://localhost:8000/ - **API 文档 (Swagger)**: http://localhost:8000/api/docs - **API 文档 (ReDoc)**: http://localhost:8000/api/redoc - **健康检查**: http://localhost:8000/api/health --- ## 📊 API 概览 | 分组 | 接口数 | 说明 | |------|--------|------| | 认证 `/api/auth` | 6 | 注册、登录、Token刷新、个人信息 | | 数据集 `/api/datasets` | 6 | 上传、查询、更新、删除、预览 | | 数据生成 `/api/generation` | 5 | NL2Data、NL2Query、代码生成、任务历史 | | AI对话 `/api/ai` | 6 | 对话管理、消息发送 | | 数据分析 `/api/analysis` | 2 | 模板列表、执行分析 | | 数据清洗 `/api/cleaning` | 6 | 会话管理、步骤执行 | | 可视化 `/api/viz` | 7 | 图表生成、保存、管理 | | 看板 `/api/dashboards` | 8 | 看板CRUD、图表布局、统计 | | 积分 `/api/points` | 6 | 余额、签到、排行榜 | --- ## 🔑 核心技术亮点 ### 1. 代码安全沙箱 - **AST 静态分析**:禁止危险操作(文件IO、系统调用、网络访问) - **模块白名单**:仅允许安全模块导入 - **进程隔离**:支持 multiprocessing 子进程 + 超时控制 ### 2. 积分事务一致性 - **行级锁**:`SELECT ... FOR UPDATE` 防止并发超扣 - **先扣后执行**:先扣减积分,业务失败后补偿退还 - **完整流水**:每条操作可追溯 ### 3. 文件智能解析 - 支持 CSV/TSV/Excel/JSON/JSONL 格式 - 自动检测编码(chardet)和分隔符 - 列统计信息(类型推断、缺失值、数值分布) --- ## 📚 文档索引 | 文档 | 说明 | |------|------| | [PRD](./docs/PRD-智能数据处理平台.md) | 产品需求文档 | | [数据库设计](./docs/database-schema.md) | 数据库表结构设计 | | [API 设计](./docs/api-design.md) | API 接口设计 | | [概要设计](./docs/high-level-design.md) | 系统架构概要设计 | | [详细设计](./docs/detailed-design.md) | 模块详细设计 | | [项目分析](./docs/project-analysis.md) | 项目分析报告 | --- ## 🛠️ 技术栈 | 层级 | 技术 | |------|------| | 后端框架 | FastAPI 0.104+ | | ORM | SQLAlchemy 2.0+ | | 数据库 | SQLite(开发)/ PostgreSQL(生产) | | 认证 | JWT (python-jose) + bcrypt | | 文件解析 | openpyxl + chardet | | 前端 | 原生 JavaScript (SPA) + ECharts 5 | | 安全沙箱 | RestrictedPython + multiprocessing | --- ## 📄 License MIT License