本技术涉及数据处理,尤其是涉及一种sql语句生成方法和装置。
背景技术:
1、随着大语言模型在各个领域中应用的日趋成熟,利用大语言模型辅助各个领域中相关从业人员更高效准确地完成工作内容,逐渐成为了人工智能行业中的热门研究方向之一。
2、目前,在代码生成领域中尚无成熟的、可使用大模型进行sql代码生成的业务平台,在具有sql语句代码生成需求时,仅能够依靠于开发人员,也通过参照于已有的程序代码,通过改写或调整的方式,完成sql语句代码的开发撰写;而对于一些业务人员或者不具有过多开法经验的初学者来说,在其未深入了解sql语句开发撰写内容的情况下,在其具有sql语句获取需求,则仅能够求助于开发人员,或者在花费大量的时间在了解了sql语句的开发基础后,完成sql语句的撰写,这样,也会拖慢开发进度,增加开发成本。
技术实现思路
1、有鉴于此,本技术的目的在于提供一种sql语句生成方法和装置,可以利用语句生成模型实现sql查询语句的生成,以此,可以简化sql查询语句的生成过程,有助于提高sql语句的生成效率。
2、本技术实施例提供了一种sql语句生成方法,sql语句生成方法包括:
3、响应于接收到用户所输入的业务查询问题,将所述业务查询问题通过向量转换模型转换为业务查询向量;
4、利用所述业务查询向量和所述业务查询问题的查询方式,通过确定在所述查询方式下所述业务查询问题所适用的查询提示模板,构建得到语句生成模型能够识别的模型查询语句;
5、将所述模型查询语句输入至所述语句生成模型,通过所述语句生成模型生成所述业务查询问题所对应的查询结果和/或用于查询所述业务查询问题所对应的查询结果的sql查询语句。
6、在一种可能的实施方式中,当所述查询方式包括表格查询方式时,所述利用所述业务查询向量和所述业务查询问题的查询方式,通过确定在所述查询方式下所述业务查询问题所适用的查询提示模板,构建得到语句生成模型能够识别的模型查询语句,包括:
7、利用所述业务查询向量搜索查询数据库,确定所述查询数据库中是否记录有与所述业务查询问题具有相同语义的历史查询问题;
8、若存在,将第一提示模板确定为所述业务查询问题在所述表格查询方式下所适用的查询提示模板;
9、按照所述第一提示模板的模板格式,将所述历史查询问题与所述业务查询问题整合至所述第一提示模板中,构建得到所述语句生成模型能够识别的模型查询语句;
10、若不存在,将第二提示模板确定为所述业务查询问题在所述表格查询方式下所适用的查询提示模板;
11、按照所述第二提示模板的模板格式,将所述业务查询问题填充至所述第二提示模板的对应填充位置处,构建得到所述语句生成模型能够识别的模型查询语句。
12、在一种可能的实施方式中,所述按照所述第一提示模板的模板格式,将所述历史查询问题与所述业务查询问题整合至所述第一提示模板中,构建得到所述语句生成模型能够识别的模型查询语句,包括:
13、从所述查询数据库中获取所述历史查询问题对应的历史sql语句;
14、通过分析所述第一提示模板的模板格式,分别确定所述历史查询问题、所述历史sql语句以及所述业务查询问题在所述第一提示模板中的对应填充位置;
15、分别将所述历史查询问题、所述历史sql语句以及所述业务查询问题填充至所述第一提示模板的对应填充位置处,得到所述语句生成模型能够识别的模型查询语句。
16、在一种可能的实施方式中,通过以下步骤确定与所述业务查询问题具有相同语义的历史查询问题:
17、通过比对所述业务查询向量与所述查询数据库中所记录的每个候选查询问题的候选查询向量,确定所述业务查询问题与每个候选查询问题之间的语义相似度;
18、将语义相似度的大于相似度阈值的候选查询语句,确定为与所述业务查询问题具有相同语义的历史查询问题;
19、否则,确定所述查询数据库中未记录与所述业务查询问题具有相同语义的历史查询问题。
20、在一种可能的实施方式中,当所述查询方式为非表格查询方式时,所述利用所述业务查询向量和所述业务查询问题的查询方式,通过确定在所述查询方式下所述业务查询问题所适用的查询提示模板,构建得到语句生成模型能够识别的模型查询语句,包括:
21、将第三提示模板确定为所述业务查询问题在所述非表格查询方式下所适用的查询提示模板;
22、利用所述业务查询向量搜索语法案例数据库,从所述语法案例数据库中确定出与所述业务查询向量相匹配的多个参考查询案例;
23、按照所述第三提示模板的模板格式,将所述多个参考查询案例与所述业务查询向量整合至所述第三提示模板中,得到所述语句生成模型能够识别的模型查询语句。
24、在一种可能的实施方式中,所述利用所述业务查询向量搜索语法案例数据库,从所述语法案例数据库中确定出与所述业务查询问题相匹配的多个参考查询案例,包括:
25、通过比对所述业务查询向量与所述语法案例数据库中所记录的每个候选查询案例的候选案例向量,确定所述业务查询问题与每个候选查询案例之间的语义相似度;
26、按照所述语义相似度,对所述语法案例数据库中所记录的候选查询案例进行降序排列,将位于前预设位的候选查询案例确定为与所述业务查询问题相匹配的多个参考查询案例。
27、在一种可能的实施方式中,所述sql语句生成方法还包括:
28、通过执行所述sql查询语句,调用所述sql查询语句所关联的目标数据表,确定所述业务查询问题的查询结果。
29、在一种可能的实施方式中,所述sql语句生成方法还包括:
30、响应于数据库更新指令,利用所述业务查询问题、所述业务查询问题对应的查询结果以及所述sql查询语句中的至少一者,更新所述数据库更新指令所指示的目标数据库。
31、在一种可能的实施方式中,通过以下步骤确定所述业务查询问题的查询方式:
32、通过终端设备的图形用户界面提供查询配置界面;所述查询配置界面中显示有方式选择项;响应针对于所述方式选择项所施加的方式选择操作,确定所述业务查询问题的查询方式;和/或,
33、通过识别所述业务查询问题中所携带的语义和/或关键字,确定所述业务查询问题的查询方式。
34、本技术实施例还提供了一种sql语句生成装置,所述sql语句生成装置包括:
35、向量转换模块,用于响应于接收到用户所输入的业务查询问题,将所述业务查询问题通过向量转换模型转换为业务查询向量;
36、查询语句构建模块,用于利用所述业务查询向量和所述业务查询问题的查询方式,通过确定在所述查询方式下所述业务查询问题所适用的查询提示模板,构建得到语句生成模型能够识别的模型查询语句;
37、sql语句生成模块,用于将所述模型查询语句输入至所述语句生成模型,通过所述语句生成模型生成所述业务查询问题所对应的查询结果和/或用于查询所述业务查询问题所对应的查询结果的sql查询语句。
38、在一种可能的实施方式中,当所述查询方式包括表格查询方式时,所述查询语句构建模块在用于利用所述业务查询向量和所述业务查询问题的查询方式,通过确定在所述查询方式下所述业务查询问题所适用的查询提示模板,构建得到语句生成模型能够识别的模型查询语句时,所述查询语句构建模块用于:
39、利用所述业务查询向量搜索查询数据库,确定所述查询数据库中是否记录有与所述业务查询问题具有相同语义的历史查询问题;
40、若存在,将第一提示模板确定为所述业务查询问题在所述表格查询方式下所适用的查询提示模板;
41、按照所述第一提示模板的模板格式,将所述历史查询问题与所述业务查询问题整合至所述第一提示模板中,构建得到所述语句生成模型能够识别的模型查询语句;
42、若不存在,将第二提示模板确定为所述业务查询问题在所述表格查询方式下所适用的查询提示模板;
43、按照所述第二提示模板的模板格式,将所述业务查询问题填充至所述第二提示模板的对应填充位置处,构建得到所述语句生成模型能够识别的模型查询语句。
44、在一种可能的实施方式中,所述查询语句构建模块在用于按照所述第一提示模板的模板格式,将所述历史查询问题与所述业务查询问题整合至所述第一提示模板中,构建得到所述语句生成模型能够识别的模型查询语句时,所述查询语句构建模块用于:
45、从所述查询数据库中获取所述历史查询问题对应的历史sql语句;
46、通过分析所述第一提示模板的模板格式,分别确定所述历史查询问题、所述历史sql语句以及所述业务查询问题在所述第一提示模板中的对应填充位置;
47、分别将所述历史查询问题、所述历史sql语句以及所述业务查询问题填充至所述第一提示模板的对应填充位置处,得到所述语句生成模型能够识别的模型查询语句。
48、在一种可能的实施方式中,所述查询语句构建模块用于通过以下步骤确定与所述业务查询问题具有相同语义的历史查询问题:
49、通过比对所述业务查询向量与所述查询数据库中所记录的每个候选查询问题的候选查询向量,确定所述业务查询问题与每个候选查询问题之间的语义相似度;
50、将语义相似度的大于相似度阈值的候选查询语句,确定为与所述业务查询问题具有相同语义的历史查询问题;
51、否则,确定所述查询数据库中未记录与所述业务查询问题具有相同语义的历史查询问题。
52、在一种可能的实施方式中,当所述查询方式为非表格查询方式时,所述查询语句构建模块在用于利用所述业务查询向量和所述业务查询问题的查询方式,通过确定在所述查询方式下所述业务查询问题所适用的查询提示模板,构建得到语句生成模型能够识别的模型查询语句时,所述查询语句构建模块用于:
53、将第三提示模板确定为所述业务查询问题在所述非表格查询方式下所适用的查询提示模板;
54、利用所述业务查询向量搜索语法案例数据库,从所述语法案例数据库中确定出与所述业务查询向量相匹配的多个参考查询案例;
55、按照所述第三提示模板的模板格式,将所述多个参考查询案例与所述业务查询向量整合至所述第三提示模板中,得到所述语句生成模型能够识别的模型查询语句。
56、在一种可能的实施方式中,所述查询语句构建模块在用于利用所述业务查询向量搜索语法案例数据库,从所述语法案例数据库中确定出与所述业务查询问题相匹配的多个参考查询案例时,所述查询语句构建模块用于:
57、通过比对所述业务查询向量与所述语法案例数据库中所记录的每个候选查询案例的候选案例向量,确定所述业务查询问题与每个候选查询案例之间的语义相似度;
58、按照所述语义相似度,对所述语法案例数据库中所记录的候选查询案例进行降序排列,将位于前预设位的候选查询案例确定为与所述业务查询问题相匹配的多个参考查询案例。
59、在一种可能的实施方式中,所述sql语句生成装置还包括语句执行模块,所述语句执行模块用于:
60、通过执行所述sql查询语句,调用所述sql查询语句所关联的目标数据表,确定所述业务查询问题的查询结果。
61、在一种可能的实施方式中,所述sql语句生成装置还包括数据更新模块,所述数据更新模块用于:
62、响应于数据库更新指令,利用所述业务查询问题、所述业务查询问题对应的查询结果以及所述sql查询语句中的至少一者,更新所述数据库更新指令所指示的目标数据库。
63、在一种可能的实施方式中,所述sql语句生成装置还包括方式确定模块,所述方式确定模块用于通过以下步骤确定所述业务查询问题的查询方式:
64、通过终端设备的图形用户界面提供查询配置界面;所述查询配置界面中显示有方式选择项;响应针对于所述方式选择项所施加的方式选择操作,确定所述业务查询问题的查询方式;和/或,
65、通过识别所述业务查询问题中所携带的语义和/或关键字,确定所述业务查询问题的查询方式。
66、本技术实施例还提供一种电子设备,包括:处理器、存储器和总线,所述存储器存储有所述处理器可执行的机器可读指令,当电子设备运行时,所述处理器与所述存储器之间通过总线通信,所述机器可读指令被所述处理器执行时执行如上述的sql语句生成方法的步骤。
67、本技术实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行如上述的sql语句生成方法的步骤。
68、本技术实施例提供的sql语句生成方法和装置,响应于接收到用户所输入的业务查询问题,将业务查询问题转换为业务查询向量;利用业务查询向量和用户所选择的查询方式,通过确定在查询方式下业务查询问题所适用的查询提示模板,构建得到语句生成模型能够识别的模型查询语句;将模型查询语句输入至语句生成模型,通过语句生成模型生成业务查询问题所对应的查询结果和/或用于查询业务查询问题所对应的查询结果的sql查询语句。这样,可以利用语句生成模型实现sql查询语句的生成,以此,可以简化sql查询语句的生成过程,有助于提高sql语句的生成效率;并且,为了能够匹配出更加适用于获取业务查询问题所期望的“答案”的查询提示模板,可以进一步的结合业务查询问题的业务查询向量,实现查询提示模板的匹配。
69、为使本技术的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。