[心得] 用 ChatGPT 帮忙整理 Code Changes

楼主: appleboy46 (小恶魔)   2023-03-13 18:31:02
部落格: https://bit.ly/3yuTBnj
GitHub: https://github.com/appleboy/CodeGPT
相信大家对 ChatGPT 不会很陌生,这是目前在生成式人工智能 (AIGC: AI Generated
Content) 内的当红炸子鸡,然而 ChatGPT 对于软件工程师有什么影响呢?能否透过
ChatGPT 改善团队流程或协助开发?而我现在想到最直接的就是用 ChatGTP 帮忙写 Git
Commit 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
作者: single4565 (leekdumpling韭菜水饺)   2023-03-13 18:41:00
能用chatgpt帮忙真的太狠了
作者: jlhc (H)   2023-03-13 20:02:00
感谢分享, 有心得有实作给推, 虽然我觉得有点画蛇添足
作者: q26766 (cancan)   2023-03-13 22:35:00
注意看,这个男人太狠了
作者: alan23273850   2023-03-13 23:02:00
现在很多服务都要自己买 token,对穷学生来说实在是不忍下手...
作者: blackcan (太平李荣浩)   2023-03-14 10:49:00
推推
作者: jay123peter (萧瑟风雅)   2023-03-14 13:29:00
分享给推
楼主: appleboy46 (小恶魔)   2023-03-14 16:07:00
to alan: 每天不到一美金
作者: j112233456 (j112233456)   2023-03-15 09:23:00
请问code change太长是否会超过单次token限制?
作者: Csongs (西歌)   2023-03-15 19:01:00
我觉得还不错啊
楼主: appleboy46 (小恶魔)   2023-03-16 23:30:00
to j112233456: 会,所以可以加上 --exclude_list像是 --exclude_list *.py,*.md 用逗号隔开
作者: HybridSC (VisionS)   2023-03-17 18:45:00
把公司的程式码丢出去不会有问题吗0.0
作者: friends29 (凉哥哥)   2023-03-17 19:58:00
赞喔这个应用很棒
作者: jfmamjjasond (超级大帅哥)   2023-03-18 11:16:00
--diff_unified设成0很准确欸,不过为什么默认要设成3?
楼主: appleboy46 (小恶魔)   2023-03-19 22:21:00
git diff 默认 unified 就是为 3,所以这部分我就没动设定为 0 还有好处是,Token 会变少。

Links booklink

Contact Us: admin [ a t ] ucptt.com