System.ArgumentOutOfRangeException: 索引和長度必須引用該字符串內(nèi)的位置。 參數(shù)名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技術(shù)實(shí)現(xiàn)步驟摘要】
本申請涉及計(jì)算機(jī),尤其涉及一種大模型驅(qū)動的基于本地代碼倉庫編程的方法及裝置。
技術(shù)介紹
1、隨著信息技術(shù)的飛速發(fā)展,軟件項(xiàng)目的規(guī)模不斷膨脹,復(fù)雜度也日益提升。在這樣的背景下,傳統(tǒng)的手動編寫和維護(hù)代碼的方式逐漸暴露出諸多弊端。首先,手動編碼過程耗時費(fèi)力,極大地增加了開發(fā)周期和成本。其次,由于人為因素的介入,代碼編寫過程中容易出現(xiàn)各種錯誤,如語法錯誤、邏輯錯誤等,這些錯誤不僅難以察覺,而且一旦遺漏,可能會在后期的軟件運(yùn)行和維護(hù)中引發(fā)更為嚴(yán)重的問題。
2、為了應(yīng)對這些挑戰(zhàn),代碼補(bǔ)全技術(shù)應(yīng)運(yùn)而生。雖然代碼補(bǔ)全技術(shù)可以通過智能分析開發(fā)者當(dāng)前的編程上下文,預(yù)測并推薦可能的代碼片段,在一定程度上可以提高編碼效率。但是,代碼補(bǔ)全的準(zhǔn)確性和高效性仍有待提高。
技術(shù)實(shí)現(xiàn)思路
1、鑒于上述問題,本申請?zhí)峁┝艘环N大模型驅(qū)動的基于本地代碼倉庫編程的方法及裝置,以實(shí)現(xiàn)提高處理編程問題的準(zhǔn)確性和高效性的目的。具體方案如下:
2、本申請第一方面提供一種大模型驅(qū)動的基于本地代碼倉庫編程的方法,包括:
3、響應(yīng)于請求,獲取所述請求中待處理代碼和任務(wù)指令;
4、對所述待處理代碼進(jìn)行處理,得到實(shí)體關(guān)系、語法結(jié)構(gòu)信息和代碼摘要;
5、在至少一個社群中查找與所述待處理代碼、實(shí)體關(guān)系、語法結(jié)構(gòu)信息和代碼摘要相匹配的目標(biāo)社群;所述至少一個社群為對圖譜進(jìn)行分層處理得到的,所述至少一個社群中各社群包括至少一個社區(qū),所述社群中至少一個社區(qū)之間具有相似性,所述至少一個社區(qū)中各社
6、根據(jù)所述目標(biāo)社群內(nèi)的節(jié)點(diǎn)和邊,獲得參考代碼;
7、基于目標(biāo)大模型對所述參考代碼、所述待處理代碼和所述任務(wù)指令進(jìn)行推理,得到目標(biāo)結(jié)果。
8、在一種可能的實(shí)現(xiàn)中,所述對所述待處理代碼進(jìn)行處理,得到實(shí)體關(guān)系、語法結(jié)構(gòu)信息和代碼摘要,包括:
9、基于所述目標(biāo)大模型從所述待處理代碼中提煉出代碼摘要;所述代碼摘要包括:實(shí)現(xiàn)邏輯和關(guān)鍵信息;
10、基于所述目標(biāo)大模型從所述代碼摘要中抽取實(shí)體關(guān)系;
11、基于抽象語法樹分析方法,對所述待處理代碼的語法結(jié)構(gòu)進(jìn)行分析,得到語法結(jié)構(gòu)信息。
12、在一種可能的實(shí)現(xiàn)中,所述在至少一個社群中查找與所述待處理代碼、實(shí)體關(guān)系、語法結(jié)構(gòu)信息和代碼摘要相匹配的目標(biāo)社群,包括:
13、獲得所述至少一個社群中各社群的向量化表示;所述社群的向量化表示為對所述社群的社群摘要進(jìn)行向量化處理得到;
14、對所述待處理代碼、實(shí)體關(guān)系、語法結(jié)構(gòu)信息和代碼摘要進(jìn)行向量化處理,得到待匹配向量化表示;
15、計(jì)算所述待匹配向量化表示和各所述社群的向量化表示之間的相似度,并選擇相似度最高的社群作為目標(biāo)社群。
16、在一種可能的實(shí)現(xiàn)中,所述圖譜通過以下方式構(gòu)建:
17、對本地代碼倉庫中的代碼文件進(jìn)行拆分,得到多個代碼片段;
18、基于所述目標(biāo)大模型分別對每個所述代碼片段進(jìn)行摘要提煉,得到每個所述代碼片段的代碼摘要;
19、基于所述目標(biāo)大模型從每個所述代碼片段的代碼摘要中抽取實(shí)體關(guān)系;
20、基于抽象語法樹分析方法,分別對每個所述代碼片段的語法結(jié)構(gòu)進(jìn)行分析,得到每個所述代碼片段的語法結(jié)構(gòu)信息;
21、構(gòu)建本體;
22、將所述多個代碼片段、每個所述代碼片段的代碼摘要、所述實(shí)體關(guān)系及每個所述代碼片段的語法結(jié)構(gòu)信息錄入到所述本體中,得到圖譜。
23、在一種可能的實(shí)現(xiàn)中,對本地代碼倉庫中的代碼文件進(jìn)行拆分,得到多個代碼片段,包括:
24、以設(shè)定長度對本地代碼倉庫中的代碼文件進(jìn)行切割,得到多個代碼單元;
25、按照設(shè)定標(biāo)記列表,對所述代碼單元進(jìn)行標(biāo)記,得到代碼片段;所述設(shè)定標(biāo)記列表包括以下元素:項(xiàng)目名、功能、模塊、類、函數(shù)和方法。
26、在一種可能的實(shí)現(xiàn)中,所述至少一個社群通過以下方式得到:
27、將所述圖譜中每個節(jié)點(diǎn)分別初始化一個獨(dú)立的社區(qū),得到多個社區(qū);
28、通過朝著增加第一網(wǎng)絡(luò)模塊度的方向從所述圖譜中每個節(jié)點(diǎn)中選擇節(jié)點(diǎn)進(jìn)行移動,對所述多個社區(qū)進(jìn)行更新,得到多個新的社區(qū);所述第一網(wǎng)絡(luò)模塊度表示社區(qū)劃分的質(zhì)量,所述第一網(wǎng)絡(luò)模塊度越大對應(yīng)的所述新的社區(qū)內(nèi)部的節(jié)點(diǎn)之間連接越緊密且新的社區(qū)之間的連接相對越稀疏;
29、朝著增加第二網(wǎng)絡(luò)模塊度的方向從所述多個新的社區(qū)中選擇社區(qū)進(jìn)行合并,得到至少一個社群;所述第二網(wǎng)絡(luò)模塊度表示社群劃分的質(zhì)量,所述第二網(wǎng)絡(luò)模塊度越大對應(yīng)的所述社群內(nèi)部的社區(qū)之間的連接越緊密且社群之間的連接相對越稀疏。
30、在一種可能的實(shí)現(xiàn)中,所述第一網(wǎng)絡(luò)模塊度通過以下方式確定得到:
31、基于第一關(guān)系式,計(jì)算第一網(wǎng)絡(luò)模塊度;其中,表示第一網(wǎng)絡(luò)模塊度,表示社區(qū)的數(shù)量,表示社區(qū)內(nèi)部邊的權(quán)重之和,所述內(nèi)部邊的權(quán)重為對所述內(nèi)部邊連接的兩個節(jié)點(diǎn)之間的關(guān)系出現(xiàn)的次數(shù)進(jìn)行歸一化得到的值,表示與社區(qū)中的節(jié)點(diǎn)相連的所有邊的權(quán)重之和的一半;與社區(qū)中的節(jié)點(diǎn)相連的邊的權(quán)重為對該邊連接的兩個節(jié)點(diǎn)之間的關(guān)系出現(xiàn)的次數(shù)進(jìn)行歸一化得到的值。
32、在一種可能的實(shí)現(xiàn)中,所述第二網(wǎng)絡(luò)模塊度通過以下方式確定得到:
33、基于第二關(guān)系式,計(jì)算第二網(wǎng)絡(luò)模塊度;其中,表示第二網(wǎng)絡(luò)模塊度,表示社群的數(shù)量,表示社群內(nèi)部邊的權(quán)重之和,所述內(nèi)部邊的權(quán)重為對所述內(nèi)部邊連接的兩個社區(qū)之間的關(guān)系出現(xiàn)的次數(shù)進(jìn)行歸一化得到的值,表示與社群中的社區(qū)相連的所有邊的權(quán)重之和的一半;與社群中的社區(qū)相連的邊的權(quán)重為對該邊連接的兩個社區(qū)之間的關(guān)系出現(xiàn)的次數(shù)進(jìn)行歸一化得到的值。
34、在一種可能的實(shí)現(xiàn)中,所述任務(wù)指令包括:
35、用于指示對所述待處理代碼進(jìn)行補(bǔ)全的任務(wù)指令;
36、或者,用于對所述待處理代碼進(jìn)行提問的任務(wù)指令。
37、本申請另一方面提供一種大模型驅(qū)動的基于本地代碼倉庫編程的裝置,包括:
38、第一獲得模塊,用于響應(yīng)于請求,獲取所述請求中待處理代碼和任務(wù)指令;
39、處理模塊,用于對所述待處理代碼進(jìn)行處理,得到實(shí)體關(guān)系、語法結(jié)構(gòu)信息和代碼摘要;
40、查找模塊,用于在至少一個社群中查找與所述待處理代碼、實(shí)體關(guān)系、語法結(jié)構(gòu)信息和代碼摘要相匹配的目標(biāo)社群;所述至少一個社群為對圖譜進(jìn)行分層處理得到的,所述至少一個社群中各社群包括至少一個社區(qū),所述社群中至少一個社區(qū)之間具有相似性,所述至少一個社區(qū)中各社區(qū)包括所述圖譜中至少一個節(jié)點(diǎn),所述社區(qū)內(nèi)至少一個節(jié)點(diǎn)之間具有相似性;所述圖譜基于本地代碼倉庫中的代碼文件及所述本地代碼倉庫中的代碼文件對應(yīng)的實(shí)體關(guān)系、語法結(jié)構(gòu)信息和代碼摘要構(gòu)建得到;
41、第二獲得模塊,用于本文檔來自技高網(wǎng)...
【技術(shù)保護(hù)點(diǎn)】
1.一種大模型驅(qū)動的基于本地代碼倉庫編程的方法,其特征在于,包括:
2.根據(jù)權(quán)利要求1所述的大模型驅(qū)動的基于本地代碼倉庫編程的方法,其特征在于,所述對所述待處理代碼進(jìn)行處理,得到實(shí)體關(guān)系、語法結(jié)構(gòu)信息和代碼摘要,包括:
3.根據(jù)權(quán)利要求1所述的大模型驅(qū)動的基于本地代碼倉庫編程的方法,其特征在于,所述在至少一個社群中查找與所述待處理代碼、實(shí)體關(guān)系、語法結(jié)構(gòu)信息和代碼摘要相匹配的目標(biāo)社群,包括:
4.根據(jù)權(quán)利要求1所述的大模型驅(qū)動的基于本地代碼倉庫編程的方法,其特征在于,所述圖譜通過以下方式構(gòu)建:
5.根據(jù)權(quán)利要求4所述的大模型驅(qū)動的基于本地代碼倉庫編程的方法,其特征在于,對本地代碼倉庫中的代碼文件進(jìn)行拆分,得到多個代碼片段,包括:
6.根據(jù)權(quán)利要求1所述的大模型驅(qū)動的基于本地代碼倉庫編程的方法,其特征在于,所述至少一個社群通過以下方式得到:
7.根據(jù)權(quán)利要求6所述的大模型驅(qū)動的基于本地代碼倉庫編程的方法,其特征在于,所述第一網(wǎng)絡(luò)模塊度通過以下方式確定得到:
8.根據(jù)權(quán)利要求6所述的大模型驅(qū)動的基于本
9.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述任務(wù)指令包括:
10.一種大模型驅(qū)動的基于本地代碼倉庫編程的裝置,其特征在于,包括:
...【技術(shù)特征摘要】
1.一種大模型驅(qū)動的基于本地代碼倉庫編程的方法,其特征在于,包括:
2.根據(jù)權(quán)利要求1所述的大模型驅(qū)動的基于本地代碼倉庫編程的方法,其特征在于,所述對所述待處理代碼進(jìn)行處理,得到實(shí)體關(guān)系、語法結(jié)構(gòu)信息和代碼摘要,包括:
3.根據(jù)權(quán)利要求1所述的大模型驅(qū)動的基于本地代碼倉庫編程的方法,其特征在于,所述在至少一個社群中查找與所述待處理代碼、實(shí)體關(guān)系、語法結(jié)構(gòu)信息和代碼摘要相匹配的目標(biāo)社群,包括:
4.根據(jù)權(quán)利要求1所述的大模型驅(qū)動的基于本地代碼倉庫編程的方法,其特征在于,所述圖譜通過以下方式構(gòu)建:
5.根據(jù)權(quán)利要求4所述的大模型驅(qū)動的基于本地代碼倉庫編程的方法,...
【專利技術(shù)屬性】
技術(shù)研發(fā)人員:宋勇,秦曉雨,陸由,謝林昊,張鈺涵,歐陽曄,
申請(專利權(quán))人:亞信科技中國有限公司,
類型:發(fā)明
國別省市:
還沒有人留言評論。發(fā)表了對其他瀏覽者有用的留言會獲得科技券。