# AI 数据分析助手
- 意图解析
- SQL 生成与安全校验
- 数据查询
- 图表渲染与文字结论输出
- SSE 流式进度回传
前端为单页静态页面(src/main/resources/static/index.html),启动后直接访问 http://localhost:8080。
1. 技术栈
- 后端: Spring Boot
3.2.1、MyBatis-Plus、Validation - 数据库: MySQL 8+
- 前端: Vue 3 + Element Plus + ECharts(CDN 引入)
- 大模型调用: DashScope 兼容接口(
/chat/completions) - 构建: Maven、JDK 21
2. 功能概览
2.1 智能分析主链路
- 自然语言问题 ->
IntentParseService - 意图 + 表结构 ->
SqlGenerateService - SQL 风险拦截 ->
SqlSafetyValidator - 查询执行 ->
QueryExecuteService - 结果总结 ->
SummaryService - 流程编排 ->
AnalysisOrchestrator
2.2 数据源管理
支持通过接口动态新增、测试、删除数据源(配置持久化到 data_source 表)。
2.3 流式响应
GET /api/analysis/stream 使用 SSE 返回进度与结果分片,前端实时展示每个阶段状态与结论生成过程。
3. 项目结构(核心)
AI_DataAnalyze/
├─ pom.xml
├─ sql/
│ └─ schema.sql
├─ src/main/java/com/aianalyst/
│ ├─ AIAnalystApplication.java
│ ├─ common/ # 通用响应、全局异常
│ ├─ config/ # 动态数据源、MyBatis、RestTemplate 等配置
│ ├─ controller/ # AnalysisController、DataSourceController
│ ├─ mapper/ # MyBatis Mapper
│ ├─ model/ # dto/entity/vo
│ ├─ service/ # 领域服务与编排
│ └─ utils/ # AES 加解密等
└─ src/main/resources/
├─ application.yml
└─ static/index.html
4. 环境要求
- JDK
21 - Maven
3.8+ - MySQL
8.0+
5. 快速开始
5.1 初始化数据库
- 创建数据库并导入脚本:
GPT plus 代充 只需 145-- 在 MySQL 客户端执行 SOURCE /你的项目路径/sql/schema.sql;
脚本会创建并填充:
sales_db(业务演示数据:订单、商品、客户)
5.2 配置应用
编辑 src/main/resources/application.yml 关键项:
spring: datasource: url: jdbc:mysql://localhost:3306/ai_analysis?useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai&useSSL=false username: root password: ${DB_PASSWORD:} qwen: api: base-url: https://dashscope.aliyuncs.com/compatible-mode/v1 api-key: ${QWEN_API_KEY:} model: glm-4
5.3 启动
GPT plus 代充 只需 145mvn spring-boot:run
启动成功后访问:
- 页面地址:
http://localhost:8080
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/249249.html