[心得] 用 ChatGPT 幫忙整理 Code Changes
部落格: https://bit.ly/3yuTBnj
GitHub: https://github.com/appleboy/CodeGPT
相信大家對 ChatGPT 不會很陌生,這是目前在生成式人工智慧 (AIGC: AI Generated
Content) 內的當紅炸子雞,然而 ChatGPT 對於軟體工程師有什麼影響呢?能否透過
ChatGPT 改善團隊流程或協助開發?而我現在想到最直接的就是用 ChatGTP 幫忙寫 GitCommit Message,然而怎麼把 Commit Message 寫好可以參考這篇文章,為了能達成這目的,我用 Go 語言寫了一個 CLI 工具 CodeGPT (請大家幫忙分享),來協助軟體工程師整理開發內容。底下先看看使用 CodeGPT 來產生 Commit Message 的成果:
https://i.imgur.com/AG6MWQe.png
上面圖示內容可以從 CodeGPT 的 Commit Log 找到
## 為什麼要寫 CodeGPT
其實在 GitHub 平台上面已經有超多這樣類似的工具可以使用了,而我為什麼要再重新開發一次呢?第一個原因是跨平台,透過 Go 語言可以快速產生執行檔,避免不同平台還要安裝不同的環境,這樣對於不熟環境的開發者可以更容易安裝。
第二個原因是未來規劃朝向整合 GitHub, Gitea 或 Bitbucket 等 Git 平台,發 PR 後,可以透過 ChatGPT 自動幫忙整裡 Commit 內容且自動留言。所以這工具不只是單純讓開發者可以自行產生 Commit Message 而已,未來也會整合成容器化服務,協助進行
Code Review。
第三個原因是未來不只是接 OpenAI 的 API 而已,ChatGPT API 目前也已經在 Azure
OpenAI Service 支援了,所以之後除了原本的 OpenAI 外,還會整合微軟 Azure 服務。
## 使用方式
目前每次釋出都會產生 Linux, MacOS 及 Windows 相對應的執行檔案,只要下載放在
bin 目錄底下即可,接著到 OpenAI 網站申請 API Key,第一個月免費 18 美金,其實每天用量都不到一美金,相當便宜,信用卡放上去就對了。將 API Key 寫到環境變數
export OPENAI_API_KEY=sk-xxxxxxx
接著將需要 commit 的檔案透過 git add 方式加入,再執行底下指令
codegpt commit --preview
## 心得
由於中國跟香港或者是部分公司對於 ChatGPT 有嚴格的封鎖政策,故在此工具多了設定Proxy 功能,可以讓大家透過 Proxy 方式出去訪問 OpenAI API,公司希望特定的機器才可以出去。下一階段預計整合 Azure OpenAI 服務進來。用了此工具後,省下開發者不少時間,尤其是需要常常 Commit,又不知道該如何整裡內容。如果喜歡的話可以按個
Star CodeGPT.
--
AppleBoy Blog: http://blog.wu-boy.com
--
能用chatgpt幫忙真的太狠了
感謝分享, 有心得有實作給推, 雖然我覺得有點畫蛇添足
注意看,這個男人太狠了
現在很多服務都要自己買 token,對窮學生來說實在是
不忍下手...
推推
分享給推
to alan: 每天不到一美金
請問code change太長是否會超過單次token限制?
我覺得還不錯啊
to j112233456: 會,所以可以加上 --exclude_list
像是 --exclude_list *.py,*.md 用逗號隔開
21
Re: [討論] chatGPT會取代軟體工程師嗎?提供一個有趣的觀點 在 堆疊溢出 的網站有關於一則公告內容是禁止 chatgpt 回文。 底下有一個 AI 研究員的論點很有趣。 temporary-policy-chatgpt-is-banned?cb=117
[討論] OpenAI正式推出付費版ChatGPT,訂閱價格OpenAI正式推出付費版ChatGPT,訂閱價格每月20美元 使用者現在可以訂閱ChatGPT Plus,獲得ChatGPT優先存取資格,還能搶先用到ChatGPT的 新功能 文/李建興 | 2023-02-02發表 OpenAI針對熱門的對話語言模型ChatGPT,正式推出訂閱服務ChatGPT Plus,該服務訂閱9
Re: [請益] 大型Git版本庫的備份或替代方案分享一下我們開發的工具 用法跟 git 很類似,但是就是拿來備份大的檔案。 更精確的說是 snapshot 檔案,每個版本類似 git 的 commit : 使用Git管理的原因是這些檔案修改內容時希望有版本回溯機制,