本发明涉及数据库,尤其涉及一种结构化查询语言(structured querylanguage,sql)查询指令的生成方法及装置。
背景技术:
1、随着科学技术的进步和时代的发展,日常生活和工作中需要处理大量的数据,由于sql查询指令可以在大量的数据中快速找到需要的数据,因此sql查询指令在各领域都得到了广泛的应用。但由于sql查询指令本身是一种具有很强范式的编程语言,如何自动生成准确的sql查询指令,是目前亟需解决的问题。
技术实现思路
1、本发明提供一种sql查询指令的生成方法及装置,用于根据用户输入的自然语言查询指令,准确快速地生成自然语言查询指令对应的sql查询指令。
2、第一方面,本发明提供一种sql查询指令的生成方法,该方法可以由sql查询指令的生成装置执行,所述方法包括:生成装置获取用户输入的自然语言查询指令;确定所述自然语言查询指令所要查询的目标领域;从所述目标领域对应的数据库所包括的多个数据表中,确定所述自然语言查询指令所要查询的目标数据表的q个候选数据表;根据所述q个候选数据表中的至少一个候选数据表的属性信息和所述自然语言查询指令,生成所述自然语言指令对应的sql查询指令。
3、在一种可能的实现方式中,确定所述自然语言查询指令所要查询的目标领域,包括:确定所述自然语言查询指令对应的第一向量与多个领域分别对应的第二向量之间的相似度;其中,所述多个领域中第一领域对应的第二向量是根据所述第一领域的关键词生成的;将与所述第一向量之间相似度最大的第二向量对应的领域作为所述目标领域。
4、在一种可能的实现方式中,确定所述自然语言查询指令所要查询的目标数据表的q个候选数据表,包括:确定所述自然语言查询指令对应的第一向量与多个数据表分别对应的第三向量之间的相似度;其中,所述多个数据表中第一数据表对应的第三向量是根据所述第一数据表的属性信息生成的;将与所述第一向量之间相似度大于阈值的q个第三向量对应的数据表作为所述q个候选数据表。
5、在一种可能的实现方式中,所述方法还包括:将所述q个候选数据表与所述自然语言查询指令输入llm,得到所述llm输出的所述至少一个数据表。
6、第二方面,本发明提供一种sql查询指令的生成装置,该装置包括:获取模块,用于获取用户输入的自然语言查询指令;确定模块,用于确定所述自然语言查询指令所要查询的目标领域;所述确定模块还用于,从所述目标领域对应的数据库所包括的多个数据表中,确定所述自然语言查询指令所要查询的目标数据表的q个候选数据表;生成模块,用于根据所述q个候选数据表中的至少一个候选数据表的属性信息和所述自然语言查询指令,生成所述自然语言指令对应的sql查询指令。
7、在一种可能的实现方式中,确定所述自然语言查询指令所要查询的目标领域,所述确定模块还用于,确定所述自然语言查询指令对应的第一向量与多个领域分别对应的第二向量之间的相似度;其中,所述多个领域中第一领域对应的第二向量是根据所述第一领域的关键词生成的;将与所述第一向量之间相似度最大的第二向量对应的领域作为所述目标领域。
8、在一种可能的实现方式中,确定所述自然语言查询指令所要查询的目标数据表的q个候选数据表,所述确定模块还用于,确定所述自然语言查询指令对应的第一向量与多个数据表分别对应的第三向量之间的相似度;其中,所述多个数据表中第一数据表对应的第三向量是根据所述第一数据表的属性信息生成的;将与所述第一向量之间相似度大于阈值的q个第三向量对应的数据表作为所述q个候选数据表。
9、在一种可能的实现方式中,所述确定模块还用于,将所述q个候选数据表与所述自然语言查询指令输入llm,得到所述llm输出的所述至少一个数据表。
10、第三方面,本发明还提供一种sql查询指令的生成装置,该装置包括:存储器,用于存储计算机程序或指令;处理器,用于调用所述存储器中存储的计算机程序或指令,执行上述第一方面的任一种可能的实现方式中的方法。
11、第四方面,本发明提供一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当计算机读取并执行所述指令时,使得所述计算机执行上述第一方面的任一种可能的实现方式中的方法。
12、第五方面,本发明提供一种计算机程序产品,所述计算机程序产品中存储有指令,当计算机读取并执行所述指令时,使得所述计算机执行上述第一方面的任一种可能的实现方式中的方法。
1.一种sql查询指令的生成方法,其特征在于,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,确定所述自然语言查询指令所要查询的目标领域,包括:
3.根据权利要求1所述的方法,其特征在于,确定所述自然语言查询指令所要查询的目标数据表的q个候选数据表,包括:
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
5.一种sql查询指令的生成装置,其特征在于,所述装置包括:
6.根据权利要求5所述的装置,其特征在于,确定所述自然语言查询指令所要查询的目标领域,所述确定模块还用于,
7.根据权利要求5所述的装置,其特征在于,确定所述自然语言查询指令所要查询的目标数据表的q个候选数据表,所述确定模块还用于,
8.根据权利要求5所述的装置,其特征在于,所述确定模块还用于,
9.一种sql查询指令的生成装置,其特征在于,包括:
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有指令,当计算机读取并执行所述指令时,使得所述计算机执行如权利要求1至4中任一项所述的方法。