两个人的电影免费视频_国产精品久久久久久久久成人_97视频在线观看播放_久久这里只有精品777_亚洲熟女少妇二三区_4438x8成人网亚洲av_内谢国产内射夫妻免费视频_人妻精品久久久久中国字幕

通過構(gòu)建表模式與SQL轉(zhuǎn)換降低自然語言生成復雜SQL的方法與流程

文檔序號:40653359發(fā)布日期:2025-01-10 19:01閱讀:3來源:國知局
通過構(gòu)建表模式與SQL轉(zhuǎn)換降低自然語言生成復雜SQL的方法與流程

本發(fā)明涉及自然語言轉(zhuǎn)為數(shù)據(jù)庫的結(jié)構(gòu)化查詢語言,特別是涉及一種通過構(gòu)建表模式與sql轉(zhuǎn)換降低自然語言生成復雜sql的方法。


背景技術(shù):

1、自然語言轉(zhuǎn)sql(natural?language?to?structured?query?language,?nl2sql)任務(wù)是將自然語言轉(zhuǎn)為數(shù)據(jù)庫的結(jié)構(gòu)化查詢語言(structured?query?language,?sql),該技術(shù)能使用戶在不會sql的情況下,通過自然語言與數(shù)據(jù)庫進行交互。由于用戶問題表達方式的多樣性、數(shù)據(jù)庫表結(jié)構(gòu)和sql的復雜性,從自然語言問題中生成準確的sql是一項具有挑戰(zhàn)性的任務(wù)。

2、傳統(tǒng)的nl2sql系統(tǒng)通?;谝?guī)則和深度學習網(wǎng)絡(luò)的方法,?雖然取得了不錯的性能,?但基于規(guī)則的方法依賴于人工,?因此成本昂貴。而傳統(tǒng)基于神經(jīng)網(wǎng)絡(luò)的方法需要不斷地根據(jù)業(yè)務(wù)的領(lǐng)域來微調(diào)模型,?在數(shù)據(jù)庫越來越復雜的當下,?非常不靈活。

3、近年來,隨著大語言模型(large?language?models,llm)的流行,基于llm的nl2sql成為了廣受關(guān)注的探索方向。llm憑借強大的語言理解能力,可以在不需要微調(diào)的情況下,僅憑借提示詞就獲得不錯的效果。基于大模型的nl2sql雖然相比于之前的方法取得了突破,但依然存在以下問題:

4、1.?llm對數(shù)據(jù)庫模式的理解弱:?llm理解數(shù)據(jù)庫中表名、列名和各種表之間的關(guān)系,是準確生成sql查詢的基礎(chǔ)。然而,數(shù)據(jù)庫模式通常是復雜的,并且不總是符合最理想的設(shè)計規(guī)范,在不同領(lǐng)域也有很大的差異.如何準確地表示數(shù)據(jù)庫模式是一項具有挑戰(zhàn)性的任務(wù)。

5、2.?生成的復雜sql不符合預期:?為了完成實現(xiàn)用戶的查詢,可能需要使用到外聯(lián),子查詢,窗口函數(shù)等操作,這幾類sql通常比較長,涉及的表和操作類型更多,因此llm準確生成sql的難度更大。同時主流大模型在訓練階段所使用的數(shù)據(jù)集中出現(xiàn)包含這幾類操作的sql的數(shù)量少,因此主流大模型并不擅長生成復雜的sql。

6、因此,針對現(xiàn)有技術(shù)不足,提供一種通過構(gòu)建表模式與sql轉(zhuǎn)換降低自然語言生成復雜sql的方法以克服現(xiàn)有技術(shù)不足甚為必要。


技術(shù)實現(xiàn)思路

1、本發(fā)明的目的在于避免現(xiàn)有技術(shù)的不足之處而提供一種通過構(gòu)建表模式與sql轉(zhuǎn)換降低自然語言生成復雜sql的方法,具有復雜查詢更加準確、維護成本更低、耗時更短的特點。

2、本發(fā)明的目的通過以下技術(shù)措施實現(xiàn)。

3、提供一種通過構(gòu)建表模式與sql轉(zhuǎn)換降低自然語言生成復雜sql的方法,包括:預先配置數(shù)據(jù)庫模式和對用戶的請求進行處理;

4、預先配置數(shù)據(jù)庫模式,具體配置步驟如下:

5、1.1用戶配置數(shù)據(jù)庫的連接信息,以獲得數(shù)據(jù)庫中目標數(shù)據(jù)庫的讀權(quán)限;

6、1.2根據(jù)步驟1.1中用戶配置的信息,從目標數(shù)據(jù)庫讀取表模式信息,同時隨機讀取兩條記錄并分別命名為數(shù)據(jù)1和數(shù)據(jù)2,將所讀取的表模式信息和讀取的記錄以表為單位,存儲到數(shù)據(jù)庫中,作為表模式;所存儲的表模式的集合構(gòu)成數(shù)據(jù)庫模式;

7、系統(tǒng)對用戶的請求query的處理,具體步驟如下:

8、2.1檢索與query相關(guān)的數(shù)據(jù)庫模式,具體通過向量檢索和全文檢索的混合,?從數(shù)據(jù)庫中檢索出相關(guān)的表模式;

9、2.2檢索與query相關(guān)的sql示例,具體通過向量檢索和全文檢索的混合,?從數(shù)據(jù)庫中檢索出相關(guān)的sql示例;

10、2.3提示詞構(gòu)建,具體是將query、表模式、sql示例填入prompt模板中;

11、2.4?通過llm模型生成sql;

12、2.5重寫sql,將原本復雜的sql操作簡化為單表操作sql;

13、2.6?sql執(zhí)行。

14、優(yōu)選的,上述的通過構(gòu)建表模式與sql轉(zhuǎn)換降低自然語言生成復雜sql的方法,步驟1.2中的所述表模式信息為表名、表描述、模式名、字段名、字段類型、字段描述。

15、優(yōu)選的,上述的通過構(gòu)建表模式與sql轉(zhuǎn)換降低自然語言生成復雜sql的方法,還包括步驟1.3對讀取到的數(shù)據(jù)庫模式進行修改,得到修改后的數(shù)據(jù)庫模式及對應(yīng)的表模式。

16、優(yōu)選的,上述的通過構(gòu)建表模式與sql轉(zhuǎn)換降低自然語言生成復雜sql的方法,步驟1.3中,對讀取到的數(shù)據(jù)庫模式進行修改,具體是刪除nl2sql中不會用到的表模式以及刪除表模式中用不到的字段。

17、優(yōu)選的,上述的通過構(gòu)建表模式與sql轉(zhuǎn)換降低自然語言生成復雜sql的方法,所述數(shù)據(jù)庫模式的表含有表名、表描述和csv格式的字段申明;csv格式的字段申明中含有5個字段,?分別為字段名、數(shù)據(jù)類型、描述、數(shù)據(jù)1和數(shù)據(jù)2。

18、優(yōu)選的,上述的通過構(gòu)建表模式與sql轉(zhuǎn)換降低自然語言生成復雜sql的方法,在基于csv格式的數(shù)據(jù)庫模式上,構(gòu)建偽表,通過偽表將原本涉及到多張表的查詢操作簡化為單表操作。

19、優(yōu)選的,上述的通過構(gòu)建表模式與sql轉(zhuǎn)換降低自然語言生成復雜sql的方法,通過將兩張表的字段在邏輯上進行合并得到偽表,將邏輯上合并的表的模式稱為偽表模式。

20、優(yōu)選的,上述的通過構(gòu)建表模式與sql轉(zhuǎn)換降低自然語言生成復雜sql的方法,大模型根據(jù)用戶的query生成的sql中使用到了偽表模式,則將sql根據(jù)規(guī)則重寫為操作原始表的sql。

21、優(yōu)選的,上述的通過構(gòu)建表模式與sql轉(zhuǎn)換降低自然語言生成復雜sql的方法,步驟1.3中,根據(jù)實際業(yè)務(wù)需求,對讀取到的數(shù)據(jù)庫模式進行修改,得到修改后的標準數(shù)據(jù)庫模式及對應(yīng)的標準表模式。

22、本發(fā)明的通過構(gòu)建表模式與sql轉(zhuǎn)換降低自然語言生成復雜sql的方法,包括:預先配置數(shù)據(jù)庫模式和對用戶的請求進行處理;預先配置數(shù)據(jù)庫模式,具體配置步驟如下:1.1用戶配置數(shù)據(jù)庫的連接信息,以獲得數(shù)據(jù)庫中目標數(shù)據(jù)庫的讀權(quán)限;1.2根據(jù)步驟1.1中用戶配置的信息,從目標數(shù)據(jù)庫讀取表模式信息,同時隨機讀取兩條記錄并分別命名為數(shù)據(jù)1和數(shù)據(jù)2,將所讀取的表模式信息和讀取的記錄以表為單位,存儲到數(shù)據(jù)庫中,作為表模式;所存儲的表模式的集合構(gòu)成數(shù)據(jù)庫模式;系統(tǒng)對用戶的請求query的處理,具體步驟如下:2.1檢索與query相關(guān)的數(shù)據(jù)庫模式,具體通過向量檢索和全文檢索的混合,?從數(shù)據(jù)庫中檢索出相關(guān)的表模式;2.2檢索與query相關(guān)的sql示例,具體通過向量檢索和全文檢索的混合,?從數(shù)據(jù)庫中檢索出相關(guān)的sql示例;2.3提示詞構(gòu)建,具體是將query、表模式、sql示例填入prompt模板中;2.4?通過llm模型生成sql;2.5重寫sql,將原本復雜的sql操作簡化為單表操作sql;2.6?sql執(zhí)行。

23、與現(xiàn)有其他技術(shù)方案相比,本發(fā)明具有如下優(yōu)勢:

24、1.復雜查詢更加準確的。本發(fā)明首創(chuàng)的偽表模式和sql重寫技術(shù)能有效地降低復雜查詢時llm所需生成的sql的復雜度,降低生成的sql無法執(zhí)行的概率,同時降低sql完整生成所需的耗時。另一方面,本發(fā)明基于csv對表模式進行描述,使得表模式除了其他工作中也能包含的字段名、字段類型、字段備注外,還能額外包含表記錄,使得模型能學習到表中記錄的具體存儲格式。

25、2.維護成本更低。本發(fā)明基于csv組織表模式,相比于其他nl2sql中基于數(shù)據(jù)庫的表創(chuàng)建語句進行對表模式的描述,本發(fā)明更容易被非技術(shù)人員維護。

26、3.耗時更短:nl2sql的耗時主要在于大模型所需生成的token數(shù),?sql重寫技術(shù),使得原本需要生成長sql才能完成的操作,現(xiàn)在只要生成更短的sql即可完成,因此大幅降低了時間消耗。

當前第1頁1 2 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
思南县| 来安县| 马尔康县| 五家渠市| 青龙| 宁蒗| 垦利县| 浏阳市| 项城市| 大田县| 长海县| 科技| 黎川县| 桃源县| 慈溪市| 鹤峰县| 开封市| 雅安市| 东台市| 休宁县| 资阳市| 汝南县| 南部县| 天峻县| 萝北县| 闽侯县| 万山特区| 白水县| 淮南市| 保德县| 濮阳市| 内乡县| 图们市| 定边县| 长丰县| 钦州市| 玛沁县| 望城县| 鄯善县| 鄂伦春自治旗| 专栏|