一、写SQL太痛苦?这个工具帮你解决
作为开发者,你是不是也经常遇到这种情况:产品经理跑过来问"能不能帮我查一下上个月各地区的销售额?",然后你不得不放下手头的工作,打开数据库客户端,开始写SQL查询语句。
如果只是简单的查询还好,但遇到复杂的业务逻辑,比如"查询最近三个月内复购率超过30%的用户群体",那就得折腾半天。更糟糕的是,有时候写出来的SQL还不对,得反复调试,浪费大量时间。
最近发现了一个超好用的开源工具——DataAgent,专门解决这个问题。它基于Spring AI Alibaba框架,让你可以用自然语言直接查询数据库,完全不需要写SQL!

二、快速上手:3分钟搞定配置
2.1 准备数据库
首先你需要一个MySQL数据库,项目提供了完整的初始化脚本,包括schema.sql和data.sql,直接导入就能用。当然,你也可以用自己的业务数据库。
2.2 配置连接信息
在application.yml中配置数据库连接信息,就像配置普通的Spring Boot项目一样:
spring: datasource: url: jdbc:mysql://127.0.0.1:3306/your_database username: ${MYSQL_USERNAME:root} password: ${MYSQL_PASSWORD:root}2.3 配置API Key
DataAgent使用阿里云的DashScope大模型,需要配置API Key:
spring: ai: dashscope: api-key: ${AI_DASHSCOPE_API_KEY}建议把API Key配置到环境变量中,更安全。
三、实战演示:用自然语言查询数据
3.1 创建智能体
启动项目后,访问管理界面(http://localhost:3000),点击"创建智能体",输入名称就完成了,其他配置用默认的就行。
3.2 配置数据源
在数据源配置页面,添加你的数据库连接信息,然后选择要使用的数据表。点击"初始化数据源",系统会自动分析表结构,把相关信息存储到向量库中。
3.3 开始查询
现在就可以开始查询了!在运行界面输入自然语言问题,比如:
- "查询最近一个月的销售额"
- "找出销售额最高的前10个商品"
- "统计各地区的客户数量"
系统会自动理解你的意图,生成SQL语句,执行查询,然后返回结果,还能生成HTML格式的分析报告,直接下载就能用!
四、核心功能一览
DataAgent的功能远不止简单的查询,它还支持:
多种运行模式
- 自动执行模式:系统自动生成计划并执行
- 人工反馈模式:生成计划后等待你确认
- 仅NL2SQL模式:只生成SQL和结果,不生成报告
- 显示SQL运行结果模式:展示SQL和原始数据
语义模型管理
可以定义业务术语到数据库字段的映射,比如"客户满意度评分"对应"csat_score"字段,这样查询时就能用更自然的语言。
业务知识管理
可以添加业务规则和术语解释,比如"GMV=商品交易总额,包含付款和未付款的订单金额",帮助系统更好地理解业务逻辑。
预设问题
可以设置常用查询的预设问题,一键快速查询。
五、适用场景
DataAgent特别适合以下场景:
业务人员自助查询
产品经理、运营人员、市场人员等非技术人员,可以直接用自然语言查询数据,不需要依赖开发人员。
快速数据分析
需要快速查看数据趋势、统计信息时,直接问系统就行,比写SQL快多了。
报表自动化
可以预设报表模板,定期自动生成报表,推送给相关人员。
数据查询培训
对于刚接触数据库的新人,可以用DataAgent快速上手,学习如何查询数据。
六、开源地址
DataAgent是开源项目,完全免费使用,项目地址:
https://github.com/spring-ai-alibaba/dataagent
项目基于Spring AI Alibaba框架,默认使用DashScope大模型,支持替换为其他模型实现,比如DeepSeek、OpenAI等。向量存储也支持多种方案,包括内存向量、Milvus、Elasticsearch等。
如果你经常需要查询数据库,或者身边有非技术人员需要查询数据,强烈推荐试试DataAgent,绝对能提高效率!
觉得有用的话,记得点赞收藏,分享给更多需要的朋友~