本专栏是学习CSDN高级讲师李宁的《AIGC自动化编程:基于Chat GPT和GitHub Copilot》时编写的笔记。将需要收费的Chat GPT和GitHub Copilot改为了KimiChat和CodeGeeX,实现免费的AIGC自动化编程。
目的:学会从程序员的角度使用AIGC来实现自动化编程,要掌握相关的工具以及提问技巧。
目录
(一)AIGC的实质以及自动化编程
李宁在书中讲了ChatGPT的实质:
尽管ChatGPT的功能非常强大,看似无所不能,但是ChatGPT毕竟只是基于很多算法和数据并运行在强大GPU上的大量代码而已。ChatGPT甚至并不智能,其实ChatGPT根本不知道自己做了什么。ChatGPT 的基本原理就是利用大量的数据以及神经网络,以及千亿规模的参数的微调,计算要产生的每一个字符到底是什么。也就是说,ChatGPT顶多算人工智算,而不是人工智能。尽管ChatGPT并没有真正的智慧,但是ChatGPT仍然能帮人类不少忙。虽然不能完全取代人类,但是ChatGPT至少可以大幅度提高人类的工作效率,或者说,做同样的工作,不再需要那么多人了。
AIGC自动化编程技术通过分析大量开源代码并结合当前代码的上下文,能够预测用户下一步可能编写的代码,从而辅助或增强程序员的工作。这种技术并不是要取代程序员,而是让程序员能够专注于更具创造性和复杂性的任务,提高开发效率和代码质量它将更加凸显那些拥有真正技能和深度知识的程序员的价值。
未来的程序员将不再需要花费大量时间在编写基础代码上,而是可以将更多的精力投入到设计程序逻辑、编写复杂算法和发挥创意上。这将使他们能够更专注于提升软件的质量和创新性。
(二)使用体验
在我知道CodeGeeX前,我一直使用的是Tabnine插件,这也是一个不错的AIGC自动化编程工具。但由于本人英语水平较差,所以用起Tabnine来并不如CodeGeeX高效。
Tabnine插件让我第一次尝到了AIGC自动化编程的“甜头”,我当时只是随便下载了这个插件,后来编写代码时,刚把注释写完,按下回车键后Tabnine插件就生成了对应的代码,这让我感觉很省事。也正是因为这样,我才打算系统地学习一下AIGC自动化编程的使用技巧。
(三)国产AIGC技术
由于Chat GPT在国内只能通过代理镜像使用且免费次数有限、GitHub Copilot的价格也比较高(通过GitHub学生或教师认证后GitHub Copilot可以免费使用)。如果无法免费地使用这两个最佳组合,用免费且国产的KimiChat和CodeGeeX代替也是一个不错的选择。
虽然由于硬件上的各种制裁,导致我们的技术无法快速的赶上国际最高水平。但是通过大佬们的不懈努力,我们也有了很优秀的国产AIGC技术。
1、KimiChat
KimiChat有网页版和手机APP版。KimiChat网页版入口
KimiChat和Chat GPT类似,下面是KimiChat对自己的描述。
2、CodeGeeX
在《AIGC自动化编程:基于Chat GPT和GitHub Copilot》书中,作者推荐了“GitHub Copilot的免费版本CodeGeeX”。巧的是CodeGeeX和清华大学也有渊源,它是由清华大学计算机系的唐杰教授和华为诺亚方舟实验室的杨志林博士团队联合开发的。CodeGeeX官网中有较详细的介绍以及官方使用手册CodeGeeX的官网。
学会使用ChatGPT类的软件后,所有概念性和定义类的查询就简单多了。比如,下面是Kimi软件对CodeGeeX的介绍。
(四)CodeGeeX使用
CodeGeeX支持很多IDE,本文章以VScode为例讲解。
1、安装插件:打开VScode,在拓展中搜索CodeGeeX,如下图所示。找到后单击“安装”即可。
2、注册/登录:安装完成后,插件会提示用户登录。按照提示即可跳转到登录网页,注册后登录即可。建议先用社交平台登录,可能目前的用户信息系统还在完善,登录后无法修改邮箱和手机号。
3、使用
注意:建议先禁用类似插件再使用CodeGeeX。当有其他类似插件也在运行时,由于相互干扰,效果可能会不好。在拓展列表中的设置按键处右键,然后点击禁用,如下图所示。
- 打开VScode后,在左边栏中有这个图标
,点击这个图标即可打开CodeGeeX对话框。在这里可以提出任何问题。
- 实验一下自动联想补全功能。
首先打开或新建一个CodeGeeX支持语言的文件。这里我新建一个Python文件。这里我稍微复杂一些,在第一行输入以下注释:
#编写一般情况下学习Python编程语言时的第一句代码
按下回车跳到第二行,效果如下图所示。灰色的就是CodeGeeX的建议代码。
按下“Tab”键后,CodeGeeX会将刚才灰色的预测结果输入进去,如下图所示。
专栏的下一篇文章将会介绍AIGC插件的各种功能。
如果我的文章对你有帮助的话,别忘了点赞或关注支持一下哦。