本發(fā)明涉及計(jì)算機(jī),尤其涉及一種查詢語句生成方法、裝置、設(shè)備、存儲介質(zhì)及程序產(chǎn)品。
背景技術(shù):
1、隨著互聯(lián)網(wǎng)和物聯(lián)網(wǎng)技術(shù)的飛速發(fā)展,以及各種傳感器、智能設(shè)備的普及,數(shù)據(jù)的產(chǎn)生和存儲呈指數(shù)級增長。尤其是近年企業(yè)數(shù)字化的口號的提出,大數(shù)據(jù)的應(yīng)用場景不斷拓展,包括金融、醫(yī)療、教育、零售、制造等各個(gè)領(lǐng)域,涉及數(shù)據(jù)管理、數(shù)據(jù)分析、決策支持等多個(gè)方面。
2、目前,企業(yè)的數(shù)據(jù)表通用開發(fā)流程為:用戶先通過需要單描述需求分析內(nèi)容,接著需求人員分析需求—sql(structured?query?language,結(jié)構(gòu)化查詢語言)開發(fā)人員根據(jù)需求描述開發(fā)sql—測試應(yīng)用—上線—用戶消費(fèi)需求。然而此種應(yīng)用開發(fā)完成后只能應(yīng)對固有sql的查詢。
3、相關(guān)技術(shù)中,主要采用nlp(natural?language?processing,自然語言處理)中的nl2sql技術(shù)將自然語言直接轉(zhuǎn)化成為可直接執(zhí)行的sql,實(shí)現(xiàn)數(shù)據(jù)查詢和統(tǒng)計(jì)。這些技術(shù)通常以調(diào)整深度神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)來提高測試指標(biāo)為主,在通用的測試集上表現(xiàn)不佳,也沒有能夠在企業(yè)落地實(shí)施的可行性方案。
4、因此,亟需提出一種查詢語句生成方法、裝置、設(shè)備、存儲介質(zhì)及程序產(chǎn)品來解決上述技術(shù)問題。
技術(shù)實(shí)現(xiàn)思路
1、本發(fā)明提供一種查詢語句生成方法、裝置、設(shè)備、存儲介質(zhì)及程序產(chǎn)品,用以解決現(xiàn)有技術(shù)中調(diào)整深度神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)來提高測試指標(biāo)為主,在通用的測試集上表現(xiàn)不佳,導(dǎo)致結(jié)構(gòu)化查詢語言生成難以達(dá)到預(yù)期目標(biāo),精準(zhǔn)度較差的缺陷,實(shí)現(xiàn)精準(zhǔn)地獲取結(jié)構(gòu)化查詢語言。
2、本發(fā)明提供一種查詢語句生成方法,包括:
3、響應(yīng)于用戶提交的第一問題文本,通過大型語言模型llm對所述第一問題文本進(jìn)行編碼,得到第一句向量;
4、基于所述第一句向量以及數(shù)據(jù)表的表注釋,從預(yù)設(shè)元數(shù)據(jù)庫中選取與所述第一問題文本的相似度排名靠前的n個(gè)數(shù)據(jù)表,其中,n為正整數(shù);
5、基于各所述數(shù)據(jù)表的第一表相關(guān)信息,構(gòu)建各所述數(shù)據(jù)表的第一提示信息,其中,所述第一表相關(guān)信息包括表注釋、字段名、字段注釋、相關(guān)問題和思維鏈;
6、將所述第一提示信息輸入至llm中,得到所述llm輸出的所述第一問題文本對應(yīng)的第一結(jié)構(gòu)化查詢語言。
7、根據(jù)本發(fā)明提供的一種查詢語句生成方法,所述預(yù)設(shè)元數(shù)據(jù)庫中各個(gè)數(shù)據(jù)庫表的所述相關(guān)問題和所述思維鏈?zhǔn)峭ㄟ^以下方式得到的:
8、從訓(xùn)練數(shù)據(jù)庫中獲取第二問題文本,通過所述llm得到所述第二問題文本匹配的第二結(jié)構(gòu)化查詢語言;
9、通過所述llm對所述第二問題文本與所述第二結(jié)構(gòu)化查詢語言進(jìn)行編碼,得到第三句向量;
10、基于所述第二問題文本與所述第二結(jié)構(gòu)化查詢語言,生成第三提示信息,并將所述第三提示信息與所述第三句向量輸入至所述llm中,得到所述llm輸出的描述結(jié)果,其中,所述第三提示信息用于指示所述llm描述出根據(jù)所述第二問題文本生成所述第二結(jié)構(gòu)化查詢語言的生成步驟;
11、對所述描述結(jié)果進(jìn)行關(guān)鍵句提取,并將提取出的關(guān)鍵句對應(yīng)存儲至預(yù)設(shè)元數(shù)據(jù)庫中與所述第二問題文本匹配的數(shù)據(jù)表的相關(guān)問題字段和思維鏈字段中,其中,所述相關(guān)問題字段用于描述數(shù)據(jù)表的相關(guān)問題與結(jié)構(gòu)化查詢語言,所述思維鏈字段用于記錄所述結(jié)構(gòu)化查詢語言的生成步驟。
12、根據(jù)本發(fā)明提供的一種查詢語句生成方法,所述通過所述llm得到所述第二問題文本匹配的第二結(jié)構(gòu)化查詢語言,包括:
13、從所述訓(xùn)練數(shù)據(jù)庫中獲取第二問題文本,通過所述llm對所述第二問題文本進(jìn)行編碼,得到第二句向量;
14、基于所述第二句向量以及數(shù)據(jù)表的表注釋,從預(yù)設(shè)元數(shù)據(jù)庫中選取與所述第二問題文本的相似度排名靠前的m個(gè)數(shù)據(jù)表,其中,m為正整數(shù);
15、基于各所述數(shù)據(jù)表的第二表相關(guān)信息,構(gòu)建各所述數(shù)據(jù)表的第二提示信息,其中,所述第二表相關(guān)信息包括表注釋、字段名和字段注釋;
16、將所述第二提示信息輸入至所述llm中,得到所述llm輸出的所述第二問題文本對應(yīng)的第二結(jié)構(gòu)化查詢語言。
17、根據(jù)本發(fā)明提供的一種查詢語句生成方法,所述通過所述llm對所述第二問題文本與所述第二結(jié)構(gòu)化查詢語言進(jìn)行編碼,得到第三句向量,還包括:
18、對所述第二結(jié)構(gòu)化查詢語言進(jìn)行語法校驗(yàn);
19、在所述第二結(jié)構(gòu)化查詢語言通過語法校驗(yàn)的情況下,將所述第二結(jié)構(gòu)化查詢語言發(fā)送至人工處理終端,以供所述人工處理終端校驗(yàn)所述第二結(jié)構(gòu)化查詢語言是否符合業(yè)務(wù)要求;
20、在接收到所述人工處理終端判定所述第二結(jié)構(gòu)化查詢語言符合業(yè)務(wù)要求的反饋結(jié)果的情況下,通過所述llm對所述第二問題文本與所述第二結(jié)構(gòu)化查詢語言進(jìn)行編碼,得到第三句向量。
21、根據(jù)本發(fā)明提供的一種查詢語句生成方法,所述方法還包括:
22、繼續(xù)執(zhí)行所述從訓(xùn)練數(shù)據(jù)庫中獲取第二問題文本,通過所述llm得到所述第二問題文本匹配的第二結(jié)構(gòu)化查詢語言;
23、繼續(xù)執(zhí)行所述通過所述llm對所述第二問題文本與所述第二結(jié)構(gòu)化查詢語言進(jìn)行編碼,得到第三句向量;
24、繼續(xù)執(zhí)行所述基于所述第二問題文本與所述第二結(jié)構(gòu)化查詢語言,生成第三提示信息,并將所述第三提示信息與所述第三句向量輸入至所述llm中,得到所述llm輸出的描述結(jié)果,其中,所述第三提示信息用于指示所述llm描述出根據(jù)所述第二問題文本生成所述第二結(jié)構(gòu)化查詢語言的生成步驟;
25、繼續(xù)執(zhí)行所述對所述描述結(jié)果進(jìn)行關(guān)鍵句提取,并將提取出的關(guān)鍵句對應(yīng)存儲至預(yù)設(shè)元數(shù)據(jù)庫中與所述第二問題文本匹配的數(shù)據(jù)表的相關(guān)問題字段和思維鏈字段中,直至所述預(yù)設(shè)元數(shù)據(jù)庫中的數(shù)據(jù)庫表的相關(guān)問題字段和思維鏈字段的更新占比達(dá)到預(yù)設(shè)閾值。
26、根據(jù)本發(fā)明提供的一種查詢語句生成方法,所述將所述第一提示信息輸入至llm中,得到所述llm輸出的所述第一問題文本對應(yīng)的第一結(jié)構(gòu)化查詢語言之后,還包括:
27、根據(jù)經(jīng)過用戶驗(yàn)證為生成正確的若干個(gè)所述第一結(jié)構(gòu)化查詢語言與對應(yīng)的所述第一問題文本對所述llm進(jìn)行精調(diào)訓(xùn)練,得到精調(diào)訓(xùn)練的llm;
28、響應(yīng)于用戶提交的第三問題文本,將所述第三問題文本輸入至所述精調(diào)訓(xùn)練的llm,得到所述精調(diào)訓(xùn)練的llm輸出的第三結(jié)構(gòu)化查詢語言。
29、本發(fā)明還提供一種查詢語句生成裝置,包括:
30、編碼單元,用于響應(yīng)于用戶提交的第一問題文本,通過大型語言模型llm對所述第一問題文本進(jìn)行編碼,得到第一句向量;
31、選取單元,用于基于所述第一句向量以及數(shù)據(jù)表的表注釋,從預(yù)設(shè)元數(shù)據(jù)庫中選取與所述第一問題文本的相似度排名靠前的n個(gè)數(shù)據(jù)表,其中,n為正整數(shù);
32、構(gòu)建單元,用于基于各所述數(shù)據(jù)表的第一表相關(guān)信息,構(gòu)建各所述數(shù)據(jù)表的第一提示信息,其中,所述第一表相關(guān)信息包括表注釋、字段名、字段注釋、相關(guān)問題和思維鏈;
33、生成單元,用于將所述第一提示信息輸入至llm中,得到所述llm輸出的所述第一問題文本對應(yīng)的第一結(jié)構(gòu)化查詢語言。
34、本發(fā)明還提供一種電子設(shè)備,包括存儲器、處理器及存儲在存儲器上并可在處理器上運(yùn)行的計(jì)算機(jī)程序,所述處理器執(zhí)行所述程序時(shí)實(shí)現(xiàn)如上述任一種所述查詢語句生成方法。
35、本發(fā)明還提供一種非暫態(tài)計(jì)算機(jī)可讀存儲介質(zhì),其上存儲有計(jì)算機(jī)程序,該計(jì)算機(jī)程序被處理器執(zhí)行時(shí)實(shí)現(xiàn)如上述任一種所述查詢語句生成方法。
36、本發(fā)明還提供一種計(jì)算機(jī)程序產(chǎn)品,包括計(jì)算機(jī)程序,所述計(jì)算機(jī)程序被處理器執(zhí)行時(shí)實(shí)現(xiàn)如上述任一種所述查詢語句生成方法。
37、本發(fā)明提供的查詢語句生成方法、裝置、設(shè)備、存儲介質(zhì)及程序產(chǎn)品,包括響應(yīng)于用戶提交的第一問題文本,通過llm對第一問題文本進(jìn)行編碼,得到第一句向量;基于第一句向量,從預(yù)設(shè)元數(shù)據(jù)庫中選取與第一問題文本的相似度排名靠前的n個(gè)數(shù)據(jù)表;基于各數(shù)據(jù)表的第一表相關(guān)信息,構(gòu)建各數(shù)據(jù)表的第一提示信息,其中,第一表相關(guān)信息包括表注釋、字段名、字段注釋、相關(guān)問題和思維鏈;將第一提示信息輸入至llm中,得到llm輸出的第一問題文本對應(yīng)的第一結(jié)構(gòu)化查詢語言。本發(fā)明通過利用相關(guān)問題、思維鏈?zhǔn)沟脴?gòu)建的提示信息更加豐富高效,通過提示學(xué)習(xí)對llm進(jìn)行微調(diào)實(shí)現(xiàn)了llm生成的結(jié)構(gòu)化查詢語言的準(zhǔn)確性。