阿里云百炼开源面向 Java 开发者的 NL2SQL 智能体框架!
开源 NL2SQL 智能体框架简介
随着大模型技术的快速发展,自然语言到 SQL(NL2SQL)能力在数据分析领域的落地日益广泛。然而,传统 NL2SQL 方案存在Schema 理解偏差、复杂查询生成效率低、执行结果不可控等问题,导致业务 场景中频繁出现“答非所问”或“生成失败”的窘境。为了让更多开发者能够便捷地使用这一能力,我们决定将阿里云析言GBI中“Schema 召回 + SQL 生成 + SQL 执行”的核心链路模块化、组件化,并以开源的形式回馈社区。
官方仓库地址:https://github.com/alibaba/spring-ai-alibaba
析言云服务
作为阿里云百炼官方推出的智能数据分析产品,析言 GBI 基于大模型的 ChatBI 技术,帮助用户轻松实现自然语言交互的数据分析。通过 NL2SQL 和数据问答功能,析言 GBI 支持企业快速构建 AI 原生的数据分析解决方案。同时,析言 GBI 提供了丰富的云端服务支持,助力企业实现高效的数据管理与分析。
作为阿里云百炼平台的重要组成部分,析言 GBI 基于通义大模型,针对 NL2SQL 链路进行了深度优化。本次开源聚焦于Schema 召回、SQL 生成与执行引擎 三大核心模块,旨在为开发者提供一个轻量、灵活、可扩展的 NL2SQL 解决方案,让“自然语言对话数据库”真正落地为生产力工具。我们始终秉持“让 SQL 更简单,让数据更自由 ”的初心,希望通过开源与社区共建,推动 NL2SQL 技术在企业级场景中的广泛应用。
Spring AI Alibaba Nl2sql
Spring AI Alibaba 是一款以 Spring AI 为基础,深度集成百炼平台,支持 ChatBot、工作流、多智能体应用开发模式 的 AI 框架。
Spring-ai-alibaba-nl2sql 是基于 Spring AI Alibaba 的一个子项目,致力于打造一套轻量、高效、可扩展的 NL2SQL 框架,让 Java 程序员可以快速构建和集成自然语言查询系统,降低数据问答场景下 AI 能力的接入门槛。
作为阿里云析言 GBI 产品的开源延伸,Spring-ai-alibaba-nl2sql 已经在 GitHub 上发布,并持续更新迭代中。如果你正在寻找一款面向企业级数据场景、支持本地部署与云端调用、兼容多种数据库的 NL2SQL 解决方案,Spring-ai-alibaba-nl2sql 将是一个理想的选择。
🧠 核心功能
✅ Schema 智能召回:精准匹配数据库语义
在复杂的数据环境中,用户往往不清楚具体字段名或表结构。Spring-ai-alibaba-nl2sql 提供了强大的语义相似度计算能力和多策略召回机制,能够在海量表结构中精准匹配出最可能涉及的数据库 schema 和字段信息。Schema 召回是 NL2SQL 的第一步,也是决定生成质量的关键环节。析言 GBI 开源模块通过以下创新设计,显著提升 Schema 匹配的准确性:
- 多模态语义理解 :结合表名、字段名、注释等元数据,构建数据库的“知识图谱”,实现自然语言与 Schema 的双向映射。
- 动态权重计算 :根据用户问题上下文,动态调整字段相关性权重(如时间维度、业务关键词),避免冗余字段干扰。
- 集成向量化索引构建
示例 : 用户提问:“2024 年A手机销量对比B手机” Schema 召回结果:
- 表名:
sales_data(相关度 98%)- 字段:
brand(A手机、B手机), sale_date(2024年), quantity(销量)
✅ SQL 智能生成与优化:从对话到高效查询
基于 Qwen 等主流大语言模型的强大推理能力,析言Spring-ai-alibaba-nl2sql实现了从自然语言到结构化 SQL 的一键生成。无论是简单的条件过滤还是复杂的聚合统计、多表关联,都能准确生成对应的 SQL 语句。在复杂 SQL 生成场景中表现卓越:
- 支持多种数据库方言(MySQL、PostgreSQL)
- 复杂函数能力 :支持嵌套子查询、多表关联、窗口函数等复杂语法,覆盖 90% 以上业务场景。
生成效果对比 :
| 输入问提 | 传统方案生成SQL | Spring-ai-alibaba-nl2sql |
|---|---|---|
| 找出销售额最高的前 10 个商品,并展示品类和库存量 | SELECT * FROM products ORDER BY sales DESC LIMIT 10(漏掉品类字段) | SELECT product_name, category, stock, sales FROM products ORDER BY sales DESC LIMIT 10 |
