什么是 Amazon CodeWhisperer?
亞馬遜云科技在2023年4月18日宣布,實時 AI 編程助手 Amazon CodeWhisperer 正式可用,同時推出的還有供所有開發(fā)人員免費使用的個人版(CodeWhisperer Individual)。CodeWhisperer 經(jīng)過數(shù)十億行代碼的訓(xùn)練,可以根據(jù)您的評論和現(xiàn)有代碼實時生成從代碼片段到全函數(shù)的代碼建議。CodeWhisperer 幫助開發(fā)者基于注釋生成代碼,追蹤開源參考,掃描查找漏洞。確保了開發(fā)人員可以專注于敏捷開發(fā),不會由于搜索示例代碼等工作而打斷思緒。在創(chuàng)建復(fù)雜代碼和面對不斷變化的開發(fā)環(huán)境時,開發(fā)人員可以在自己喜歡的 IDE(集成開發(fā)環(huán)境)中使用 CodeWhisperer,例如 Visual Studio Code、IntelliJ IDEA 及其他 IDE,從而提高工作效率、簡化工作任務(wù)。
具有以下特點:
· 1、免費:對所有開發(fā)人員都可以免費使用。這點很重要?。。?/p>
· 2、為您量身定制的實時 AI 代碼生成器,極大提高工作效率。在預(yù)覽期間,Amazon 舉辦了一場工作效率挑戰(zhàn)賽,使用 Amazon CodeWhisperer 的參與者成功完成任務(wù)的可能性要比未使用 CodeWhisperer 的參與者高 27%,平均完成任務(wù)的速度快 57%。
· 3、 支持熱門編程語言和 IDE。Amazon CodeWhisperer 支持開發(fā)語言有: Python、Java、JavaScript、TypeScript、C#、Go、Rust、PHP、Ruby、Kotlin、C、C++、Shell 腳本、SQL 和 Scala 等開發(fā)語言;支持的IDE有Visual Studio Code、IntelliJ IDEA 等。所有開發(fā)人員(不僅僅是擁有亞馬遜云服務(wù)賬戶或使用亞馬遜云服務(wù)的人),只需一個電子郵箱地址即可注冊。so easy?。。?/p>
· 4、針對 AWS 服務(wù)的優(yōu)質(zhì)建議:可以幫助程序員過濾出有偏見或不公正的代碼建議,提高代碼的安全性和準(zhǔn)確性。CodeWhisperer 是唯一具備該功能的編程助手。當(dāng)生成的代碼類似于訓(xùn)練集中的參考代碼時,它會為代碼提供額外的提示(比如代碼庫 URL 和許可證),幫助降低使用代碼的風(fēng)險,并使開發(fā)人員重復(fù)利用代碼。
· 5、內(nèi)置安全掃描:可以對開發(fā)人員編寫的代碼進(jìn)行安全掃描,找到并建議修復(fù)難以檢測的漏洞。例如十大開放式 Web 應(yīng)用程序安全項目 (OWASP) 中的漏洞以及不符合加密庫最佳實踐的漏洞等。如果 CodeWhisperer 發(fā)現(xiàn)了漏洞,它會提供解決問題的建議。
快速上手CodeWhisperer
安裝
打開pytcharm,點擊File——Settings,如下圖:
點擊Plugins,然后,在搜索欄里輸入aws,找到AWS Toolkit,點擊Install安裝,如下圖:
彈出警告框,如下圖:
點擊Accept,繼續(xù)下一步。等待安裝完成。
安裝完成后,點擊Apply。
重啟Pycharm。到這里就安裝完成了。非常easy?。。?/p>
配置
重啟Pycharm后,在左下角就能看到AWS Toolkit。我們開始配置CodeWhisperer,如下圖
點擊AWS Toolkit——Developer Tools,選擇CodeWhisperer,點擊Start。
選擇使用email登錄,如上如圖.然后,點擊Connect
點擊Open and Copy Code。
然后將Code粘貼進(jìn)去。點擊Submit and continue。繼續(xù)下一步!
輸入注冊的電子郵箱,如果沒有請注冊一個賬號!繼續(xù)下一步!
輸入郵箱和姓名!下一步!
新建密碼,和新建賬號時的要求一樣,可以設(shè)置一樣的密碼!
點擊Allow。然后網(wǎng)頁和Pycharm彈出如下界面:
一切OK!Are you OK?
如何使用 Amazon CodeWhisperer
· 1、將光標(biāo)放在注釋或代碼行后面,點擊 Enter 鍵,激活 CodeWhisperer。
· 2、您可以使用向左箭頭鍵 / 向右箭頭鍵,瀏覽多個建議(如果可用)。通過按 Tab 鍵,接受代碼建議。通過按 Esc 鍵 或鍵入一個字符,放棄建議。
· 3、在接受或編寫新代碼后,再次點擊 Enter 鍵,獲取下一行建議代碼。
· 4、手動觸發(fā) Amazon CodeWhisperer;或者如果未顯示建議,可在 MacOS 上點擊 Option + C,或在 Windows 上點擊 Alt + C。
CodeWhisperer初體驗:hello world
配置完成就可以上手了! 體驗一下Python的hello world。如下圖:
先寫一行注釋,如下圖:
然后,點擊Enter鍵,生成函數(shù)名。如果你覺得滿意,點擊Tab鍵即可使用!在點擊Enter鍵,生成函數(shù)體,如下圖:
點擊Tab鍵,寫入代碼。幾個按鍵就可以完成!代碼如下:
中文和英文混著用,CodeWhisperer可以識別!
Python語言快速入門
我選一些常用的代碼作為例子,比如一些文件的讀寫操作和一些經(jīng)典的算法,體驗CodeWhisperer代碼生成能力!
向文件寫入數(shù)據(jù)
我想輸入一萬行咋辦呢?
讀取csv文件
這個就比較簡單了!
排序算法之冒泡排序
代碼如下:
對比其他平臺的,代碼如下:
設(shè)計模式之單例模式
模式設(shè)計也是日常編程經(jīng)常用到的,我選擇單例模式來測驗一下CodeWhisperer,代碼如下:
可以看到a和b是同一個對象,代碼是沒有問題的!
使用CodeWhisperer快速上手Pytorch
目前,python語言廣泛應(yīng)用在AI上,其中最著名的AI框架是Pytorch。試試CodeWhisperer生成Pytorch代碼的能力如何?
pytorch版本的卷積
Conv+BN+Relu激活函數(shù)
Conv+BN+Relu是CNN的標(biāo)準(zhǔn)配置!我們一起看看CodeWhisperer生成的代碼怎么樣,代碼如下:
輕松搞定!??!
殘差Block
ResNet Block,這種殘差結(jié)構(gòu)主宰著深度學(xué)習(xí)模型,無論是CNN還是Transformer都是這種殘差結(jié)構(gòu),我們嘗試使用CodeWhisperer生成ResNet的Block,代碼如下:
毫無壓力?。?!
上大餐:Reset18
只需使用Enter+Tab+方向鍵就可以完成ResNet18網(wǎng)絡(luò)的編譯!
NMS(非極大值抑制)
NMS是物體檢測常用的代碼,我們使用CodeWhisperer可以輕松寫出來,代碼如下:
總結(jié)
在這個AI技術(shù)飛速發(fā)展的時代,我們邀請你一同踏上“用 AI 助力,提升編程效率 —— Amazon CodeWhisperer 探索之旅”的征程。這不僅是一次向AI編程助手——Amazon CodeWhisperer的探索,也是一次向更高效、更智能編程方式的探索。
在這次旅程中,我們一同領(lǐng)略了Amazon CodeWhisperer帶來的革命性改變,它以人工智能為驅(qū)動,極大地提升了開發(fā)者的生產(chǎn)力,降低了開發(fā)時間,并提供了一種全新的編程體驗。從代碼的生成到智能建議,再到錯誤檢測和代碼優(yōu)化,CodeWhisperer都展現(xiàn)出了強大的能力。
通過上面的介紹,相信你已經(jīng)親身體驗到AI技術(shù)在編程中的應(yīng)用,感受到了CodeWhisperer帶來的便捷與高效。讓我們共同開啟這個全新的編程世界,擁抱AI的變革,用智能編程助力我們的未來。
我們在這里等你,一起開啟這場AI與編程的探索之旅,一起見證AI技術(shù)在軟件開發(fā)中的美好未來!
原創(chuàng)文章,作者:陳晨,如若轉(zhuǎn)載,請注明出處:http://2079x.cn/article/588854.html