基于Spring AI Alibaba NL2SQL模块构建示例应用-启动并测试应用

B站影视 韩国电影 2025-09-23 10:01 1

摘要:基于用户输入的自然语言问题结合数据库 Schema 和业务逻辑解释(evidence)通过大模型推理生成精准的 SQL 查询支持执行 SQL 并返回格式化结果根据用户问题和 SQL 查询结果,生成 Python 数据分析代码,加强数据分析的能力

Spring AI Alibaba NL2SQL模块的核心能力包括:

Schema 召回SQL 生成SQL 执行Python 代码生成与执行

该模块提供一个轻量级的自然语言查询转 SQL 语句服务,具有以下特点:

基于用户输入的自然语言问题结合数据库 Schema 和业务逻辑解释(evidence)通过大模型推理生成精准的 SQL 查询支持执行 SQL 并返回格式化结果根据用户问题和 SQL 查询结果,生成 Python 数据分析代码,加强数据分析的能力

该模块被设计为可复用的 Service 层组件,仅提供核心功能实现,不包含 RESTful 接口及独立启动能力。适用于集成到其他 Spring Boot 项目中使用。

本文将启动并测试 nl2sql 示例应用。

前面已经完成了基本配置,现在可以启动应用。

服务默认运行在 http://localhost:8065

在浏览器中访问上述URL,会显示 - ChatBI 智能查询页面,如图所示:

在文本框中输入:销售额最高的产品是什么

在【查询结果】文本框中,会输出对应的 SQL:

SELECT p.name, SUM(oi.quantity * oi.unit_price) AS total_salesFROM products pJOIN order_items oi ON p.id = oi.product_idGROUP BY p.id, p.nameORDER BY total_sales DESCLIMIT 1;

上述SQL 命令,可以在MySQL 客户端界面执行,输出结果如下:

spring-ai-alibaba-starter-nl2sql 模块提供了一系列强大且实用的功能,使其成为一个完整的企业级解决方案。

自然语言转 SQL:将用户的中文或英文查询自动转换为可执行的 SQL 语句。多数据库方言支持:支持 MySQL、PostgreSQL 等多种主流数据库。SQL 自动执行与安全校验:自动执行生成的 SQL,并内置语法检查、权限控制等安全机制。Schema 智能召回:通过向量化技术检索数据库元数据,精准匹配用户问题中的语义与表字段。术语与证据配置:允许配置业务术语和规则,辅助大模型更准确理解用户意图,提升专业领域查询的准确率。Python 代码生成与执行:可对 SQL 查询结果进行进一步的 Python 数据分析(如可视化),适用于深度数据分析与报告生成。

该模块的架构设计借鉴了 RAG(检索增强生成)的思想,其工作流程可以清晰地通过以下序列图展示:

这套流程确保了从用户的自然语言输入到最终的数据输出,每一个环节都经过了精心设计和优化,兼顾了准确性和安全性。

总而言之,spring-ai-alibaba-starter-nl2sql 模块是一个功能强大、设计优雅的企业级 NL2SQL 解决方案。它极大地简化了 Java 开发者构建智能数据查询应用的流程,通过自然的语言交互释放了数据的价值。

后续文章将介绍该模块的更多开发代码示例。

来源:软件架构

相关推荐