System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及数据处理,尤其涉及一种基于大语言模型的sql语句生成方法、装置、设备及介质。
技术介绍
1、在企业数据分析应用中,商业智能(bi)报表分析已经成为企业决策与经营管理不可或缺的一部分。近年来,随着人工智能技术的飞速发展,特别是大规模语言模型的出现,自然语言处理(nlp)技术得到了广泛应用。通过自然语言生成sql语句(structuredquerylanguage)以实现报表分析,显著提高了数据查询和分析的便捷性和效率。
2、然而,现有的大模型在生成sql语句时可能会自行猜测、增加或遗漏某些关键字段信息,导致生成的sql语句存在错误。因此,如何提高生成sql语句的准确率是当前亟待解决的问题。
技术实现思路
1、本专利技术实施例提供一种基于大语言模型的sql语句生成方法、装置、设备及介质,以解决生成sql语句准确率较低的问题。
2、一种基于大语言模型的sql语句生成方法,包括:
3、获取用户查询文本;
4、将所述用户查询文本输入至预先训练好的text2sql模型,以获取所述text2sql模型输出的sql语句;
5、将所述sql语句输入至预先训练好的sql2text模型,以获取所述sql2text模型输出的目标查询文本;
6、计算所述用户查询文本和所述目标查询文本之间的语义相似度;
7、若所述语义相似度大于或等于预设目标值,则确定所述sql语句为所述用户查询文本对应的sql语句。
9、对所述用户查询文本进行预处理,得到标准用户查询文本;
10、将所述标准用户查询文本输入至预先训练好的text2sql模型,以获取所述text2sql模型输出的sql语句。
11、在一实施例中,所述将所述sql语句输入至预先训练好的sql2text模型,以获取所述sql2text模型输出的目标查询文本,包括:
12、对所述sql语句进行校验,得到校验结果;
13、若所述校验结果为校验通过,则将校验通过的所述sql语句输入至预先训练好的sql2text模型,以获取所述sql2text模型输出的目标查询文本。
14、在一实施例中,所述方法还包括:
15、若所述校验结果为校验未通过,则获取所述校验结果中的错误信息;
16、将所述错误信息与所述标准用户查询文本进行拼接,得到目标拼接文本;
17、将所述目标拼接文本重新输入至所述text2sql模型,直至所述text2sql模型输出的sql语句通过校验。
18、在一实施例中,所述对所述sql语句进行校验,得到校验结果,包括:
19、对所述sql语句进行语法校验,得到语法校验结果;
20、对所述sql语句进行语义校验,得到语义校验结果;
21、对所述sql语句进行安全性校验,得到安全性校验结果;
22、对所述sql语句进行性能校验,得到性能校验结果。
23、在一实施例中,所述对所述sql语句进行语法校验,得到语法校验结果,包括:
24、解析所述sql语句的语法结构;
25、将所述语法结构与预先定义的sql语法规则进行比对,得到所述语法校验结果。
26、在一实施例中,所述sql2text模型通过如下方式训练得到:
27、获取训练样本数据集和测试样本数据集,所述训练样本数据集包括多个训练样本对,所述测试样本数据集包括多个测试样本对,所述训练样本对包括训练提示字段和训练响应字段,所述测试样本对包括测试提示字段和测试响应字段;
28、基于所述训练提示字段和所述训练响应字段,对待训练的sql2text模型进行训练;
29、当待训练的sql2text模型训练完成后,基于所述测试提示字段和所述测试响应字段,对训练完成的所述sql2text模型进行测试,得出测试结果;
30、若所述测试结果满足预期目标,则确定训练完成的所述sql2text模型为训练好的sql2text模型;
31、若所述测试结果不满足预期目标,则调整训练完成的所述sql2text模型的隐层参数和/或修改所述训练样本数据集,重新对训练完成的所述sql2text模型进行训练,直至所述测试结果满足所述预期目标。
32、一种基于大语言模型的sql语句生成装置,包括:
33、获取模块,用于获取用户查询文本;
34、输入模块,用于将所述用户查询文本输入至预先训练好的text2sql模型,以获取所述text2sql模型输出的sql语句;将所述sql语句输入至预先训练好的sql2text模型,以获取所述sql2text模型输出的目标查询文本;
35、计算模块,用于计算所述用户查询文本和所述目标查询文本之间的语义相似度;
36、确定模块,用于若所述语义相似度大于或等于预设目标值,则确定所述sql语句为所述用户查询文本对应的sql语句。
37、一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述基于大语言模型的sql语句生成方法。
38、一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述基于大语言模型的sql语句生成方法。
39、上述基于大语言模型的sql语句生成方法、装置、设备及介质所提供的一个方案中,通过获取用户查询文本;将用户查询文本输入至预先训练好的text2sql模型,以获取text2sql模型输出的sql语句;将sql语句输入至预先训练好的sql2text模型,以获取sql2text模型输出的目标查询文本;计算用户查询文本和目标查询文本之间的语义相似度;若语义相似度大于或等于预设目标值,则确定sql语句为用户查询文本对应的sql语句。本实施例中,通过比较用户查询文本和目标查询文本之间的语义相似度,来判断生成的sql语句是否准确,准确反映了用户的查询意图,并当语义相似度大于或等于预设目标值时,将sql语句确定为用户查询文本对应的sql语句,提高了sql语句生成的准确率和效率,确保了生成的sql语句不仅符合数据库语法,且符合用户的查询意图,进一步使得用户能够更便捷、更准确地从数据库中获取所需信息。
本文档来自技高网...【技术保护点】
1.一种基于大语言模型的SQL语句生成方法,其特征在于,包括:
2.根据权利要求1所述的基于大语言模型的SQL语句生成方法,其特征在于,所述将所述用户查询文本输入至预先训练好的Text2SQL模型,以获取所述Text2SQL模型输出的SQL语句,包括:
3.根据权利要求2所述的基于大语言模型的SQL语句生成方法,其特征在于,所述将所述SQL语句输入至预先训练好的SQL2Text模型,以获取所述SQL2Text模型输出的目标查询文本,包括:
4.根据权利要求3所述的基于大语言模型的SQL语句生成方法,其特征在于,所述方法还包括:
5.根据权利要求3所述的基于大语言模型的SQL语句生成方法,其特征在于,所述对所述SQL语句进行校验,得到校验结果,包括:
6.根据权利要求5所述的基于大语言模型的SQL语句生成方法,其特征在于,所述对所述SQL语句进行语法校验,得到语法校验结果,包括:
7.根据权利要求1所述的基于大语言模型的SQL语句生成方法,其特征在于,所述SQL2Text模型通过如下方式训练得到:
9.一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现根据权利要求1至7任一项所述基于大语言模型的SQL语句生成方法。
10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现根据权利要求1至7任一项所述基于大语言模型的SQL语句生成方法。
...【技术特征摘要】
1.一种基于大语言模型的sql语句生成方法,其特征在于,包括:
2.根据权利要求1所述的基于大语言模型的sql语句生成方法,其特征在于,所述将所述用户查询文本输入至预先训练好的text2sql模型,以获取所述text2sql模型输出的sql语句,包括:
3.根据权利要求2所述的基于大语言模型的sql语句生成方法,其特征在于,所述将所述sql语句输入至预先训练好的sql2text模型,以获取所述sql2text模型输出的目标查询文本,包括:
4.根据权利要求3所述的基于大语言模型的sql语句生成方法,其特征在于,所述方法还包括:
5.根据权利要求3所述的基于大语言模型的sql语句生成方法,其特征在于,所述对所述sql语句进行校验,得到校验结果,包括:
6.根据权利要求...
【专利技术属性】
技术研发人员:余建学,叶国栋,易飞乐,冯丰,侯轶,李苑兰,徐超,
申请(专利权)人:招商蛇口数字城市科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。