本技術(shù)涉及信息查詢,特別涉及一種基于大模型的sql語(yǔ)句生成方法及裝置。
背景技術(shù):
1、自然語(yǔ)言轉(zhuǎn)化為sql語(yǔ)句是當(dāng)前應(yīng)用熱度很高的領(lǐng)域。其省去了研究人員編寫(xiě)sql,修正sql的大量時(shí)間,可以通過(guò)直接提問(wèn)的方式,將問(wèn)題轉(zhuǎn)換為sql語(yǔ)句。
2、當(dāng)前對(duì)于自然語(yǔ)言生成sql語(yǔ)句的方式,主要是包括以下幾種:一、依賴預(yù)設(shè)的規(guī)則進(jìn)行生成。二、直接借助大模型,構(gòu)造相應(yīng)的prompt來(lái)激發(fā)模型的涌現(xiàn)能力,達(dá)到更高精度生成sql的要求。三、通過(guò)大量數(shù)據(jù)預(yù)訓(xùn)練相應(yīng)的模型,并通過(guò)該模型生成sql語(yǔ)句。四、進(jìn)行一定量的數(shù)據(jù)的微調(diào),從而使用下游生成sql語(yǔ)句的任務(wù)。
3、但是第一種方式,強(qiáng)依賴于規(guī)則的設(shè)定,而當(dāng)前存在各式各樣復(fù)雜的需求,很難均有適配的規(guī)則,所以無(wú)法保證準(zhǔn)確生成查詢語(yǔ)句。第二種方式,依賴于在預(yù)訓(xùn)練過(guò)程中所獲得的知識(shí),而所獲知識(shí)是有限的,所以對(duì)于復(fù)雜的查詢請(qǐng)求,其也無(wú)法保證生成準(zhǔn)確的查詢語(yǔ)句。第三種方式,則需要大量的任務(wù)特點(diǎn)數(shù)據(jù)和計(jì)算資源,若無(wú)法保證具有大量的任務(wù)特點(diǎn)數(shù)據(jù)和計(jì)算資源,則也無(wú)法保證生成的查詢語(yǔ)句的準(zhǔn)確性。最后一種方式,在微調(diào)引入相應(yīng)的知識(shí)時(shí),可能會(huì)損害模型原本的能力,從而無(wú)法保證生成準(zhǔn)確的查詢語(yǔ)句。所以現(xiàn)有的這些方式,對(duì)于具有較為復(fù)雜的查詢需求表現(xiàn)都較差,即無(wú)法有效保證生成準(zhǔn)確的sql語(yǔ)句。
技術(shù)實(shí)現(xiàn)思路
1、基于上述現(xiàn)有技術(shù)的不足,本技術(shù)提供了一種基于大模型的sql語(yǔ)句生成方法及裝置,以解決現(xiàn)有技術(shù)無(wú)法有效保證生成準(zhǔn)確的sql語(yǔ)句的問(wèn)題。
2、為了實(shí)現(xiàn)上述目的,本技術(shù)提供了以下技術(shù)方案:
3、本技術(shù)第一方面提供了一種基于大模型的sql語(yǔ)句生成方法,包括:
4、獲取用戶的原始問(wèn)題以及數(shù)據(jù)庫(kù)中對(duì)應(yīng)的表結(jié)構(gòu)信息;
5、基于所述原始問(wèn)題以及所述表結(jié)構(gòu)信息,逐步對(duì)大模型進(jìn)行四個(gè)結(jié)構(gòu)信息查詢問(wèn)題的詢問(wèn),得到所述原始問(wèn)題的模式鏈接信息;其中,所述模式鏈接信息包括表名稱、字段名稱、字段取值以及外鍵信息;
6、分析所述原始問(wèn)題所屬的類(lèi)別;
7、若所述原始問(wèn)題屬于簡(jiǎn)單查詢,則按照第一預(yù)設(shè)模式,利用所述數(shù)據(jù)庫(kù)的信息、所述原始問(wèn)題及其模式鏈接信息,生成所述原始問(wèn)題的模式結(jié)構(gòu);其中,所述簡(jiǎn)單查詢?yōu)閮H對(duì)單表進(jìn)行操作的查詢;
8、若所述原始問(wèn)題屬于非嵌套復(fù)雜查詢,則按照第二預(yù)設(shè)模式,利用所述數(shù)據(jù)庫(kù)的信息、所述原始溫度及其對(duì)應(yīng)的模式鏈接信息、中間信息,生成所述原始問(wèn)題的模式結(jié)構(gòu);其中,所述中間信息為所述大模型生成的,引導(dǎo)多表連接的信息;所述非嵌套復(fù)雜查詢?yōu)槎啾磉B接,但不包含子查詢的查詢;
9、若所述原始問(wèn)題為嵌套復(fù)雜查詢,則按照第三預(yù)設(shè)模式,利用所述數(shù)據(jù)庫(kù)的信息、所述原始問(wèn)題及其對(duì)應(yīng)的模式鏈接信息、中間信息、各個(gè)子問(wèn)題及其答案,生成所述原始問(wèn)題的模式結(jié)構(gòu);其中,各個(gè)所述子問(wèn)題基于所述原始問(wèn)題構(gòu)造得到;各個(gè)所述子問(wèn)題的答案由所述大模型進(jìn)行處理得到;所述嵌套復(fù)雜查詢?yōu)榘硬樵兓蚣喜僮鞯牟樵儯?/p>
10、通過(guò)對(duì)所述大模型基于所述原始問(wèn)題的模式結(jié)構(gòu),分析得到所述原始問(wèn)題的sql查詢語(yǔ)句。
11、可選地,在上述的基于大模型的sql語(yǔ)句生成方法中,所述基于所述原始問(wèn)題以及所述表結(jié)構(gòu)信息,逐步對(duì)大模型進(jìn)行四個(gè)結(jié)構(gòu)信息查詢問(wèn)題的詢問(wèn),得到所述原始問(wèn)題的模式鏈接信息,包括:
12、基于所述原始問(wèn)題、所述表結(jié)構(gòu)信息以及信息詢問(wèn)提示,詢問(wèn)大模型所查詢的表格名稱,得到所述原始問(wèn)題對(duì)應(yīng)的表名稱;其中,所述信息詢問(wèn)提示為多個(gè)問(wèn)題詢問(wèn)樣本數(shù)據(jù)生成的prompt;
13、基于所述表結(jié)構(gòu)信息、所述原始問(wèn)題及其對(duì)應(yīng)的表名稱、所述信息詢問(wèn)提示,詢問(wèn)所述大模型所查詢的字段名稱,得到所述原始問(wèn)題對(duì)應(yīng)的字段名稱;
14、基于所述表結(jié)構(gòu)信息、所述原始問(wèn)題及其對(duì)應(yīng)的表名稱和對(duì)應(yīng)的字段名稱、所述信息詢問(wèn)提示,詢問(wèn)所述大模型所查詢的字段的取值,得到所述原始問(wèn)題對(duì)應(yīng)的字段取值;
15、基于所述表結(jié)構(gòu)信息、所述原始問(wèn)題及其對(duì)應(yīng)的表名稱和對(duì)應(yīng)的字段名稱、所述信息詢問(wèn)提示,詢問(wèn)所述大模型所查詢的表格間的外鍵關(guān)系,得到所述原始問(wèn)題對(duì)應(yīng)的外鍵信息。
16、可選地,在上述的基于大模型的sql語(yǔ)句生成方法中,還包括:
17、構(gòu)建多個(gè)包括問(wèn)題、模型思考過(guò)程以及答案的樣例的信息詢問(wèn)提示;
18、將各個(gè)所述信息詢問(wèn)提示中的模型思考過(guò)程中的各個(gè)步驟節(jié)點(diǎn)進(jìn)行打亂,得到新的所述信息詢問(wèn)提示;
19、按照預(yù)設(shè)概率,將新的信息詢問(wèn)提示中的模型思考過(guò)程中的步驟節(jié)點(diǎn)進(jìn)行隨機(jī)丟棄,得到最終的所述信息詢問(wèn)提示。
20、可選地,在上述的基于大模型的sql語(yǔ)句生成方法中,所述按照第一預(yù)設(shè)模式,利用所述數(shù)據(jù)庫(kù)的信息、所述原始問(wèn)題及其模式鏈接信息,生成所述原始問(wèn)題的模式結(jié)構(gòu),包括:
21、將所述數(shù)據(jù)庫(kù)的信息與多個(gè)簡(jiǎn)單查詢樣本數(shù)據(jù)依次進(jìn)行拼接處理,得到所述簡(jiǎn)單查詢的prompt;其中,一個(gè)所述簡(jiǎn)單查詢樣本數(shù)據(jù)包括一個(gè)樣本問(wèn)題、所述樣本問(wèn)題的模式鏈接信息以及所述樣本問(wèn)題的sql查詢語(yǔ)句;
22、將所述原始問(wèn)題及其模式鏈接信息,依次拼接在所述簡(jiǎn)單查詢的prompt的最后,得到所述原始問(wèn)題的模式結(jié)構(gòu)。
23、可選地,在上述的基于大模型的sql語(yǔ)句生成方法中,所述按照第二預(yù)設(shè)模式,利用所述數(shù)據(jù)庫(kù)的信息、所述原始溫度及其對(duì)應(yīng)的模式鏈接信息、中間信息,生成所述原始問(wèn)題的模式結(jié)構(gòu),包括:
24、將所述數(shù)據(jù)庫(kù)的信息與多個(gè)非嵌套復(fù)雜查詢樣本數(shù)據(jù)依次進(jìn)行拼接處理,得到所述非嵌套復(fù)雜查詢的prompt;其中,一個(gè)所述非嵌套復(fù)雜查詢樣本數(shù)據(jù)包括一個(gè)樣本問(wèn)題、所述樣本問(wèn)題的模式鏈接信息、所述樣本問(wèn)題的中間信息以及所述樣本問(wèn)題的sql查詢語(yǔ)句;
25、將所述原始問(wèn)題及其模式鏈接信息,依次拼接在所述非嵌套復(fù)雜查詢的prompt的最后;
26、通過(guò)所述大模型對(duì)基于所述非嵌套復(fù)雜查詢的prompt,分析出所述原始問(wèn)題的中間信息,并將所述原始問(wèn)題的中間信息拼接至所述非嵌套復(fù)雜查詢的prompt中,得到所述原始問(wèn)題的模式結(jié)構(gòu)。
27、可選地,在上述的基于大模型的sql語(yǔ)句生成方法中,所述按照第三預(yù)設(shè)模式,利用所述數(shù)據(jù)庫(kù)的信息、所述原始問(wèn)題及其對(duì)應(yīng)的模式鏈接信息、中間信息、各個(gè)子問(wèn)題及其答案,生成所述原始問(wèn)題的模式結(jié)構(gòu),包括:
28、將所述數(shù)據(jù)庫(kù)的信息與多個(gè)嵌套復(fù)雜查詢樣本數(shù)據(jù)依次進(jìn)行拼接處理,得到所述嵌套復(fù)雜查詢的prompt;其中,一個(gè)所述嵌套復(fù)雜查詢樣本數(shù)據(jù)包括一個(gè)樣本問(wèn)題、所述樣本問(wèn)題的模式鏈接信息、所述樣本問(wèn)題的各個(gè)子問(wèn)題以及子問(wèn)題的答案、所述樣本問(wèn)題的中間信息、所述樣本問(wèn)題的sql查詢語(yǔ)句;
29、將所述原始問(wèn)題及其模式鏈接信息,依次拼接在所述嵌套復(fù)雜查詢的prompt的最后;
30、通過(guò)所述大模型對(duì)基于所述嵌套復(fù)雜查詢的prompt,拆分所述原始問(wèn)題的多個(gè)子問(wèn)題對(duì)所述大模型進(jìn)行詢問(wèn),得到所述原始問(wèn)題的各個(gè)子問(wèn)題的答案,以及分析出所述原始問(wèn)題的中間信息;
31、將所述原始問(wèn)題的多個(gè)子問(wèn)題及其答案、所述原始問(wèn)題的中間信息拼接至所述非嵌套復(fù)雜查詢的prompt中,得到所述原始問(wèn)題的模式結(jié)構(gòu)。
32、可選地,在上述的基于大模型的sql語(yǔ)句生成方法中,所述將所述數(shù)據(jù)庫(kù)的信息與多個(gè)嵌套復(fù)雜查詢樣本數(shù)據(jù)依次進(jìn)行拼接處理,得到所述嵌套復(fù)雜查詢的prompt之前,還包括:
33、構(gòu)建多個(gè)初始的所述嵌套復(fù)雜查詢樣本數(shù)據(jù);
34、從各個(gè)初始的所述嵌套復(fù)雜查詢樣本數(shù)據(jù)中,隨機(jī)挑選多個(gè)所述嵌套復(fù)雜查詢樣本數(shù)據(jù),以及挑選出與所述原始問(wèn)題最相似的多個(gè)所述嵌套復(fù)雜查詢樣本數(shù)據(jù);
35、對(duì)挑選出的各個(gè)所述嵌套復(fù)雜查詢樣本數(shù)據(jù)進(jìn)行打亂,得到最終的所述嵌套復(fù)雜查詢樣本數(shù)據(jù)。
36、可選地,在上述的基于大模型的sql語(yǔ)句生成方法中,所述通過(guò)對(duì)所述大模型基于所述原始問(wèn)題的模式結(jié)構(gòu),分析得到所述原始問(wèn)題的sql查詢語(yǔ)句之后,還包括:
37、利用所述原始問(wèn)題、所述數(shù)據(jù)表結(jié)構(gòu)、所述原始問(wèn)題的sql查詢語(yǔ)句以及問(wèn)題修改要求,生成第一校正提示;其中,所述問(wèn)題修改要求用于要求對(duì)sql查詢語(yǔ)句中的所有問(wèn)題進(jìn)行修改;
38、通過(guò)所述大模型基于第一所述校正提示,對(duì)所述原始問(wèn)題的sql查詢語(yǔ)句,得到校準(zhǔn)后的所述原始問(wèn)題的sql查詢語(yǔ)句。
39、可選地,在上述的基于大模型的sql語(yǔ)句生成方法中,所述通過(guò)對(duì)所述大模型基于所述原始問(wèn)題的模式結(jié)構(gòu),分析得到所述原始問(wèn)題的sql查詢語(yǔ)句之后,還包括:
40、利用所述原始問(wèn)題、所述數(shù)據(jù)表結(jié)構(gòu)、所述原始問(wèn)題的sql查詢語(yǔ)句以及修改建議,生成第二校正提示;
41、通過(guò)所述大模型基于所述第二校正提示,對(duì)所述原始問(wèn)題的sql查詢語(yǔ)句,得到校準(zhǔn)后的所述原始問(wèn)題的sql查詢語(yǔ)句。
42、本技術(shù)第二方面提供了一種基于大模型的sql語(yǔ)句生成裝置,包括:
43、獲取單元,用于獲取用戶的原始問(wèn)題以及數(shù)據(jù)庫(kù)中對(duì)應(yīng)的表結(jié)構(gòu)信息;
44、逐步匹配單元,用于基于所述原始問(wèn)題以及所述表結(jié)構(gòu)信息,逐步對(duì)大模型進(jìn)行四個(gè)結(jié)構(gòu)信息查詢問(wèn)題的詢問(wèn),得到所述原始問(wèn)題的模式鏈接信息;其中,所述模式鏈接信息包括表名稱、字段名稱、字段取值以及外鍵信息;
45、分類(lèi)單元,用于分析所述原始問(wèn)題所屬的類(lèi)別;
46、第一生成單元,用于在所述原始問(wèn)題屬于簡(jiǎn)單查詢時(shí),按照第一預(yù)設(shè)模式,利用所述數(shù)據(jù)庫(kù)的信息、所述原始問(wèn)題及其模式鏈接信息,生成所述原始問(wèn)題的模式結(jié)構(gòu);其中,所述簡(jiǎn)單查詢?yōu)閮H對(duì)單表進(jìn)行操作的查詢;
47、第二生成單元,用于在所述原始問(wèn)題屬于非嵌套復(fù)雜查詢時(shí),按照第二預(yù)設(shè)模式,利用所述數(shù)據(jù)庫(kù)的信息、所述原始溫度及其對(duì)應(yīng)的模式鏈接信息、中間信息,生成所述原始問(wèn)題的模式結(jié)構(gòu);其中,所述中間信息為所述大模型生成的,引導(dǎo)多表連接的信息;所述非嵌套復(fù)雜查詢?yōu)槎啾磉B接,但不包含子查詢的查詢;
48、第三生成單元,用于在所述原始問(wèn)題為嵌套復(fù)雜查詢時(shí),按照第三預(yù)設(shè)模式,利用所述數(shù)據(jù)庫(kù)的信息、所述原始問(wèn)題及其對(duì)應(yīng)的模式鏈接信息、中間信息、各個(gè)子問(wèn)題及其答案,生成所述原始問(wèn)題的模式結(jié)構(gòu);其中,各個(gè)所述子問(wèn)題基于所述原始問(wèn)題構(gòu)造得到;各個(gè)所述子問(wèn)題的答案由所述大模型進(jìn)行處理得到;所述嵌套復(fù)雜查詢?yōu)榘硬樵兓蚣喜僮鞯牟樵儯?/p>
49、分析單元,用于通過(guò)對(duì)所述大模型基于所述原始問(wèn)題的模式結(jié)構(gòu),分析得到所述原始問(wèn)題的sql查詢語(yǔ)句。
50、可選地,在上述的基于大模型的sql語(yǔ)句生成裝置中,所述逐步匹配單元,包括:
51、第一匹配單元,用于基于所述原始問(wèn)題、所述表結(jié)構(gòu)信息以及信息詢問(wèn)提示,詢問(wèn)大模型所查詢的表格名稱,得到所述原始問(wèn)題對(duì)應(yīng)的表名稱;其中,所述信息詢問(wèn)提示為多個(gè)問(wèn)題詢問(wèn)樣本數(shù)據(jù)生成的prompt;
52、第二匹配單元,用于基于所述表結(jié)構(gòu)信息、所述原始問(wèn)題及其對(duì)應(yīng)的表名稱、所述信息詢問(wèn)提示,詢問(wèn)所述大模型所查詢的字段名稱,得到所述原始問(wèn)題對(duì)應(yīng)的字段名稱;
53、第三匹配單元,用于基于所述表結(jié)構(gòu)信息、所述原始問(wèn)題及其對(duì)應(yīng)的表名稱和對(duì)應(yīng)的字段名稱、所述信息詢問(wèn)提示,詢問(wèn)所述大模型所查詢的字段的取值,得到所述原始問(wèn)題對(duì)應(yīng)的字段取值;
54、第四匹配單元,用于基于所述表結(jié)構(gòu)信息、所述原始問(wèn)題及其對(duì)應(yīng)的表名稱和對(duì)應(yīng)的字段名稱、所述信息詢問(wèn)提示,詢問(wèn)所述大模型所查詢的表格間的外鍵關(guān)系,得到所述原始問(wèn)題對(duì)應(yīng)的外鍵信息。
55、可選地,在上述的基于大模型的sql語(yǔ)句生成裝置中,還包括:
56、第一構(gòu)建單元,用于構(gòu)建多個(gè)包括問(wèn)題、模型思考過(guò)程以及答案的樣例的信息詢問(wèn)提示;
57、第一打亂單元,用于將各個(gè)所述信息詢問(wèn)提示中的模型思考過(guò)程中的各個(gè)步驟節(jié)點(diǎn)進(jìn)行打亂,得到新的所述信息詢問(wèn)提示;
58、丟棄單元,用于按照預(yù)設(shè)概率,將新的信息詢問(wèn)提示中的模型思考過(guò)程中的步驟節(jié)點(diǎn)進(jìn)行隨機(jī)丟棄,得到最終的所述信息詢問(wèn)提示。
59、可選地,在上述的基于大模型的sql語(yǔ)句生成裝置中,所述第一生成單元執(zhí)行所述按照第一預(yù)設(shè)模式,利用所述數(shù)據(jù)庫(kù)的信息、所述原始問(wèn)題及其模式鏈接信息,生成所述原始問(wèn)題的模式結(jié)構(gòu)時(shí),用于:
60、將所述數(shù)據(jù)庫(kù)的信息與多個(gè)簡(jiǎn)單查詢樣本數(shù)據(jù)依次進(jìn)行拼接處理,得到所述簡(jiǎn)單查詢的prompt;其中,一個(gè)所述簡(jiǎn)單查詢樣本數(shù)據(jù)包括一個(gè)樣本問(wèn)題、所述樣本問(wèn)題的模式鏈接信息以及所述樣本問(wèn)題的sql查詢語(yǔ)句;
61、將所述原始問(wèn)題及其模式鏈接信息,依次拼接在所述簡(jiǎn)單查詢的prompt的最后,得到所述原始問(wèn)題的模式結(jié)構(gòu)。
62、可選地,在上述的基于大模型的sql語(yǔ)句生成裝置中,第二生成單元執(zhí)行所述按照第二預(yù)設(shè)模式,利用所述數(shù)據(jù)庫(kù)的信息、所述原始溫度及其對(duì)應(yīng)的模式鏈接信息、中間信息,生成所述原始問(wèn)題的模式結(jié)構(gòu)時(shí),用于:
63、將所述數(shù)據(jù)庫(kù)的信息與多個(gè)非嵌套復(fù)雜查詢樣本數(shù)據(jù)依次進(jìn)行拼接處理,得到所述非嵌套復(fù)雜查詢的prompt;其中,一個(gè)所述非嵌套復(fù)雜查詢樣本數(shù)據(jù)包括一個(gè)樣本問(wèn)題、所述樣本問(wèn)題的模式鏈接信息、所述樣本問(wèn)題的中間信息以及所述樣本問(wèn)題的sql查詢語(yǔ)句;
64、將所述原始問(wèn)題及其模式鏈接信息,依次拼接在所述非嵌套復(fù)雜查詢的prompt的最后;
65、通過(guò)所述大模型對(duì)基于所述非嵌套復(fù)雜查詢的prompt,分析出所述原始問(wèn)題的中間信息,并將所述原始問(wèn)題的中間信息拼接至所述非嵌套復(fù)雜查詢的prompt中,得到所述原始問(wèn)題的模式結(jié)構(gòu)。
66、可選地,在上述的基于大模型的sql語(yǔ)句生成裝置中,第三生成單元執(zhí)行所述按照第三預(yù)設(shè)模式,利用所述數(shù)據(jù)庫(kù)的信息、所述原始問(wèn)題及其對(duì)應(yīng)的模式鏈接信息、中間信息、各個(gè)子問(wèn)題及其答案,生成所述原始問(wèn)題的模式結(jié)構(gòu)時(shí),用于:
67、將所述數(shù)據(jù)庫(kù)的信息與多個(gè)嵌套復(fù)雜查詢樣本數(shù)據(jù)依次進(jìn)行拼接處理,得到所述嵌套復(fù)雜查詢的prompt;其中,一個(gè)所述嵌套復(fù)雜查詢樣本數(shù)據(jù)包括一個(gè)樣本問(wèn)題、所述樣本問(wèn)題的模式鏈接信息、所述樣本問(wèn)題的各個(gè)子問(wèn)題以及子問(wèn)題的答案、所述樣本問(wèn)題的中間信息、所述樣本問(wèn)題的sql查詢語(yǔ)句;
68、將所述原始問(wèn)題及其模式鏈接信息,依次拼接在所述嵌套復(fù)雜查詢的prompt的最后;
69、通過(guò)所述大模型對(duì)基于所述嵌套復(fù)雜查詢的prompt,拆分所述原始問(wèn)題的多個(gè)子問(wèn)題對(duì)所述大模型進(jìn)行詢問(wèn),得到所述原始問(wèn)題的各個(gè)子問(wèn)題的答案,以及分析出所述原始問(wèn)題的中間信息;
70、將所述原始問(wèn)題的多個(gè)子問(wèn)題及其答案、所述原始問(wèn)題的中間信息拼接至所述非嵌套復(fù)雜查詢的prompt中,得到所述原始問(wèn)題的模式結(jié)構(gòu)。
71、可選地,在上述的基于大模型的sql語(yǔ)句生成裝置中,還包括:
72、第二構(gòu)建單元,用于構(gòu)建多個(gè)初始的所述嵌套復(fù)雜查詢樣本數(shù)據(jù);
73、第一挑選單元,用于從各個(gè)初始的所述嵌套復(fù)雜查詢樣本數(shù)據(jù)中,隨機(jī)挑選多個(gè)所述嵌套復(fù)雜查詢樣本數(shù)據(jù),以及挑選出與所述原始問(wèn)題最相似的多個(gè)所述嵌套復(fù)雜查詢樣本數(shù)據(jù);
74、第二挑選單元,用于對(duì)挑選出的各個(gè)所述嵌套復(fù)雜查詢樣本數(shù)據(jù)進(jìn)行打亂,得到最終的所述嵌套復(fù)雜查詢樣本數(shù)據(jù)。
75、可選地,在上述的基于大模型的sql語(yǔ)句生成裝置中,還包括:
76、第一校正提示生成單元,用于利用所述原始問(wèn)題、所述數(shù)據(jù)表結(jié)構(gòu)、所述原始問(wèn)題的sql查詢語(yǔ)句以及問(wèn)題修改要求,生成第一校正提示;其中,所述問(wèn)題修改要求用于要求對(duì)sql查詢語(yǔ)句中的所有問(wèn)題進(jìn)行修改;
77、第一校正單元,用于通過(guò)所述大模型基于第一所述校正提示,對(duì)所述原始問(wèn)題的sql查詢語(yǔ)句,得到校準(zhǔn)后的所述原始問(wèn)題的sql查詢語(yǔ)句。
78、可選地,在上述的基于大模型的sql語(yǔ)句生成裝置中,還包括:
79、第二校正提示生成單元,用于利用所述原始問(wèn)題、所述數(shù)據(jù)表結(jié)構(gòu)、所述原始問(wèn)題的sql查詢語(yǔ)句以及修改建議,生成第二校正提示;
80、第二校正單元,用于通過(guò)所述大模型基于所述第二校正提示,對(duì)所述原始問(wèn)題的sql查詢語(yǔ)句,得到校準(zhǔn)后的所述原始問(wèn)題的sql查詢語(yǔ)句。
81、本技術(shù)提供了一種基于大模型的sql語(yǔ)句生成方法,獲取用戶的原始問(wèn)題以及數(shù)據(jù)庫(kù)中對(duì)應(yīng)的表結(jié)構(gòu)信息,并基于原始問(wèn)題以及表結(jié)構(gòu)信息,逐步對(duì)大模型進(jìn)行四個(gè)結(jié)構(gòu)信息查詢問(wèn)題的詢問(wèn),得到原始問(wèn)題的模式鏈接信息。其中,模式鏈接信息包括表名稱、字段名稱、字段取值以及外鍵信息,從而將復(fù)雜的問(wèn)題分解為多個(gè)簡(jiǎn)單的查詢問(wèn)題,進(jìn)而準(zhǔn)確地得到復(fù)雜問(wèn)題的相關(guān)信息,以基于這些信息可以更加準(zhǔn)確地生成sql語(yǔ)句。然后分析原始問(wèn)題所屬的類(lèi)別,以能針對(duì)原始問(wèn)題所屬的類(lèi)別,有針對(duì)性地進(jìn)行分析,以能更準(zhǔn)確地生成相應(yīng)的sql查詢語(yǔ)句。具體的,若原始問(wèn)題屬于簡(jiǎn)單查詢,則按照第一預(yù)設(shè)模式,利用數(shù)據(jù)庫(kù)的信息、原始問(wèn)題及其模式鏈接信息,生成原始問(wèn)題的模式結(jié)構(gòu)。其中,簡(jiǎn)單查詢?yōu)閮H對(duì)單表進(jìn)行操作的查詢。若原始問(wèn)題屬于非嵌套復(fù)雜查詢,則按照第二預(yù)設(shè)模式,利用數(shù)據(jù)庫(kù)的信息、原始溫度及其對(duì)應(yīng)的模式鏈接信息、中間信息,生成原始問(wèn)題的模式結(jié)構(gòu)。其中,中間信息為大模型生成的,引導(dǎo)多表連接的信息。非嵌套復(fù)雜查詢?yōu)槎啾磉B接,但不包含子查詢的查詢。若原始問(wèn)題為嵌套復(fù)雜查詢,則按照第三預(yù)設(shè)模式,利用數(shù)據(jù)庫(kù)的信息、原始問(wèn)題及其對(duì)應(yīng)的模式鏈接信息、中間信息、各個(gè)子問(wèn)題及其答案,生成原始問(wèn)題的模式結(jié)構(gòu)。其中,各個(gè)子問(wèn)題基于原始問(wèn)題構(gòu)造得到。各個(gè)子問(wèn)題的答案由大模型進(jìn)行處理得到。嵌套復(fù)雜查詢?yōu)榘硬樵兓蚣喜僮鞯牟樵?。最后通過(guò)對(duì)大模型基于原始問(wèn)題的模式結(jié)構(gòu),分析得到原始問(wèn)題的sql查詢語(yǔ)句,從而基于大模型實(shí)現(xiàn)了一種準(zhǔn)確生成sql查詢語(yǔ)句的方法。