AI应用实践-Text2SQL(NL2SQL, Natural Language to SQL)


AI应用实践-Text2SQL(NL2SQL, Natural Language to SQL)

Text2SQL,学术领域常称NL2SQL,即将输入的自然语言查询自动转换为数据库可执行的SQL查询语句的技术,是基于LLM提升数据分析效率的智能查询技术。

Text2SQL(NL2SQL)技术发展历史

技术发展历史:
  1973年:Woods开发LUNAR系统,用于回答月球岩石样本问题。
  1978年:Hendrix设计LIFER/LADDER自然语言接口,用于连接美国海军数据库。
  本世纪初:基于规则的方法(Rule-based Methods)出现,包括PRECISENaLIRATHENASQLizerTemplar。该方法依赖预定义模板和严格SQL语法规则来说生成可执行的物流SQL,缺点是无法处理并理解复杂多样的自然语言问题,泛化能力差。
  2019年:随着深度学习的崛起,基于深度学习的Text2SQL(NL2SQL, Natural Language to SQL)方法(Deep Learning-based Approaches)开始流行。基于深度学习的方法包括基于Pointer Netword改进Seq2SQL方法基于Sequence-to-set的改进SQLNet方法基于TRANX(自定向下文法生成)的改进IRNet方法基于图的改进GlobalGNN方法。方法较基于规则的方法(Rule-based Methods)更灵活,但是由于结构所限,其生成SQL的能力仍然很差,难以处理复杂的SQL操作。
  2021年:基于预训练语言模型(PLM)的方案开始成为解决Text2SQL(NL2SQL, Natural Language to SQL)问题的实践方案。基于预训练语言模型的方案包括Towards Complex Text-to-SQL in Cross-Domain Database with Intermediate RepresentationTaBERT: Pretraining for Joint Understanding of Textual and Tabular Data.这类方案生成的SQL较基于深度学习的方案更准确,但是其严重依赖预训练的数据和模型微调,对资源要求比较高,对复杂数据库操作的处理仍然存在明显困难。
  2023年:随着GPT为代表的大语言模型的流行,基于大语言模型(LLM)的Text2SQL(NL2SQL, Natural Language to SQL)解决方案,因其巨大的改进探索潜力,开始成为日益受到关注的新兴研究领域。
  在Text2SQL(NL2SQL)的产品化过程中,在Gartner定义的”增强分析”成熟曲线上,90%的准确率是商业应用的门槛线。

Text2SQL(NL2SQL)技术关键环节

技术关键环节:
  预处理部分:用户使用日常自然语言和CUI(Conversation UI)界面描述分解自身数据需求,需要识别NL中的关键信息(包括关键属性、时间、限制等),以提高NL2SQL翻译的质量。
  NL2SQL翻译部分:核心。需要识别数据库系统中的表、列和字段(通常使用Schema linking技术),最后结合NL系统生成标准SQL语句。
  后处理部分:需要优化生成SQL,修复SQL中的语法等问题,最后数据库执行SQL语句后返回查询结果。

Text2SQL(NL2SQL)任务评测数据集

功能:为模型训练和评估确立标准,鼓励技术合作交流。

英文典型数据集

数据集名 内容
WikiSQL 2017年Salesforce等人提出的、数据库表26521张、问题和SQL对数80657对、单轮、多领域、英文标注NL2SQL数据集。论文:https://arxiv.org/pdf/1709.00103
Spider 1.0 重点数据集,2018年耶鲁大学提出的、分布在200个独立数据库的5693张表、问题和SQL对数10181对、单轮、覆盖138个不同领域、英文标注NL2SQL数据集。论文:https://arxiv.org/pdf/1809.08887; Github: https://github.com/taoyds/spider
Spider 2.0 2024年香港大学等团队提出文本到SQL基准测试框架,包含632个源自企业级数据库用例的真实文本转SQL工作流问题。Spider 2.0中的数据库来自真实的数据应用程序,通常包含超过1000 列,并存储在本地或云数据库系统(例如 BigQuery 和 Snowflake)中。
BookSQL 2024年由印度理工学院提出的、会计领域的大规模文本到SQL数据集。数据集总规模达100万。该数据集由财务专家监督编制。数据集包含27家企业,每家企业的交易量约为3.5万至4万笔。
BIRD 重点数据集。2023年由香港大学和阿里达摩院等团队提出的, 首个专为缩小文本到SQL解析的学术研究与实际应用间差距而设计的、大规模的基准测试集。BIRD 包含超过12751个独特的问题-SQL对,95 个大型数据库,总大小达33.4GB。它还涵盖了37个专业领域,例如区块链、曲棍球、医疗保健和教育等。论文:https://arxiv.org/pdf/2305.03111
BULL 1.0 2024年由浙江大学的Chao Zhang等人提出,来源于恒生电子实战金融分析业务,包含基金、股票、宏观经济数据库的金融文本转SQL数据集,各数据库共有31、28和19个表,由金融专业人士注释的4966个自然语言问题SQL对。
WikiTableQuestions 2015年斯坦福大学提出的、数据来源自维基百科的数据集。
The Air Travel Information System(ATIS) 1990年德州仪器公司提出的经典数据集。

中文典型数据集

数据集名 内容
NL2SQL 2019年阿里天池数据算法赛,首届中文NL2SQL挑战赛追一科技的提供的,使用金融以及通用领域的表格数据作为数据源。
CSpider 2019年西湖大学提出的、中文大规模复杂跨域语义解析和文本转 SQL 数据集,CSipder 是由 Spider 翻译而来,包含200个数据库上的10181个问题和5693个独特的复杂SQL查询,具有涵盖138个不同领域的多个表的数据库。论文:https://arxiv.org/pdf/1909.13293
DuSQL 2020年百度构建的一个大规模、多领域、多表的中文Text-to-SQL数据集,数据集覆盖160+领域,包含200个Database以及对应的2.3979万对(question, SQL query),其中18602对用于训练集,2039用于验证集,3156用于测试集,该数据集不仅覆盖了SQL常见关键词,还覆盖了更多实际应用中的问题类型,如排序、比较、计算等。网站地址:https://aistudio.baidu.com/competition/detail/47/0/task-definition

其他典型数据集

GeoQuery/Scholar/Academic/IMDB/Yelp/Advising/Restaurants/SParC/CoSQL/TableQA/CHASE/KaggleDBQA

Text2SQL(NL2SQL)数据集评测维度

单/多轮、单/多表、鲁棒性、歧义性
  单/多轮测试:构建单/多轮对话测试,测试系统在单/多轮对话中的NL2SQL能力。
  单/多表测试:构建单/多表对话测试,测试系统在涉及单/多表时的NL2SQL能力。
  鲁棒性测试:验证系统在NL2SQL过程中承受不利扰动干预的能力。
  歧义性测试:验证系统在模糊环境下,领会正确意图产生正确SQL能力。

Text2SQL(NL2SQL)数据集评分标准

根据阿里天池数据算法赛的比赛评分标准等公开评测指标,常用评分标准有Logic Form Accuracy、Execution Accuracy和Valid Efficiency Score
  Logic Form Accuracy(Accqm)或Exact Match Accuracy(精确匹配率, EM): 预测完全正确的SQL语句。其中,列的顺序并不影响准确率的计算(即Select A, B from T= Select B, A from T)。预测完全正确的SQL语句和标注SQL的匹配程度。
  Execution Accuracy(执行准确率, EX): 预测的SQL的执行结果与真实SQL的执行结果一致。 预测的SQL的执行结果正确数量在数据集中的比例。
  Valid Efficiency Score(有效效率分数, VES):在考虑SQL准确性和效率的情况下,对比验证预测SQL的运算时间和真实标注SQL的运行时间的相对差异。
  阿里天池数据算法赛排行榜以$Score_{lf}$与$Score_{ex}$的平均值排序。
  
$$
Score_{lf} = \begin{cases}
1, & SQL^{‘} = SQL\
0, & SQL^{‘} \neq SQL
\end{cases}
$$

$$
Acc_{lf} = \frac{1}{N}\sum^{N}{n = 1}Score{lf}^{n}= \frac{预测SQL和真实SQL所有子句匹配成功的问题数}{所有问题数}
$$

$$
Score_{ex} = \begin{cases}
1, & Y^{‘} = Y\
0, & Y^{‘} \neq Y
\end{cases}
$$

$$
Acc_{ex} = \frac{1}{N}\sum^{N}{n = 1}Score{ex}^{n}
= \frac{回答正确的问题数}{所有问题数}
$$

其中,$N$表示数据量,$SQL^{‘}$和$SQL$分别代表预测的SQL语句和真实SQL语句,$Score_{lf}$表示Logic Form准确率;$Y^{‘}$和$Y$分别表示预测的SQL和真实SQL的执行结果,$Score_{ex}$表示Execution准确率。

学术界解决方案

Text2SQL(NL2SQL)技术综述

[1] A Survey on Text-to-SQL Parsing: Concepts, Methods, and Future Directions
[2] A Survey of Text-to-SQL in the Era of LLMs: Where are we, and where are we going?
[3] NL2SQL is a solved problem… Not!
[4] Next-Generation Database Interfaces:A Survey of LLM-based Text-to-SQL
[5] A Survey on Text-to-SQL Parsing: Concepts, Methods, and Future Directions
[6] Recent Advances in Text-to-SQL: A Survey of What We Have and What We Expect
[7]Deep Learning Driven Natural Languages Text to SQL Query Conversion: A Survey

Spider数据集下NL2SQL方案

论文 内容 GitHub地址
[1] RESDSQL: Decoupling Schema Linking and Skeleton Parsing for Text-to-SQL 2023年Haoyang Li等人提出,引入了一种新的 Text-to-SQL 解析器——RESDSQL(Ranking -enhanced Encoding plus a Skeleton -aware Decoding framework for Text-to- SQL),它试图将Schema Linking和Skeleton Parsing分离,以降低 Text-to-SQL 的难度, 具体做法是先进行Schema Linking使得输入模型encoder的schema只包括与问题最相关的表和列;在生成SQL时,模型decoder先生成SQL骨架再生成实际的SQL查询。所有实验均在单块 NVIDIA A100 80G GPU 上进行。 https://github.com/RUCKBReasoning/RESDSQL
[2] DIN-SQL: Decomposed In-Context Learning of Text-to-SQL with Self-Correction 2023年Mohammadreza Pourreza, Davood Rafiei提出,通过将SQL生成问题分解为子问题,并将这些子问题的解决方案输入 LLM,可以显著提升其在文本到 SQL这一高难度任务上的性能。 https://github.com/MohammadrezaPourreza/Few-shot-NL2SQL-with-prompting
[3] C3: Zero-shot Text-to-SQL with ChatGPT 2023年Xuemei Dong等人提出的,一种基于ChatGPT的零样本Text-to-SQL方法:C3,在 Spider 测试集上的执行准确率达到了 82.3%。 https://github.com/bigbigwatermalon/C3SQL
[4] Text-to-SQL Empowered by Large Language Models: A Benchmark Evaluation 2023年Dawei Gao等人提出的,一种名为 DAIL-SQL 的全新集成解决方案,2023年8月20日Spider数据集排名第一的解决方案。 https://github.com/BeachWang/DAIL-SQL
[5] FinSQL: Model-Agnostic LLMs-based Text-to-SQL Framework for Financial Analysis 2024年Chao Zhang等人提出的,一个基于模型无关的大型语言模型 (LLM) 的金融分析Text-to-SQL框架:FinSQL,并基于LLM的Text-to-SQL框架FinSQL从快速构建、高效参数微调和输出校准的角度为金融Text-to-SQL提供了系统的解决方案. https://github.com/bigbigwatermalon/FinSQL?tab=readme-ov-file
[6] Structure-Guided Large Language Models for Text-to-SQL Generation 2024年Qinggang Zhang等人提出的,一种新颖的结构引导Text-to-SQL框架:SGU-SQL,该框架结合了基于语法的提示功能来增强LLM的SQL生成能力。 代码未开源
[7] Grounding Natural Language to SQL Translation with Data-Based Self-Explanations 2025年Yuankai Fan等人提出的,基于数据的自解释自然语言到SQL转换,主要探讨了如何通过迭代反馈机制提高自然语言(NL)到 SQL 的翻译精度,提出了名为CYCLESQL的框架。CYCLESQL的核心思想是在传统的NL到SQL翻译过程中引入基于数据的自然语言解释,利用这些解释作为自提供的反馈,通过自我验证的方式不断优化翻译结果。 https://github.com/Kaimary/CycleSQL
[8] PICARD: Parsing Incrementally for Constrained Auto-Regressive Decoding from Language Models 2021年Torsten Scholak等人提出PICARD模型,一种通过增量解析约束语言模型的自回归解码器的方法。PICARD通过在每个解码步骤拒绝不可接受的token输出来帮助找到有效的输出序列。在具有挑战性的Spider和CoSQL数据集的Text-to-SQL任务中,本文展示了PICARD将性能尚可的T5模型转换为最先进的解决方案。 https://github.com/ServiceNow/picard
[9] RAT-SQL: Relation-Aware Schema Encoding and Linking for Text-to-SQL Parsers 2021年Bailin Wang等人提出的统一的框架,基于关系感知的自我注意机制,来处理Text-to-SQL编码器中的模式编码、模式链接和特征表示。 https://github.com/Microsoft/rat-sql

Bird数据集下NL2SQL方案

论文 内容 GitHub地址
[1] CHASE-SQL: Multi-Path Reasoning and Preference Optimized Candidate Selection in Text-to-SQL 2024年Mohammadreza Pourreza等人提出的新框架CHASE-SQL,旨在通过利用多智能体建模和测试时计算来改进候选语句的生成和选择,从而解决文本转 SQL 任务中大型语言模型 (LLM) 的性能挑战。
[2] CHESS: Contextual Harnessing for Efficient SQL Synthesis 2024年Shayan Talaei等人提出的,一种名为 CHESS(Contextual Harnessing for Efficient SQL Synthesis)的多代理框架,旨在有效地将自然语言问题转换为 SQL 查询,即文本到 SQL 的合成。CHESS 旨在应对文本到 SQL 合成中的一系列挑战,包括数据库目录的庞大规模、复杂的数据库架构推理、生成查询的功能有效性以及自然语言问题的歧义性。 https://github.com/ShayanTalaei/CHESS
[3] E-SQL: Direct Schema Linking via Question Enrichment in Text-to-SQL 2024年Hasan Alp Caferoğlu等人提出的,一种名为E-SQL的新型管道,通过直接架构链接和候选谓词增强来应对文本到SQL转换中的挑战。该方法以增强自然语言查询为基础,将相关的数据库元素(如表、列和数值)直接纳入查询中,以便更好地匹配用户意图与数据库结构。 https://github.com/HasanAlpCaferoglu/E-SQL?tab=readme-ov-file
[4] The Dawn of Natural Language to SQL: Are We Fully Ready? 重点。2024年Boyan Li等人提出的,一个多角度的NL2SQL评估测试框架:NL2SQL360,以便为研究人员设计和测试新的NL2SQL方法。通过NL2SQL360,在不同的数据领域和SQL特性等应用场景下对主流NL2SQL方法进行了详细比较,为选择特定需求的最合适的NL2SQL方法提供了有价值的见解。此外,探索了NL2SQL设计空间,利用NL2SQL360自动识别针对用户特定需求的最佳NL2SQL解决方案。 https://github.com/BugMaker-Boyan/NL2SQL360/?tab=readme-ov-file
[5] CodeS: Towards Building Open-source Language Models for Text-to-SQL 2024年Haoyang Li等人提出的,一个开源的专门用于Text2SQL任务的LLM——CodeS,有多个参数规模的版本(1B~15B),它是基于StarCdoer基座模型,使用Text2SQL相关的数据集继续训练得到的。同时,论文提出了在训练这个模型和使用这个模型一些方法。 GitHub地址:https://github.com/RUCKBReasoning/codes
[6] MAC-SQL: A Multi-Agent Collaborative Framework for Text-to-SQL 2025年Bing Wang等人提出的,一个新颖的基于LLM的多代理协作框架MAC-SQL。该框架由三个Agents组成:Selector、Decomposer和Refiner。选择器压缩数据库并为用户查询保留相关的表模式。分解器将复杂的用户查询分解成更简单的子问题,并逐步解决它们。细化器验证和细化SQL查询。 https://github.com/wbbeyourself/MAC-SQL
[7] Automatic Metadata Extraction for Text-to-SQL 2025年Vladislav Shkapenyuk等人提出,探索自动元数据提取技术,以支持Text-to-SQL生成,2025年3月11日Bird数据集排名第一的解决方案 代码未开源
[8] Structure Guided Large Language Model for SQL Generation 2025年Qinggang Zhang等人提出,一种Text-to-SQL框架,利用内在的Text信息来改进LLM的SQL生成。具体而言,引入Text引导SQL(SGU-SQL)生成模型。SGU-SQL首先以Text增强的方式链接用户查询和数据库。然后,它使用语法树分解复杂的链接结构,逐步指导LLM生成SQL。 代码未开源
[9] Synthesizing Text-to-SQL Data from Weak and Strong LLMs 2024年Jiaxi Yang等人提出,通过合成数据方法增强NL2SQL的领域泛化能力,该方法将由更大、更强大的模型(强模型)生成的数据与由较小、未很好对齐的模型(弱模型)生成的错误信息数据相结合。该方法不仅增强了文本到SQL模型的领域泛化能力,还通过偏好学习探索了错误数据监督的潜力。此外,我们将合成数据方法应用于开放源代码LLMs的指令调优,最终得到了SENSE,一个专门的文本到SQL模型。 https://github.com/Yangjiaxi/Sense
[10] RubikSQL: Lifelong Learning Agentic Knowledge Base as an Industrial NL2SQL System 2025年Zui Chen等人提出, 基于规则挖掘和用户查询增强构建面向智能体的持续学习库,旨在解决实际企业级NL2SQL应用中的核心挑战,如隐式意图(Implicit Intent)、领域特定术语(Private Domain Knowledge)、宽表模式(Wide Table Schema)以及上下文敏感性(Context Sensitivity)。该系统将NL2SQL视为一个终身学习任务,需要持续的知识库(Knowledge Base, KB)维护和 SQL 生成。其已经在华为内部财经小魔方系统中应用。 https://github.com/Yangjiaxi/Sense
[11] SEA-SQL: Semantic-Enhanced Text-to-SQL with Adaptive Refinement 2025年Chaofan Li等人提出了一种名为SEA-SQL(语义增强文本到SQL的自适应精炼)的框架,用于解决文本到SQL的任务,尤其是在资源开销较低的情况下提高SQL查询的准确性和可执行性。 https://github.com/545999961/SEA-SQL
[12] ChatBI: Towards Natural Language to Complex Business Intelligence SQL 2024年Jinqing Lian等人提出, 研究了一种将自然语言转换为复杂商业智能 SQL 的技术——ChatBI。其目标是帮助不熟悉数据库的非专业用户通过自然语言进行数据分析。该技术方案已经百度数据平台上部署。 代码未开源

NL2SQL的RAG方案

论文 内容 GitHub地址
[1] Text2SQL is Not Enough: Unifying AI and Databases with TAG 2024年Asim Biswal等人提出,TAG(Table-Augmented Generation):表增强生成, TAG不仅具备对结构化数据的高效处理(不仅限于查询和分析),还要通过LLM的引入实现语义推断和复杂多步推断。其中对Text2SQL、RAG、TAG之间的关系。 https://github.com/TAG-Research/TAG-Bench

NL2SQL的监督微调技术(SFT-Based)方案

论文 内容 Hugging Face地址
[1] TableGPT2: A Large Multimodal Model with Tabular Data Integration 2024年浙江大学Aofeng Su等人提出,经过预训练和微调训练的,基于qwen2.5d针对NL2SQ任务的TableGPT2大模型。 Hugging Face:https://huggingface.co/tablegpt/TableGPT2-7B ;教程:https://tablegpt.github.io/tablegpt-agent/reference/
[2] A PREVIEW OF XIYAN-SQL: A MULTI-GENERATOR ENSEMBLE FRAMEWORK FOR TEXT-TO-SQL 2024年阿里巴巴集团提出,经过微调训练的,基于LLM的Text-to-SQL框架。 Hugging Face:https://huggingface.co/collections/XGenerationLab/xiyansql-models-67c9844307b49f87436808fc ;析言GBI:https://cn.aliyun.com/product/bailian/xiyan?from_alibabacloud=

大语言模型LLM在TexttoSQL上性能

论文 内容
[1] 大语言模型LLM之战:Dolly、LLaMA 、Vicuna、Guanaco、Bard、ChatGPT–在自然语言转SQL的比较 将六种流行的大型语言模型进行对比,在九个基准数据集上,使用五种不同的提示策略,系统地评估它们的文本到SQL解析能力,涵盖零样本和少样本场景。

开源工具和项目

工具名 内容 GitHub地址
MindSQL 一个文本到SQL生成的Python包,开源、使用RAG(检索增强生成)在大型语言模型LLM的帮助下创建适合数据库的精确SQL查询, 其精度高而且支持高并发。MindSQL与PostgreSQL、MySQL、SQLite等知名数据库无缝集成,还通过扩展接口将其功能扩展到Snowflake、BigQuery等主流数据库IDatabase。这个包的安装不容易,需要额外处理。 https://github.com/Mindinventory/MindSQL
SQLGlot Python开发的开源SQL解析器、转译器、优化器和引擎,可以格式化SQL以及支持在20种不同方言和SQL之间进行转化, 用相应的函数来进行SQL查询语句的转换,无需复杂的配置和设置,可用于Text2SQL的后处理阶段。 https://github.com/tobymao/sqlglot
Microsoft.Recognizers.Text 微软开源多种语言下的数字、单位、日期、时间等实体的识别和解析器,帮助开发者在其应用程序中集成强大的实体识别功能。 https://github.com/microsoft/Recognizers-Text/tree/master
lotus 基于LLM的开源Python处理结构化和非结构化数据的查询引擎。 https://github.com/lotus-data/lotus
SQLCoder 重点,专为NL2SQL优化的开源LLM模型族。这是一个拥有150亿参数的模型,在自然语言到 SQL 生成任务上,其性能略微超过了 gpt-3.5-turbo 并且显著地超越了所有流行的开源模型。目前SQLCoder是基于StarCoder(StarCoder参考: https://www.datalearner.com/ai-models/pretrained-models/StarCoder)微调得到。它的代码开源协议是Apache 2.0,而模型预训练结果的开源协议是CC BY-SA-4.0并加上OpenRAIL-M clauses for responsible协议,运行大家免费商用。但是,如果你修改了该模型的权重,则必须也按照CC BY-SA-4.0协议开源,这意味着修改具有传染性!商用的用户需要注意! https://github.com/defog-ai/sqlcoder; SQLCoder详细简介; SQLCoder在线演示地址
Vanna 基于MIT许可、开源、Python的、RAG(检索增强生成)框架,使用检索增强功能来帮助使用LLM为数据库生成准确的SQL查询。 https://github.com/vanna-ai/vanna
LLaMA-Factory 简单易用且高效的大型语言模型LLM训练与微调平台框架。其整合主流的各种高效训练微调技术,适配市场主流开源模型。 https://github.com/hiyouga/LLaMA-Factory/tree/main
SuperSonic 国内首个开源NL2SQL项目。通过引入Headless BI,构建数据加工整合连接数据,解决数据中口径不一致、指标无法复用、治理困难的问题。基于数据库数据构建语义模型, 使用语义查询语言S2SQL构建逻辑SQL, 将逻辑SQL翻译为数据库可以使用的物流SQL。 https://github.com/tencentmusic/supersonic/tree/master; 项目教程
DDParser DDParser(Baidu Dependency Parser)是百度自然语言处理部基于深度学习平台飞桨(PaddlePaddle)和大规模标注数据研发的、开源的依存句法分析工具。 https://github.com/baidu/DDParser; pypi地址
ChatSQL 基于ChatGLM-6B/MOSS,实现nl2sql,直连数据库并返回查询结果 目前仅支持MYSQL语法,后续支持多数据库语法查询。 https://github.com/cubenlp/ChatSQL
DB-GPT DB-GPT是蚂蚁开源的AI原生数据应用开发框架。目的是构建大模型领域的基础设施,通过开发多模型管理(SMMF)、Text2SQL效果优化、RAG框架以及优化、Multi-Agents框架协作、AWEL(智能体工作流编排)等多种技术能力,让围绕数据库构建大模型应用更简单,更方便。 https://github.com/eosphoros-ai/DB-GPT?tab=readme-ov-file
SQLBot SQLBot 是一款基于大语言模型(LLM)和RAG(检索增强生成)的智能问数系统。借助 SQLBot,用户可以实现数据的即问即答,快速提炼获取所需的数据信息及可视化图表,并且支持进一步开展智能分析。 https://github.com/dataease/SQLBot?tab=readme-ov-file
WrenAI 利用LLMs和RAG技术的优势,将自然语言转换为SQL查询,并从数据库中检索数据。 https://github.com/canner/wrenai
Dataherald 强大的NLtoSQL引擎,其核心是一个基于LLM的智能代理,它利用思维链(CoT)推理和多种工具,从用户提问中生成高精度的SQL查询。 https://github.com/Dataherald/dataherald
Chat2DB 阿里开源的专为现代数据驱动型企业打造的数据库管理、数据开发及数据分析工具。作为一款AI原生的产品,Chat2DB 将人工智能技术与传统数据库管理功能深度融合,旨在提供更为智能、便捷的工作体验,助力用户高效地管理数据库、开展数据开发和分析工作。 https://github.com/codePhiliaX/chat2db

个人设想

个人设想:
  SQL语言本身在不同数据库下的语法比较复杂而且同时存在差异性,NL2SQL本身也许不一定是“自然语言问数”的最佳范式。现有问数基本是三种技术路线:NL2SQL/NL2SQL->DSL2SQL/NL2语义SQL->语义SQL->可执行物理SQL,核心都是在解决SQL的可信和准确性问题,而不管是SQL还是DSL这类语法树,LLM和数据库交互的中介仍然是语法描述,这导致中介被数据库方言所绑架,进而严重依赖LLM的数据库适用能力,忽视逻辑执行计划本身才是业务逻辑和数据库物理实现真正的核心。采用执行计划本身作为自然语言和数据库交互的中介,越过各类SQL引擎,更加靠近物理执行引擎,进而在缩短执行链路的同时,规避SQL方言的问题,直接生成数据库的物理执行计划,进而实现更快速和直接的自然语言问数形式。

技术主要用途

技术主要用途:智能BI(智能问数与智能数据分析)

相似工作

相似工作:有基于图谱的智能QA问答、自动化代码编程等。

参考文献

[1] A. Popescu, A. Armanasu, O. Etzioni, D. Ko, and A. Yates. Modern natural language interfaces to databases: Composing statistical parsing with semantic tractability. In COLING, 2004.
[2] F. Li and H. V. Jagadish. Constructing an interactive natural language interface for relational databases. PVLDB, 8(1):73–84, 2014.
[3] D. Saha, A. Floratou, K. Sankaranarayanan, U. F. Minhas, A. R. Mittal, and F. O¨ zcan. ATHENA: an ontology-driven system for natural language querying over relational data stores. PVLDB, 9(12):1209–1220, 2016.
[4] N. Yaghmazadeh, Y. Wang, I. Dillig, and T. Dillig. Sqlizer: query synthesis from natural language. PACMPL, 1(OOPSLA):63:1–63:26, 2017.
[5] P. Pasupat and P. Liang. Compositional semantic parsing on semi-structured tables. In ACL, pages 1470–1480, 2015.
[6] C. Baik, H. V. Jagadish, and Y. Li. Bridging the semantic gap with SQL query logs in natural language interfaces to databases. In ICDE, pages 374–385, 2019.
[7] S. Iyer, I. Konstas, A. Cheung, J. Krishnamurthy, and L. Zettlemoyer. Learning a neural semantic parser from user feedback. In ACL, pages 963–973, 2017.
[8] F. Basik, B. H¨attasch, A. Ilkhechi, A. Usta, S. Ramaswamy, P. Utama, N. Weir, C. Binnig, and U. C¸ etintemel. Dbpal: A learned nl-interface for databases. In SIGMOD, pages 1765–1768, 2018.
[9] V. Zhong, C. Xiong, and R. Socher. Seq2sql: Generating structured queries from natural language using reinforcement learning. CoRR, abs/1709.00103, 2017.
[10] X. Xu, C. Liu, and D. Song. Sqlnet: Generating structured queries from natural language without reinforcement learning. CoRR, abs/1711.04436, 2017.
[11] M. Lapata and L. Dong. Coarse-to-fine decoding for neural semantic parsing. In ACL, pages 731–742, 2018.
[12] S. Yavuz, I. Gur, Y. Su, and X. Yan. Dialsql: Dialogue based structured query generation. In ACL, pages 1339–1349, 2018.
[13] P. Huang, C. Wang, R. Singh, W. Yih, and X. He. Natural language to structured query generation via meta-learning. In NAACL-HLT, pages 732–738, 2018.
[14] M. Zhou, G. Cao, T. Liu, N. Duan, D. Tang, B. Qin, X. Feng, J. Ji, and Y. Sun. Semantic parsing with syntax- and table-aware SQL generation. In ACL, pages 361–372, 2018.
[15] T. Yu, Z. Li, Z. Zhang, R. Zhang, and D. R. Radev. Typesql: Knowledge-based type-aware neural text-to-sql generation. In NAACL-HLT, pages 588–594, 2018.
[16] C. Finn, P. Abbeel, and S. Levine. Model-agnostic meta-learning for fast adaptation of deep networks. In ICML, pages 1126–1135, 2017.
[17] T. Yu, R. Zhang, K. Yang, M. Yasunaga, D. Wang, Z. Li, J. Ma, I. Li, Q. Yao, S. Roman, Z. Zhang, and D. R. Radev. Spider: A large-scale human-labeled dataset for complex and cross-domain semantic parsing and text-to-sql task. In EMNLP, pages 3911–3921, 2018.
[18] T. Yu, M. Yasunaga, K. Yang, R. Zhang, D. Wang, Z. Li, and D. R. Radev. Syntaxsqlnet: Syntax tree networks for complex and cross-domain text-to-sql task. In EMNLP, pages 1653–1663, 2018.
[19] B. Bogin, J. Berant, and M. Gardner. Representing schema structure with graph neural networks for text-to-sql parsing. In ACL, pages 4560–4565, 2019.
[20] J. Guo, Z. Zhan, Y. Gao, Y. Xiao, J. Lou, T. Liu, and D. Zhang. Towards complex text-to-sql in cross-domain database with intermediate representation. In ACL, pages 4524–4535, 2019.
[21] Pasupat P, Liang P. Compositional semantic parsing on semi-structured tables[J]. arXiv preprint arXiv:1508.00305, 2015.
[22] Hemphill C T, Godfrey J J, Doddington G R. The ATIS spoken language systems pilot corpus[C]//Speech and Natural Language: Proceedings of a Workshop Held at Hidden Valley, Pennsylvania, June 24-27, 1990. 1990.
[23] Sun N, Yang X, Liu Y. Tableqa: a large-scale chinese text-to-sql dataset for table-aware sql generation[J]. arXiv preprint arXiv:2006.06434, 2020.
[24] Min Q, Shi Y, Zhang Y. A pilot study for chinese sql semantic parsing[J]. arXiv preprint arXiv:1909.13293, 2019.
[25] Wang L, Zhang A, Wu K, et al. ChiTeSQL: A Large-Scale and Pragmatic Chinese Text-to-SQL Dataset[C]//Proceedings of the 2020 Conference on Empirical Methods in Natural Language Processing (EMNLP). 2020: 6923-6935.
[26] Bogin B, Gardner M, Berant J. Global reasoning over database structures for text-to-sql parsing[J]. arXiv preprint arXiv:1908.11214, 2019.
[27] 刘译璟, 徐林杰, 代其锋. 基于自然语言处理和深度学习的 NL2SQL 技术及其在 BI 增强分析中的应用[J]. 中国信息化, 2019, 11.
[28] 25年不可错过的大模型应用方向-Text2SQL: 企业提效50%以上
[29] 语义解析 (Text-to-SQL) 技术研究及应用 下篇
[30] 基于自然语言处理和深度学习的NL2SQL技术及其在BI增强分析中的应用
[31] Is a Semantic Layer Necessary for Enterprise-Grade AI Agents?
[32] A PREVIEW OF XIYAN-SQL: A MULTI-GENERATOR ENSEMBLE FRAMEWORK FOR TEXT-TO-SQL
[33] CHASE-SQL: Multi-Path Reasoning and Preference Optimized Candidate Selection in Text-to-SQL
[34] 智源社区
[35] ChatBI
[36] NL2SQL基础系列(1):业界顶尖排行榜、权威测评数据集及LLM大模型(Spider vs BIRD)全面对比优劣分析[Text2SQL、Text2DSL]
[37] Awesome Text2SQL
[38] Text2SQL 语义解析数据集、解决方案、paper资源整合项目
[39] 语义解析 (Text-to-SQL) 技术研究及应用
[40]沙丘智库《2025年“大模型+数据分析”最佳实践报告》正式发布


文章作者: 青山生柳
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 青山生柳 !
 上一篇
AI应用实践-智能BI(智能问数与智能数据分析) AI应用实践-智能BI(智能问数与智能数据分析)
AI应用实践-智能BI(智能问数与智能数据分析),主要介绍智能BI,包括商业智能(BI)定义、历史发展、智能BI核心技术、系统架构设计、关键技术、产品设计要点、设计实施过程、优秀实践产品、产品实践案例、当前技术挑战、长远设想和个人思考。
2025-09-18
下一篇 
可解释人工智能及其研究-SHAP算法应用篇 可解释人工智能及其研究-SHAP算法应用篇
可解释人工智能及其研究-SHAP算法应用篇,主要介绍SHAP可解释性算法在成人人口普查数据的应用。
2025-09-16
  目录