本发明涉及软件工程,尤其涉及一种基于大型语言模型的sql生成方法、装置、设备和存储介质。
背景技术:
1、随着gpt4的发布,大型语言模型强大的语言理解和生成能力在短时间内得到了极高的关注度,nl2sql是大型语言模型中所应用到的一项将用户的自然语言转为可执行sql语言的技术,使得使用者可以在不掌握sql语法的情况下也可以查询数据库获取结果,对改善用户和数据库的交互方式有着重大意义。
2、虽然基于大型语言模型的能力,nl2sql已经有了极大的发展潜力,但是大模型的sql生成效果强依赖于提示格式和内容,因此对中文自然语言问题理解上更加充满挑战;大模型不擅长处理复杂的精确计算,因此在潜藏信息较多时很难准确的一次性完成相关工作;大模型无法直接获得隐含的业务信息,用者所认为的清晰语言表述很可能和大模型所需的表述有差距,从而无法获得满足需求或有效的sql等。
技术实现思路
1、本发明提供了一种基于大型语言模型的sql生成方法、装置、设备和存储介质,以实现对基于基于大型语言模型准确生成可执行sql。
2、根据本发明的一方面,提供了一种基于大型语言模型的sql生成方法,包括:
3、基于用户对sql数据库的配置操作生成数据定义语言ddl提示槽位信息以及数据示例槽位信息,其中,所述ddl提示槽位信息包括物理表的标准格式信息,所述数据示例槽位信息中包括物理表的标准内容信息;
4、接收用户所输入的自然语言查询请求,并对所述自然语言查询请求进行转写获取问题转写槽位信息;
5、根据所述问题转写槽位信息、所述ddl提示槽位信息和所述数据示例槽位信息获取与大型语言模型所适配的完整提示信息;
6、将所述完整提示信息输入所述大型语言模型生成与所述自然语言查询请求所匹配的可执行sql语句。
7、根据本发明的另一方面,提供了一种基于大型语言模型的sql生成装置,包括:
8、用户配置模块,用于基于用户对sql数据库的配置操作生成数据定义语言ddl提示槽位信息以及数据示例槽位信息,其中,所述ddl提示槽位信息包括物理表的标准格式信息,所述数据示例槽位信息中包括物理表的标准内容信息;
9、请求转写模块,用于接收用户所输入的自然语言查询请求,并对所述自然语言查询请求进行转写获取问题转写槽位信息;
10、完整提示信息获取模块,用于根据所述问题转写槽位信息、所述ddl提示槽位信息和所述数据示例槽位信息获取与大型语言模型所适配的完整提示信息;
11、可执行sql语句生成模块,用于将所述完整提示信息输入所述大型语言模型生成与所述自然语言查询请求所匹配的可执行sql语句。
12、根据本发明的另一方面,提供了一种计算机设备,所述计算机设备包括:
13、一个或多个处理器;
14、存储装置,用于存储一个或多个程序,
15、当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器执行本发明任一实施例所述的方法。
16、根据本发明的另一方面,提供了一种计算机可执行指令的存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本发明实施例中任一所述的方法。
17、本发明实施例的技术方案,通过对用户所输入的查询请求进行转写以获取更加简洁的转写槽位信息,并将转写槽位信息与预先配置的物理表标准格式信息和标准内容信息进行合并,生成一个更加标准化、易于大模型理解的完整提示信息,从而解决了大模型在nl2sql任务中存在的理解能力不足、计算能力不强、信息冗余和隐含信息不明确等问题。
18、应当理解,本部分所描述的内容并非旨在标识本发明的实施例的关键或重要特征,也不用于限制本发明的范围。本发明的其它特征将通过以下的说明书而变得容易理解。
1.一种基于大型语言模型的sql生成方法,其特征在于,包括:
2.根据权利要求1所述的方法,其特征在于,所述基于用户对sql数据库的配置操作生成数据定义语言ddl提示槽位信息以及数据示例槽位信息,包括:
3.根据权利要求2所述的方法,其特征在于,所述对所述sql数据库进行ddl解析获取数据库解析信息,包括:
4.根据权利要求1所述的方法,其特征在于,所述对所述自然语言查询请求进行转写获取问题转写槽位信息,包括:
5.根据权利要求1所述的方法,其特征在于,所述根据所述问题转写槽位信息、所述ddl提示槽位信息和所述数据示例槽位信息获取与大型语言模型所适配的完整提示信息,包括:
6.根据权利要求1所述的方法,其特征在于,所述将所述完整提示信息输入所述大型语言模型生成与所述自然语言查询请求所匹配的可执行sql语句,包括:
7.根据权利要求6所述的方法,其特征在于,所述根据所述初始sql语句、所述语法树检测信息和所述执行结果检测信息生成与所述自然语言查询请求所匹配的可执行sql语句,包括:
8.一种基于大型语言模型的sql生成装置,其特征在于,包括:
9.一种计算机设备,其特征在于,所述计算机设备包括:
10.一种计算机可执行指令的存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-7中任一项所述方法。