对比开源大语言模型的自然语言生成SQL能力

nl2sql是什么 NL2SQL 是 “自然语言处理” 与 “数据库技术” 融合的典型落地场景,其本质是消除 “人类语言” 与 “机器语言” 之间的鸿沟。随着大模型技术的发展,NL2SQL 的准确率和泛化能力持续提升,正逐步从 “辅助工具” 转变为 “人人可用的数据交互入口”,推动数据价值的普惠化。 阅读详情
AI摘要

本文探讨了开源大语言模型在自然语言到SQL任务中的表现,发现尽管闭源模型如GPT和BARD性能优于开源,但开源模型如Llama2和MISTRAL正逐渐缩小差距。通过零样本性能评估,强调了微调和特定数据集训练的重要性。

背景

NL-to-SQL(自然语言到结构化查询语言)任务是自然语言处理(NLP)领域的一个难题。 它涉及将自然语言问题转换为 SQL 查询,然后可以针对关系数据库执行该查询来回答问题。 该任务是 NLP 中的一个专门子领域,与更广泛的自然语言理解 (NLU) 领域以及自然语言与数据库之间的接口 (NLIDB) 密切相关。

随着 GPT-4、Llama2 和 Falcon 等大型语言模型 (LLM) 开发的最新进展,业界和学术界对 NL 到 SQL 的关注已经转向利用这些 LLM 为现实世界生成 SQL 用例。 这将非常强大,因为它允许非技术用户直接从数据中找到见解。

在 Dataherald,我们构建了一个开源自然语言到 SQL 引擎,可与不同的 LLM 一起使用,尽管我们在企业部署中使用 GPT-4-32K。 当前 NL 到 SQL(例如 DAIL-SQL、C3 和 DIN-SQL)的最先进研究也使用闭源 LLM,例如 GPT-4 和 GPT-3.5-turbo。 这些模型既昂贵又引发了企业的数据隐私问题。 因此,我们开始研究 Llama2 和 Mistral 等开源LLMS如何与 OpenAI 的模型相比较。 以下是我们的结果。

开源的大语言模型

在这篇博文中,我们将探讨各个系列的开源 LLM(大型语言模型)的功能。 这里分享的信息来自最近的三篇论文,即大型语言模型之战、大型语言模型支持的文本到SQL、文本到SQL的分解上下文学习以及我们自己进行的内部测试 使用 Google Colab A100 GPU。
涉及的模型列表如下:

  • Llama-7B
  • Llama-33B
  • MISTRAL-7B
  • Alpaca-7B
  • Llama-2-CHAT-7B
    Llama-2-CHAT-13B
    Vicuna-7B
    Vicuna-33B
    BARD-LAMDA
    BARD-PALM2
    GPT-3.5-turbo
    GPT-4
    其中一些模型,如 Llama、Llama2 和 MISTRAL ,是类似于 GPT-3.5-Turbo 的预训练模型,经过了监督微调和对比微调。 其他模型已经经历了对齐过程,其中涉及额外的指令调整,并且本质上与预训练的模型共享相同的架构。 特别是,Vicuna、Guanaco 和 Alpaca 是在特定数据集上训练的 Llama 模型的对齐版本。

Zero-shot NL-to-SQL 性能

在本节中,我们将评估开源LLM的零样本性能,并将其与更大的闭源对应项目进行对比。 零样本性能是指LLM仅根据给定问题和问题引用的相应数据库模式生成 SQL 查询的能力,而无需提示中的任何少量样本示例。
为了确保公平比较,我们对评估中使用的所有LLM保持一致的提示。 用于报告零样本性能的特定提示基于 Rajkumar 等人提出的模板,与其他提示格式相比,该模板以其卓越的性能而闻名。

我们根据执行准确性评估这些模型的性能,其中包括执行模型生成的 SQL 查询和数据库上的参考 SQL 查询,然后比较它们的结果。 结果是通过在Spider数据集的开发集上使用LLM获得的。

结果如下:
在这里插入图片描述

要点

要点很明确:

  • 闭源模型(GPT 模型和 BARD)在 NL 到 SQL 方面的性能显着优于开源模型。 可以肯定的是,这是因为他们接受了更多的参数训练。
  • 与之前的模型相比,采用额外的监督微调步骤的模型表现出显着的性能改进。 例如,Alpaca-7B 模型比其前身 Llama-7B 改进了近16%。 这强调了使用相同的底层架构进行微调以实现增强性能的潜力。
  • 与前辈相比,Mistral-7B 和 Llama2 等较新的开源模型表现出更优越的性能,并且正在缩小与闭源模型的差距。

对于 NL 到 SQL 工作负载,虽然较新的开源模型正在缩小与 OpenAI 模型的差距,但在开箱即用的准确性方面仍然存在很大差距。 然而,即使在相同的架构上,针对特定数据集的微调似乎也可以大大提高准确性。

指标+大模型,构建更全、更准、更快的数据分析体验 结合指标平台与大模型技术的 ChatBI 方案,通过“NL to Semantic to SQL”的模式,在准确性、效率和用户体验等方面实现了显著提升。这种方案不仅解决了传统数据分析模式中存在的诸多痛点,还为企业提供了一种更加智能化、便捷化的数据分析方式。 阅读详情

相关推荐

Text-to-SQL小白入门(十)RLHF在Text2SQL领域的探索实践

本文主要介绍了Text2SQL的基本概念,以及RLHF的概念和框架,最后结合DB-GPT-Hub项目,将RLHF方法应用于Text2SQL任务进行实践探索。

junewgl 4262

【NL2SQL】文本到SQL的数据库描述自动生成

在文本到SQL任务的背景下,表和列的描述对于弥合自然语言和数据库模式之间的差距至关重要。本报告提出了一种在没有明确描述时自动生成有效数据库描述的方法。所提出的方法采用双过程方法:先进行从粗到细的过程,然后进行从细到粗的过程。从粗到细的方法利用大语言模型(LLM)的内在知识来引导从数据库到表,最后到列的理解过程。这种方法提供了对数据库结构的整体理解,并确保上下文一致。相反,从细到粗的方法从列级别开始,在回到表级别时提供更准确和细致的理解。

数智笔记 2488

基于BFQ19S的共射振荡器设计(克拉泼电容三点式)

根据理论,设计出如下LC振荡器: 一、设计初期是使用= 400Mhz作为目标值计算的, 但由于计算值与实际值有差别,所以使用计算值附近的元器件代替使用;最终该电路的L1=82nH , D1 = 5.6pF, C11=18pF, C12 = 18pF ; 另外R3= 600Ω, R4取27k , C9取10pF; 该电路实际的震荡频率为主要为L1,D1 决定,所以其震荡频率约为 == 235Mhz; 二、由于实际得到的频率比目标频率低太多,所以调整电路使其能达到400M左...

rzchong1988的专栏 3706

【论文阅读_NL2SQL】Towards Complex Text-to-SQL in Cross-Domain Database with Intermediate Representation

【论文阅读_NL2SQL】Towards Complex Text-to-SQL in Cross-Domain Database with Intermediate Representation

Danger的博客 1345

在Ubuntu 22.04上从零搭建TrinityCore 3.3.5服务器:一份保姆级避坑指南

本文详细介绍了在Ubuntu 22.04系统上从零搭建TrinityCore 3.3.5服务器的完整流程,包括环境准备、源码编译、数据库配置、资源文件处理及性能调优等关键步骤。特别针对国内开发者和低配置用户优化,提供保姆级避坑指南,帮助用户高效搭建魔兽世界经典旧世版本私服。

weixin_33393017的博客 304

汇川伺服Modbus-RTU通讯实战:从帧结构解析到西门子PLC配置

本文详细解析了汇川伺服与西门子PLC通过Modbus-RTU协议进行通讯的实战步骤,包括帧结构解析、硬件连接、参数设置及PLC程序配置。通过具体案例和常见问题排查指南,帮助工程师快速掌握工业自动化中的通讯技术,提升设备调试效率。

weixin_33670713的博客 455

SCALE:一个面向专业级任务的大语言模型 SQL 能力开源评测框架

大模型SQL能力排行榜揭示大模型在SQL领域的真实水平! SCALE致力于通过科学、严谨的测评,全面评估大语言模型(LLM)处理SQL的核心能力。

ActionTech的博客 1223

文章ACCEPT之后填写内容教程-Springer-Verlag即施普林格

1. 确认corresponding author通讯作者机构是否正确(最好细分到系,如搜不到系只填大学也可)这些信息因为在投稿的时候都填过,所以一般都没问题,可确认并继续。2. Co-Author: 这篇文章有没有其他作者,如果有就选yes,并确认投稿时所填的作者姓名和机构是否正确。这个也是如果前期都填对了就不用修改。3. Research funders: 问文章的研究有没有资助,没有就选no,有就选yes,并填写机构名称和grant/contact numbers。

ZhangJiqun&191cm&85kg 4790

业务方催数据,还能让 AI 替你写 SQL?Vanna AI 自然语言生成 SQL 完整指南

Vanna AI 是一个 Python 写的自然语言生成 SQL 框架:你用日常语言提问,它替你生成 SQL、执行查询、返回表格和图表。数据分析师、业务团队,以及想给内部产品加一个"问数据库"入口的开发者都用得上。 ## 被 SQL 卡住的取数流程 业务方在群里问:"按销售额给我前 10 名客户"。分析师手上还压着两个报表,得先翻 schema、确认表名和字段,再写一条带 JOIN 和排序的查

gitblog_00341的博客 618

【软件定义汽车】-【架构篇】-全面讲解整车电子电气架构演进

前言: 前段时间,陆陆续续写了一些电子电气架构相关的文章。这里打算再写最后一篇作为收尾,为整个系列画上句号,把坑填上,这个话题就算过去了。后续一段时间,尽量把之前文章中挖的“坑”填一下。行文逻辑将借鉴5W2H进行。 另外,本文作为一篇整合性的文章,为保证逻辑的完整性,主要是将大量过去自己文章中的内容进行梳理整合,也存在很多行业内专家的公开文章的内容,请见谅。 WHAT1:什么是汽车电子电气架构? 电子电气架构:EEA,Electrical/Electronic Architecture.

零点壹客的博客 1万+

张力控制速度闭环控制算法

这个算法的核心思想是通过比较实际速度和期望速度的差异来调整控制信号,以达到稳定的速度控制。比例项用于直接根据误差调整输出,积分项用于积累误差并进行补偿,微分项用于预测误差的变化趋势并进行调整。张力控制是在许多工程和工业应用中非常重要的一个过程,它涉及到通过调节力的大小来实现稳定的工作状态。通过合理设置比例、积分和微分系数,并结合实际系统的特性进行调试和优化,可以实现准确稳定的张力控制。速度闭环控制算法通过比较实际速度和期望速度之间的差异,并根据差异调整系统的输出,以保持速度稳定。

LiJavascript的博客 1304

用AI在云平台上用自然语言生成定制化SQL查询复杂数据库

本文介绍了如何使用Amazon Bedrock开发一个基于企业数据库的定制化自然语言转SQL应用。我们使用Amazon S3记录模型输入输出日志,这些日志可用于评估模型准确性,并通过不断丰富知识库的上下文提升SQL生成能力。借助这一工具,大家可以构建为非技术用户使用的自动化解决方案,帮助他们更高效地与企业内部数据进行交互与分析。

佛州小李哥的博客 2161

基于STM32L4XX、HAL库的 TMC2660C-PA 驱动程序设计

/ 默认灵敏度和电流。// 20/31最大电流。

zhusl6688的博客 386

PostgresML与Hugging Face集成革命:在SQL中玩转开源大语言模型

还在为AI应用的数据迁移和模型部署头疼吗?PostgresML让你直接在PostgreSQL数据库中运行Hugging Face开源大模型,无需复杂的数据管道和外部服务!读完本文,你将掌握: - ✅ PostgresML核心架构与Hugging Face集成原理 - ✅ 实战SQL调用GPTQ/GGML量化模型技巧 - ✅ CPU/GPU性能优化最佳实践 - ✅ 完整RAG(检索增强生成Re

gitblog_00933的博客 701

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

【NL2SQL】BASE - SQL:一种强大的开源文本转SQL基准方法

将自然语言转换为用于查询数据库的SQL语言(文本到SQL,Text-to-SQL)具有广阔的应用前景,受到了广泛关注。目前,主流的文本到SQL方法主要分为基于上下文学习(in-context learning,ICL)的方法和基于监督微调(supervised fine-tuning,SFT)的方法。基于ICL的方法由于使用了最先进的闭源模型,能够取得相对较好的效果。然而,在实际应用场景中,需要考虑数据隐私、SQL生成效率和成本等因素,基于SFT的方法具有一定优势。

数智笔记 2609

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

DAIL-SQL:大语言模型驱动的智能SQL生成框架全面解析

DAIL-SQL是一个基于大语言模型的高效Text-to-SQL解决方案,通过在Spider基准测试中获得86.2%的执行准确率,展现了在自然语言到SQL查询转换任务中的卓越性能。该框架通过创新的提示工程和示例选择策略,实现了在极低token消耗下的高质量SQL生成。 ## 项目概览与核心价值 DAIL-SQL的核心使命是优化大语言模型在Text-to-SQL任务中的表现。相比于传统方法,DA

gitblog_00035的博客 1177

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

评估与增强大语言模型在多轮多类型文本到SQL转换中的表现

近年来,大语言模型(LLMs)的显著进展极大地推动了文本到SQL系统的发展。然而,现有方法主要聚焦于SQL生成,往往忽视了现实世界对话查询的复杂性,这可能导致对模糊问题的不可靠响应。为弥补这一不足,我们提出了MMSQL,一个全面的测试套件,旨在通过模拟多类型问题及多轮问答交互的真实场景,评估LLMs在问题分类和SQL生成方面的能力。基于MMSQL,我们对包括开源和闭源模型在内的主流LLMs进行了性能评估,并识别了影响其表现的关键因素。

栖客 1286

深入了解Text2SQL开源项目(Chat2DB、SQL Chat 、Wren AI 、Vanna)

在数据驱动决策的时代,将自然语言查询转化为结构化查询语言(SQL)的能力变得日益重要。无论是小型创业公司还是大型企业,都希望能够更轻松地从海量的数据中挖掘出有价值的见解。然而,对于那些不熟悉SQL或者数据库架构的用户来说,直接编写复杂的查询语句往往是一个巨大的挑战。正是为了解决这一问题,Text2SQL技术应运而生,它允许用户通过简单的自然语言描述来获取他们所需的数据库信息。近年来,随着人工智能和机器学习领域的迅速发展,Text2SQL技术也取得了显著的进步。

2509_94007210的博客 1251

SQL Chat:一款基于AI的对话式SQL客户端

是一个基于聊天的 SQL 客户端,通过自然语言与数据库交互,实现查询、修改、增删等操作。

Tony.Dong的专栏 377

Github 9 个惊艳的开源 NL2SQL 项目

从个人提效到企业级 BI,这 9 个开源项目基本覆盖了 NL2SQL 的全部主流玩法。如果你恰好有 NL2SQL 的需求,这些项目或许可以给到你一些启发和灵感。感兴趣的同学可以拉个代码,跑个 demo,总有一款适合你的。

一宿君 2464

DAIL-SQL:大语言模型驱动的智能SQL生成突破性框架

在数据库技术领域,自然语言到SQL查询的自动转换一直是人工智能研究的重要方向。DAIL-SQL作为基于大语言模型的创新Text-to-SQL框架,通过系统化的提示工程策略实现了86.6%的执行准确率,为智能数据查询技术带来了革命性突破。这个企业级解决方案不仅显著提升了SQL生成效率,更为数据分析自动化和低代码平台开发提供了核心技术支撑。 ## 核心理念:数据-信息-语言协同架构 DAIL-SQ

gitblog_00083的博客 533

【GitHub每日速递 20251205】ByteDance开源verl:灵活高效的大语言模型RL训练库,解锁多项前沿技术!

verl 是由字节跳动 Seed 团队发起、verl 社区维护的用于大语言模型(LLMs)的强化学习训练库,它是论文的开源版本,具备灵活性、高效性和生产就绪性。通过拦截 LLM 调用,在调用前注入上下文,调用后记录信息。调用前(上下文注入):应用程序调用时,Memori 透明拦截,检索相关记忆并注入上下文。调用后(记录):LLM 提供响应后,Memori 提取实体、分类信息并存储在 SQL 数据库中。后台任务(每 6 小时):有意识代理分析模式,将重要记忆从长期存储提升到短期存储。

1245

dbxlite:一个基于DuckDB的开源SQL工作台,支持AI助手

是一个基于 DuckDB 的轻量级开源数据分析工作台,可以直接在浏览器中运行,也可以连接本地 DuckDB 实例进行原生查询,或者通过 VS Code 扩展插件进行多数据源统一查询。

Tony.Dong的专栏 508
上一篇: 利用提示工程,提升LLM将自然语言转化为SQL的准确性
下一篇: 为什么自然语言转SQL(text to sql)在企业中较难落地
数大招疯
博客等级 码龄16年 237粉丝 28原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值