System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种基于大语言模型实现自然语言转SQL的数据查询方法技术_技高网

一种基于大语言模型实现自然语言转SQL的数据查询方法技术

技术编号:40664953 阅读:14 留言:0更新日期:2024-03-18 18:59
本发明专利技术属于数据查询技术领域,具体涉及基于大语言模型实现自然语言转SQL的数据查询方法。该方法包括:S1,读取关系数据库中相关的表结构schema信息;S2,获取用户的输入信息,并进行预处理;S3,利用封装的Prompt生成大语言模型的提示语;S4,调用大语言模型,输入预处理后的用户的输入信息,生成SQL语句并进行语法校验;S5,执行SQL语句并获取查询结果;S6,把查询结果转化成图表形式,呈现给用户。相比于基于规则的方法和机器学习的方法,本发明专利技术在实现上避免了复杂的规则运算以及其不完整性。本发明专利技术也无需进行模型训练,从而避免了大量耗时的人工标注等复杂工作。

【技术实现步骤摘要】

本专利技术属于数据查询,具体涉及基于大语言模型实现自然语言转sql的数据查询方法。


技术介绍

1、自然语言转sql(下述称text2sql),就是将人类语言的查询转化为数据库查询语言(sql)。例如,对于一个查询“请帮我查询有多少用户?”,text2sql技术的目标就是将这个查询转化为一个sql查询,如“select count(*) from user”。用户自输入提问相关信息并选择相应的数据库表结构信息,调用text2sql服务组件,由该服务根据生成一条sql语句,再调用数据,执行sql语句,获得对应的结果,最终将结果返回给用户呈现。

2、目前解决text2sql问题的方法通常分为两类:基于规则的方法和基于机器学习的方法。基于规则的方法,这些方法首先将查询分解为一系列词语或短语,然后用一套预定义的规则将这些词语或短语转化为sql查询。这种方法的优点是准确性高,缺点是需要大量手工编写规则,无法处理未见过的查询。基于机器学习的方法:这些方法使用机器学习模型(通常是深度学习模型)来从标注数据中学习如何将查询转化为sql查询。这种方法的优点是能处理各种查询,缺点是需要大量标注数据。


技术实现思路

1、为了解决现有text2sql技术存在的问题,本专利技术提供一种基于大语言模型实现自然语言转sql的数据查询方法。

2、本专利技术解决其技术问题采用的技术方案是:一种基于大语言模型实现自然语言转sql的数据查询方法,包括:

3、s1,读取关系数据库中相关的表结构schema信息;

4、s2,获取用户的输入信息,并进行预处理;

5、s3,利用prompt算法生成大语言模型的提示语;

6、s4,将预处理后的用户的输入信息输入大语言模型,生成sql语句并进行语法校验;

7、s5,执行sql语句并获取查询结果;

8、s6,把查询结果转化成图表形式,呈现给用户。

9、优选地,步骤s1中,关系数据库包含一个或多个表,每个表中包含多个列;表和表之间通过若干公共列进行联系,所述公共列是数据库中的主键或外键。

10、优选地,步骤s2中, 所述的预处理包括去除停用词、标点符号、数字;将文本转换为向量形式。

11、优选地,步骤s3中,所述提示语用于引导大语言模型生成特定类型的输出,包括:问题、指令或示例,为大语言模型提供上下文和方向。

12、优选地,步骤s3中,所述大语言模型为预训练的vicuna模型。

13、优选地,步骤s3中,采用python的fastchat框架来封装vicuna模型的调用接口。

14、本专利技术的方法具有如下有益效果:相比于基于规则的方法和机器学习的方法,本专利技术在实现上避免了复杂的规则运算以及其不完整性。不完整性指的是规则的定义可能存在无法满足客户查询需求的情况,因此基于规则的方法既复杂也不全面。

15、此外,本专利技术也无需进行模型训练,从而避免了大量耗时的人工标注等复杂工作。这种实现方案过于依赖数据收集和标注,这本身就是一项极其复杂且细致的工作,需要耗费大量时间进行样本标注和模型训练。而本专利技术使用的开源模型可以直接部署调用,开发者可以根据业务需求对该模型进行微调以提高准确率。相比于数据标注和模型训练,对大语言模型进行微调的工作强度明显较低,投入成本也较少。

本文档来自技高网...

【技术保护点】

1.一种基于大语言模型实现自然语言转SQL的数据查询方法,其特征在于,包括:

2.根据权利要求1所述的基于大语言模型实现自然语言转SQL的数据查询方法,其特征在于:步骤S1中,关系数据库包含一个或多个表,每个表中包含多个列;表和表之间通过若干公共列进行联系,所述公共列是数据库中的主键或外键。

3.根据权利要求1所述的基于大语言模型实现自然语言转SQL的数据查询方法,其特征在于:步骤S2中,所述的预处理包括去除停用词、标点符号、数字;将文本转换为向量形式。

4.根据权利要求1所述的基于大语言模型实现自然语言转SQL的数据查询方法,其特征在于:步骤S3中,所述提示语用于引导大语言模型生成特定类型的输出,包括:问题、指令或示例,为大语言模型提供上下文和方向。

5.根据权利要求1所述的基于大语言模型实现自然语言转SQL的数据查询方法,其特征在于:步骤S3中,所述大语言模型为预训练的Vicuna模型。

6.根据权利要求5所述的基于大语言模型实现自然语言转SQL的数据查询方法,其特征在于:步骤S3中,采用Python的fastchat框架来封装Vicuna模型的调用接口。

...

【技术特征摘要】

1.一种基于大语言模型实现自然语言转sql的数据查询方法,其特征在于,包括:

2.根据权利要求1所述的基于大语言模型实现自然语言转sql的数据查询方法,其特征在于:步骤s1中,关系数据库包含一个或多个表,每个表中包含多个列;表和表之间通过若干公共列进行联系,所述公共列是数据库中的主键或外键。

3.根据权利要求1所述的基于大语言模型实现自然语言转sql的数据查询方法,其特征在于:步骤s2中,所述的预处理包括去除停用词、标点符号、数字;将文本转换为向量形式。

4.根据权利要求1所述...

【专利技术属性】
技术研发人员:余启鑫李凡平王堃
申请(专利权)人:以萨技术股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1