文章目录
- 本期目标
-
- 一、项目全景架构图
- 二、核心概念扫盲(小白必看)
-
- 1. **NL2SQL是什么?**
- 2. **向量数据库的作用?**
- 3. **Evidence(业务知识)是什么?**
- 4. **MCP协议?**
- 5、Spring AI Alibaba NL2SQL 核心能力
- 三、各模块开发
-
- **模块1:chat模块(核心业务)**
-
- `AnalyticNl2SqlController.java`
- `SimpleChatController.java`
- `Nl2sqlForGraphController.java`(高级玩法)
- **模块2:vector-management模块(数据管家)**
-
- `AnalyticDbVectorManagementController.java`
- **为什么需要这个模块?**
- **模块3:mcp模块(AI工具化)**
-
- `McpService.java`
- 四、完整开发步骤(手把手教学)
-
- **步骤0:环境准备(必做!)**
- **步骤1:获取阿里云DashScope API Key**
- **步骤2:创建项目**
- **步骤3:配置application.yml(核心中的核心)**
- **步骤4:初始化数据库**
- **步骤5:启动vector-management模块(先做这个!)**
-
- **5.1 初始化Schema(让AI认识你的表)**
- **5.2 添加Evidence(教AI业务知识)**
- **步骤6:启动chat模块(主服务)**
- 步骤7:前端页面
- **步骤8:测试NL2SQL功能**
- 五、关键配置详解(避坑指南)
-
- **1. 向量存储配置对比**
- **2. 模型选择建议**
- **3. 超时配置**
- 六、生产环境最佳实践(从Demo到产品)
-
- **1. Schema初始化优化**
- **2. Evidence动态热更新**
- **3. SQL安全加固**
- **4. 性能优化**
- **5. 日志监控**
- 七、常见问题排查(90%的问题在这里)
-
- **问题1:启动报错\”Connection refused\”**
- **问题2:查询返回\”表不存在\”**
- **问题3:生成SQL很慢或超时**
- **问题4:返回的SQL不准确**
- **问题5:内存溢出**
- 八、扩展开发指南(让你的应用更强大)
-
- **场景1:支持新数据库表**
- **场景2:自定义返回格式**
- **场景3:集成到Spring Security**
- 十、下一步行动清单
本期目标
实现一个基于AI的包含以下功能的智能BI应用:
- 自然语言对话接口:/chat接口支持自然语言查询数据库
- 可视化交互页面:提供HTML页面用于测试和展示对话功能
- 业务逻辑管理:支持对业务逻辑的增删改查操作
一、项目全景架构图
┌─────────────────────────────────────────────────────────────────┐
│ 用户浏览器 │
│ (http://localhost:8065/8061) │
└──────────────────────────┬──────────────────────────────────────┘
│
┌──────────────────────────▼──────────────────────────────────────┐
│ 三大核心模块 │
├──────────────────┬──────────────────┬─────────────────────────┤
│ chat模块 │ mcp模块 │ vector-management模块 │
│




