- +1
Python文檔字符串生成器:基于CodeBERT,支持Google、Numpy等多種輸出格式
木易 發(fā)自 凹非寺
量子位 報道 | 公眾號 QbitAI
又一款懶人神器問世了:
Visual Studio Code的擴展,基于CodeBERT的Python文檔字符串生成器。

基于CodeBERT的生成器
跟正常的DocStrings用法一樣,你只需要輸入三引號「“””」,之后按Enter,便能調用這個工具。就像這樣:


這個工具的本質,就是一個自然語言識別的AI,它能夠識別你所寫代碼的內容,然后輸出對應的字符串。
具體是如何識別的,該AI的作者是這么介紹的:
參數(shù)類型是通過PEP 484類型、默認值和var標簽進行識別的。
識別輸入之后便是推斷,這之間進行訓練的方法,也并不復雜,通過CodeBERT便可以實現(xiàn)。
CodeBERT是一種雙模預訓練模型,它可以捕捉自然語言和編程語言之間的語義連接,是目前已知的第一個大型 NL-PL(自然語言-編程語言)預訓練模型。
在訓練過程中,使用 CodeSearchNet 語料庫作為訓練數(shù)據(jù),并使用 CodeBERT 中的 Code2NL微調任務。
之后,進行的推斷基準測試如下:

目前,這個生成器可以支持識別args、kwargs、decorators和errors等參數(shù)類型。
此外,還可以輸出Google、docBlockr、Numpy、Sphinx等Docstring格式,PEP0257類型的格式,也即將上線。
使用方法
1、從容器中運行模型推斷服務
具有GPU的話:在安裝nvidia-docker后,運行docker run-it-d-GPU 0-p 5000:5000 gray kode/ai-docstring。
只有CPU:運行docker run-it-d-p 5000:5000 gray kode/ai-docstring。
2、在VSCode中安裝擴展并使用
光標必須在定義正下方的行上,以生成完全自動填充的文檔字符串。
用三重引號「“””或‘’’」打開文檔字符串后,按Enter鍵;
鍵盤快捷鍵是ctrl+shift+2,Mac為cmd+shift+2。
網(wǎng)友討論
該生成器一經(jīng)發(fā)布,便引起了網(wǎng)友們的討論。
有網(wǎng)友認為這是一項非常便利的技術,非常期待:


不過,雖然有局限,但是人總是在「懶」的過程中變得更「懶」(狗頭)。
比如jQuery的流行,是因為開發(fā)者懶得為DOM編寫跨瀏覽器兼容性代碼;
而之后Angular.js的流行,是因為開發(fā)者連DOM都懶得操作。
所以,還是非常期待這個擴展的后續(xù),這些程序員能不能針對這些局限性進一步偷懶的。
獲取資源
目前這個擴展已經(jīng)在Visual Studio Code上免費上線。
進入鏈接即可獲取資源:
https://marketplace.visualstudio.com/items?itemName=graykode.ai-docstring
也可以通過Github獲取源文件:
https://github.com/graykode/ai-docstring
— 完 —
本文系網(wǎng)易新聞?網(wǎng)易號特色內容激勵計劃簽約賬號【量子位】原創(chuàng)內容,未經(jīng)賬號授權,禁止隨意轉載。
原標題:《Python文檔字符串生成器:基于CodeBERT,支持Google、Numpy等多種輸出格式》
本文為澎湃號作者或機構在澎湃新聞上傳并發(fā)布,僅代表該作者或機構觀點,不代表澎湃新聞的觀點或立場,澎湃新聞僅提供信息發(fā)布平臺。申請澎湃號請用電腦訪問http://renzheng.thepaper.cn。





- 報料熱線: 021-962866
- 報料郵箱: news@thepaper.cn
互聯(lián)網(wǎng)新聞信息服務許可證:31120170006
增值電信業(yè)務經(jīng)營許可證:滬B2-2017116
? 2014-2026 上海東方報業(yè)有限公司




