自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

讓AI管理大型代碼庫,開發(fā)者福音來了 | 阿里/新加坡國立/西安交大聯(lián)合出品

人工智能 新聞
為了緩解現(xiàn)有RACG方法的通用性缺陷,來自新加坡國立大學(xué)、阿里巴巴、西安交通大學(xué)的研究人員提出了CodexGraph,一個以代碼圖數(shù)據(jù)庫為媒介,連接了語言模型和代碼庫的系統(tǒng)。

代碼生成和補(bǔ)全任務(wù)做不完了?!

不如試試讓大語言模型(Large Language Models, LLMs)來幫忙。

不過,如果是處理大規(guī)模、多文件的代碼庫,LLMs就可能犯了難。這時候,往往需要需要Retrieval-Augmented Code Generation (RACG)系統(tǒng)來檢索相關(guān)的代碼信息。

現(xiàn)有解決方案,如基于語義相似度的檢索和手動設(shè)計的工具與API,雖然在特定任務(wù)上有效,但在泛化能力和普適性方面存在局限。

為了緩解現(xiàn)有RACG方法的通用性缺陷,來自新加坡國立大學(xué)、阿里巴巴、西安交通大學(xué)的研究人員提出了CodexGraph,一個以代碼圖數(shù)據(jù)庫為媒介,連接了語言模型和代碼庫的系統(tǒng)。

研究團(tuán)隊在三個有代表性的學(xué)術(shù)benchmarks對CodexGraph進(jìn)行了評測,同時也基于ModelScope-Agent,將CodexGraph實(shí)現(xiàn)在了五個真實(shí)代碼應(yīng)用場景。

實(shí)驗和現(xiàn)實(shí)實(shí)踐顯示出了CodexGraph的有效性和通用性。

圖片

研究方法

CodexGraph通過代碼圖數(shù)據(jù)庫接?界? ,創(chuàng)新性地將語?模型與代碼庫連接,以克服現(xiàn)有?法的不?。

該系統(tǒng)的?作流程主要包括以下?個步驟 :

首先,構(gòu)建代碼圖數(shù)據(jù)庫。

使?靜態(tài)分析技術(shù),根據(jù)預(yù)定義的Schema,將代碼庫中的代碼符號(如模塊、 類、 函數(shù)等)和它們之間的關(guān)系映射為圖數(shù)據(jù)庫中的節(jié)點(diǎn)和邊。

圖片

其次,代碼結(jié)構(gòu)感知查詢。

利?graph query language的靈活性,同時結(jié)合圖數(shù)據(jù)庫的結(jié)構(gòu)特性,實(shí)現(xiàn)對代碼圖的復(fù)雜查詢和深度檢索。

第三, “Write then translate? 策略。

Primary LM agent ?先分析代碼問題,?成?然語?查詢。

然后,專門的translation LM agent將這些查詢翻譯為為格式化的graph query language。

圖片

第四,迭代式pipeline。

通過迭代的?式,LM agent根據(jù)?戶問題和已獲取的信息,逐步優(yōu)化查詢和檢索結(jié)果。

實(shí)驗

實(shí)驗部分,CodexGraph在CrossCodeEval、 EvoCodeBench和SWE-bench三個具有代表性的代碼庫級基準(zhǔn)測試上進(jìn)?了評估。

圖片

這些測試覆蓋了跨?件代碼補(bǔ)全、 代碼?成和?動化GitHub問題解決等多個?? 。

實(shí)驗結(jié)果顯示,CodexGraph在所有基準(zhǔn)測試中均展現(xiàn)出了優(yōu)異且穩(wěn)定的性能,驗證了代碼圖數(shù)據(jù)庫作為語?模型和代碼庫之間的接?界?的有效性。

圖片

原論?的分析進(jìn)?步指出,CodexGraph在處理不同難度的推理任務(wù)時,單?查詢與多重查詢策略的效果存在差異。

在CrossCodeEval中,多重查詢策略更有效;?在SWE- bench中,單?查詢策略表現(xiàn)更佳。

圖片

此外 ,去除Cypher LM agent會顯著增加primary LM agent的推理負(fù)擔(dān),導(dǎo)致性能下降。

這表明Cypher LM agent在減輕primary LM Agent的推理壓?中發(fā)揮了關(guān)鍵作?。

真實(shí)應(yīng)?場景?例

基于ModelScope-Agent框架 ,CodexGraph的實(shí)際應(yīng)?價值在多個場景中得到了體現(xiàn),如:

  • 代碼聊天助?(Code Chat)
  • 代碼調(diào)試?具(Code Debugger)
  • 單元測試?成器(Code Unit tester)
  • 代碼?成器(Code Generator)
  • 代碼注釋?具(Code Commenter)
  • ……

這些應(yīng)?展?了CodexGraph如何在?產(chǎn)環(huán)境中幫助開發(fā)者解決實(shí)際問題 ,提?代碼開發(fā)的效率和質(zhì)量。

總結(jié)

以圖數(shù)據(jù)庫作為媒介,CodexGraph為語?模型與代碼庫提供了?個新的交互?式。

它不僅提升了語?模型對復(fù)雜代碼庫的理解能?,還增強(qiáng)了整體的代碼檢索和導(dǎo)航的準(zhǔn)確性。

它的出現(xiàn)為?動化軟件?程領(lǐng)域,尤其是在?臨RACG挑戰(zhàn)時,帶來了新的解決?案 ,展?了在多樣化代碼任務(wù)和現(xiàn)實(shí)世界應(yīng)?中的?泛潛?和實(shí)際價值。

隨著技術(shù)的不斷發(fā)展,CodexGraph有望在未來?持更多編程語? ,并進(jìn)?步優(yōu)化其?作流程和索引構(gòu)建效率。

代碼鏈接 :

https://github.com/modelscope/modelscope-agent/tree/master/apps/codexgraph_agent

arXiv鏈接 :

https://arxiv.org/pdf/2408.03910

責(zé)任編輯:張燕妮 來源: 量子位
相關(guān)推薦

2024-08-15 15:20:00

模型生成

2021-10-20 22:17:04

大數(shù)據(jù)AI

2024-12-02 10:40:00

AI模型

2015-08-05 10:43:40

開發(fā)者開發(fā)工具

2015-08-05 14:25:26

開發(fā)者開發(fā)工具

2022-07-27 11:46:35

Asciinema日志工具

2016-01-12 09:48:48

2024-08-08 14:23:30

ChatGPTOpenAI工具

2022-02-15 08:00:00

開發(fā)代碼庫架構(gòu)

2013-10-31 11:04:12

2013阿里云開發(fā)者大

2019-08-09 17:00:18

2012-06-12 09:23:30

Windows 8Windows Sto

2020-06-19 13:21:58

漏洞挖掘漏洞搜索

2012-12-24 13:23:31

Firefox瀏覽器

2013-10-28 14:54:32

OS XOS X Maveri功能

2023-12-15 10:20:42

FastAPIPython開發(fā)

2012-11-09 10:54:13

阿里云開發(fā)者開發(fā)

2019-08-16 10:55:37

開發(fā)者技能AI

2022-05-25 09:43:26

鯤鵬
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號