本發(fā)明涉及代碼生成,尤其涉及一種代碼記憶體代碼生成方法、裝置、設(shè)備及介質(zhì)。
背景技術(shù):
1、隨著信息技術(shù)的快速發(fā)展,編程語(yǔ)言和代碼庫(kù)的數(shù)量急劇增加,軟件系統(tǒng)的復(fù)雜性也在不斷提高。開(kāi)發(fā)者在編寫和維護(hù)代碼時(shí),經(jīng)常需要檢索和參考大量的現(xiàn)有代碼。傳統(tǒng)的代碼檢索工具依賴于關(guān)鍵字搜索,這種方式在理解代碼的語(yǔ)義和上下文方面存在局限,難以滿足開(kāi)發(fā)者對(duì)精確和相關(guān)代碼檢索的需求。同時(shí),隨著人工智能技術(shù),尤其是大規(guī)模語(yǔ)言模型的發(fā)展,為代碼的語(yǔ)義理解和智能檢索提供了新的可能性。
2、當(dāng)前代碼檢索進(jìn)行生成主要是通過(guò)多方工具得到的。文本搜索工具,如grep等,它們通過(guò)匹配代碼中的文本字符串來(lái)查找代碼片段,但無(wú)法理解代碼的語(yǔ)義。代碼搜索引擎,如github的代碼搜索功能,它們?cè)试S用戶通過(guò)關(guān)鍵字搜索代碼,但同樣受限于關(guān)鍵字的語(yǔ)義理解。集成開(kāi)發(fā)環(huán)境(ide),現(xiàn)代ide通常包含代碼輔助功能,如自動(dòng)補(bǔ)全、代碼導(dǎo)航等,但這些功能局限于當(dāng)前項(xiàng)目或已知的代碼庫(kù)。代碼分析工具,如sonarqube等,它們可以分析代碼質(zhì)量,但并不專注于代碼檢索。
3、盡管現(xiàn)有的進(jìn)行檢索生成代碼技術(shù)取得了一定進(jìn)展,但仍存在明顯不足。首先,大多數(shù)工具無(wú)法深入理解代碼的語(yǔ)義,導(dǎo)致檢索結(jié)果的相關(guān)性和準(zhǔn)確性有限。而且現(xiàn)有工具通常無(wú)法考慮代碼的上下文信息,如函數(shù)調(diào)用關(guān)系、代碼庫(kù)的整體結(jié)構(gòu)等。因此,迫切需要一種更為高效、準(zhǔn)確的方法,以提高檢索生成代碼的質(zhì)量。
技術(shù)實(shí)現(xiàn)思路
1、本申請(qǐng)的主要目的在于提供一種代碼記憶體代碼生成方法、裝置、設(shè)備及介質(zhì),旨在解決如何提高檢索關(guān)鍵詞生成代碼的準(zhǔn)確性的技術(shù)問(wèn)題。
2、為實(shí)現(xiàn)上述目的,本申請(qǐng)?zhí)岢鲆环N代碼記憶體代碼生成方法,所述方法包括:
3、獲取檢索關(guān)鍵信息;
4、根據(jù)所述檢索關(guān)鍵信息輸入預(yù)設(shè)代碼記憶體中進(jìn)行檢索,得到函數(shù)信息;
5、根據(jù)所述檢索關(guān)鍵信息輸入預(yù)設(shè)大語(yǔ)言模型,得到查詢關(guān)鍵信息;
6、根據(jù)所述函數(shù)信息和所述查詢關(guān)鍵信息進(jìn)行匹配,得到相關(guān)代碼;
7、將所述相關(guān)代碼進(jìn)行查詢匹配,得到完整代碼。
8、在一實(shí)施例中,所述根據(jù)所述檢索關(guān)鍵信息輸入預(yù)設(shè)代碼記憶體中進(jìn)行檢索,得到函數(shù)信息的步驟之前,包括:
9、獲取編程代碼文件,并根據(jù)所述編程代碼文件生成抽象語(yǔ)法樹(shù);
10、根據(jù)所述抽象語(yǔ)法樹(shù)提取,得到代碼關(guān)鍵特征;
11、根據(jù)所述代碼關(guān)鍵特征構(gòu)建數(shù)據(jù)結(jié)構(gòu)并存儲(chǔ),得到預(yù)設(shè)代碼記憶體;
12、所述根據(jù)所述檢索關(guān)鍵信息輸入預(yù)設(shè)代碼記憶體中進(jìn)行檢索,得到函數(shù)信息的步驟,包括:
13、通過(guò)將所述檢索關(guān)鍵信息輸入預(yù)設(shè)代碼記憶體進(jìn)行分析,得到代碼關(guān)鍵特征;
14、根據(jù)所述代碼關(guān)鍵特征進(jìn)行匹配,得到對(duì)應(yīng)的函數(shù)信息。
15、在一實(shí)施例中,所述根據(jù)所述檢索關(guān)鍵信息輸入預(yù)設(shè)大語(yǔ)言模型,得到查詢關(guān)鍵信息的步驟之前,包括:
16、獲取檢索關(guān)鍵樣本信息,并建立初始大語(yǔ)言模型;
17、根據(jù)所述檢索關(guān)鍵樣本信息對(duì)初始大語(yǔ)言模型進(jìn)行訓(xùn)練,得到預(yù)設(shè)大語(yǔ)言模型;
18、所述根據(jù)所述檢索關(guān)鍵信息輸入預(yù)設(shè)大語(yǔ)言模型,得到查詢關(guān)鍵信息的步驟,包括:
19、將所述檢索關(guān)鍵信息進(jìn)行轉(zhuǎn)換格式處理,得到轉(zhuǎn)換后的檢索關(guān)鍵信息;
20、將所述轉(zhuǎn)換后的檢索關(guān)鍵信息輸入預(yù)設(shè)大語(yǔ)言模型,得到查詢信息;
21、對(duì)所述查詢信息進(jìn)行分析提取,得到查詢關(guān)鍵信息。
22、在一實(shí)施例中,所述根據(jù)所述函數(shù)信息和所述查詢關(guān)鍵信息進(jìn)行匹配,得到相關(guān)代碼的步驟,還包括:
23、將所述函數(shù)信息和所述查詢關(guān)鍵信息,得到對(duì)應(yīng)的第一特征向量和第二特征向量;
24、根據(jù)所述第一特征向量和所述第二特征向量進(jìn)行比較,得到相似度結(jié)果;
25、通過(guò)對(duì)所述相似度結(jié)果進(jìn)行篩選,得到相關(guān)代碼。
26、在一實(shí)施例中,所述將所述相關(guān)代碼進(jìn)行查詢匹配,得到完整代碼的步驟,包括:
27、根據(jù)所述相關(guān)代碼通過(guò)查詢預(yù)設(shè)函數(shù)表,得到函數(shù)關(guān)系鏈;
28、根據(jù)所述函數(shù)關(guān)系鏈結(jié)合所述相關(guān)代碼,得到缺失代碼;
29、根據(jù)所述缺失代碼對(duì)所述相關(guān)代碼進(jìn)行補(bǔ)全,得到完整代碼。
30、在一實(shí)施例中,所述基于所述問(wèn)答對(duì)數(shù)據(jù),所述將所述相關(guān)代碼進(jìn)行查詢匹配,得到完整代碼的步驟之后,包括:
31、根據(jù)所述完整代碼進(jìn)行劃分邏輯層次,得到多個(gè)層級(jí)信息;
32、將所述多個(gè)層級(jí)信息發(fā)送至控制界面,以允許用戶通過(guò)點(diǎn)擊或選擇不同的層級(jí)來(lái)展開(kāi)或折疊代碼細(xì)節(jié),其中對(duì)于所述相關(guān)代碼進(jìn)行高亮設(shè)置。
33、在一實(shí)施例中,所述將所述相關(guān)代碼進(jìn)行查詢匹配,得到完整代碼的步驟之后,還包括:
34、接收用戶反饋信息;
35、根據(jù)所述用戶反饋信息,對(duì)預(yù)設(shè)代碼記憶體進(jìn)行動(dòng)態(tài)更新。
36、此外,為實(shí)現(xiàn)上述目的,本申請(qǐng)還提出一種代碼記憶體代碼生成裝置,所述代碼記憶體代碼生成裝置包括:
37、獲取模塊,用于獲取檢索關(guān)鍵信息;
38、檢索模塊,用于根據(jù)所述檢索關(guān)鍵信息輸入預(yù)設(shè)代碼記憶體中進(jìn)行檢索,得到函數(shù)信息;
39、檢索模塊,還用于根據(jù)所述檢索關(guān)鍵信息輸入預(yù)設(shè)大語(yǔ)言模型,得到查詢關(guān)鍵信息;
40、匹配模塊,用于根據(jù)所述函數(shù)信息和所述查詢關(guān)鍵信息進(jìn)行匹配,得到相關(guān)代碼;
41、結(jié)果模塊,用于將所述相關(guān)代碼進(jìn)行查詢匹配,得到完整代碼。
42、此外,為實(shí)現(xiàn)上述目的,本申請(qǐng)還提出一種介質(zhì),所述介質(zhì)為計(jì)算機(jī)可讀介質(zhì),所述介質(zhì)上存儲(chǔ)有計(jì)算機(jī)程序,所述計(jì)算機(jī)程序被處理器執(zhí)行時(shí)實(shí)現(xiàn)如上文所述的代碼記憶體代碼生成方法的步驟。
43、此外,為實(shí)現(xiàn)上述目的,本申請(qǐng)還提供一種計(jì)算機(jī)程序產(chǎn)品,所述計(jì)算機(jī)程序產(chǎn)品包括計(jì)算機(jī)程序,所述計(jì)算機(jī)程序被處理器執(zhí)行時(shí)實(shí)現(xiàn)如上文所述的代碼記憶體代碼生成方法的步驟。
44、本申請(qǐng)通過(guò)獲取檢索關(guān)鍵信息,根據(jù)檢索關(guān)鍵信息輸入預(yù)設(shè)代碼記憶體中進(jìn)行檢索,得到函數(shù)信息,根據(jù)檢索關(guān)鍵信息輸入預(yù)設(shè)大語(yǔ)言模型,得到查詢關(guān)鍵信息,根據(jù)函數(shù)信息和查詢關(guān)鍵信息進(jìn)行匹配,得到相關(guān)代碼,將相關(guān)代碼進(jìn)行查詢匹配,得到完整代碼。利用大語(yǔ)言模型和代碼記憶體,實(shí)現(xiàn)語(yǔ)義檢索和完整代碼獲取,提高代碼檢索效率和準(zhǔn)確性,優(yōu)化開(kāi)發(fā)效率。
1.一種代碼記憶體代碼生成方法,其特征在于,所述方法包括:
2.如權(quán)利要求1所述的方法,其特征在于,所述根據(jù)所述檢索關(guān)鍵信息輸入預(yù)設(shè)代碼記憶體中進(jìn)行檢索,得到函數(shù)信息的步驟之前,包括:
3.如權(quán)利要求1所述的方法,其特征在于,所述根據(jù)所述檢索關(guān)鍵信息輸入預(yù)設(shè)大語(yǔ)言模型,得到查詢關(guān)鍵信息的步驟之前,包括:
4.如權(quán)利要求1所述的方法,其特征在于,所述根據(jù)所述函數(shù)信息和所述查詢關(guān)鍵信息進(jìn)行匹配,得到相關(guān)代碼的步驟,還包括:
5.如權(quán)利要求1所述的方法,其特征在于,所述將所述相關(guān)代碼進(jìn)行查詢匹配,得到完整代碼的步驟,包括:
6.如權(quán)利要求1所述的方法,其特征在于,所述將所述相關(guān)代碼進(jìn)行查詢匹配,得到完整代碼的步驟之后,包括:
7.如權(quán)利要求1所述的方法,其特征在于,所述將所述相關(guān)代碼進(jìn)行查詢匹配,得到完整代碼的步驟之后,還包括:
8.一種代碼記憶體代碼生成裝置,其特征在于,所述裝置包括:
9.一種代碼記憶體代碼生成設(shè)備,其特征在于,所述設(shè)備包括:存儲(chǔ)器、處理器及存儲(chǔ)在所述存儲(chǔ)器上并可在所述處理器上運(yùn)行的代碼記憶體代碼生成程序,所述代碼記憶體代碼生成程序配置為實(shí)現(xiàn)如權(quán)利要求1至7中任一項(xiàng)所述的代碼記憶體代碼生成方法的步驟。
10.一種介質(zhì),其特征在于,所述介質(zhì)上存儲(chǔ)有代碼記憶體代碼生成程序,所述代碼記憶體代碼生成程序被處理器執(zhí)行時(shí)實(shí)現(xiàn)如權(quán)利要求1至7任一項(xiàng)所述的代碼記憶體代碼生成方法的步驟。