前提介绍
今日,我有幸向大家展示一款我日常使用的AI编程利器。这款工具凭借出色的智能表现和人性化的操作设计,必将助您一臂之力,显著提升开发效率。在它的辅助下,我们的编程工作将焕发新的活力,实现更高效、更流畅的创作体验。
CodeGeeX 作为一款国产AI编程工具,目前对于个人开发者完全免费,你可以像使用 ChatGPT 和 Copilot 一样,让它协助你完成项目的开发。由于是国内开发,所以我们可以直接使用它,而不需要额外连接VPN。
CodeGeex
CodeGeex是由清华与智谱AI共同研发的多语言代码生成模型,具备强大的功能集合,这些功能使得CodeGeeX成为开发者们的得力助手,显著提升他们的工作效率。
多语言生成模型
CodeGeeX,一款基于transformers技术的预训练编程语言模型,以其独特的自回归解码器设计,实现了从左到右的代码生成功能。该模型能够接收代码或自然语言标识符(token)作为输入,进而精准预测下一个标识符的概率分布。其架构包含40个transformer层,每个层的自注意力块隐藏层维数高达5120,前馈层维数更是惊人地达到20480,整体拥有130亿参数,支持最大序列长度为2048的输入。CodeGeeX的卓越性能得益于华为领先的MindSpore框架的支撑,在鹏城实验室的"鹏城云脑II"中完成训练,过程中动用了192个节点、共计1536个国产昇腾910 AI处理器。这一强大的训练环境不仅确保了CodeGeeX在多编程语言代码生成方面的出色表现,更彰显了其高度的复杂性和强大的能力。
支持的编程语言
经过两个月的精心训练,CodeGeeX在涵盖了20多种编程语言的庞大代码语料库(超过8500亿Token)中汲取了丰富的知识。当前,受到广泛支持与认可的编程语言主要包括以下这些: 模型支持生成包括Python、C++、Java、JavaScript和Go在内的多种主流编程语言的代码,并在HumanEval-X代码生成任务中实现了47%至60%的出色求解率。相较于其他开源基线模型,该语言模型在平均性能上展现出更为卓越的表现。
适配多种主流IDE
CodeGeeX对多种主流的编程语言都提供了强大的支持,并完美适配多种主流IDE,为开发者们提供了极大的便利。
多种IDE插件支持
官方已在VS Code以及JetBrains系列IDE(诸如PyCharm等)中上线了插件下载功能,为个人用户免费开放,旨在提供更为便捷高效的编程体验。 CodeGeeX插件现已正式上线VSCode插件市场,且完全免费供用户使用。这款插件凭借其强大的少样本生成能力,让用户能够自定义代码生成的风格和功能,从而更有效地辅助代码编写工作。
安装VS Code的CodeGeeX插件
- 点击左侧Extensions(扩展)按钮
- 在搜索框中输入"codegeex",并搜索
- 在搜索结果中点击Install
安装Jetbrains IDEs插件(IntelliJ IDEA,PyCharm)
请按照以下步骤操作:
- (Mac系统)在IntelliJ IDEA菜单中,点击Preference选项。(Windows系统,在IDE中导航至"Settings"选项;)
- 接着,在左侧点击Plugins,进入插件管理界面,如下图所示:
- 然后,在"Marketplace"区域下方的搜索框中输入"codegeex",找到并在搜索结果中点击Install,安装该插件。
- 最后,重启IDE以完成安装过程。
功能实现
CodeGeeX凭借其强大的功能集合,包括代码生成与补全、自动注释添加、代码翻译以及智能问答等,为开发者提供了全方位的支持。 这些功能不仅有助于提升代码编写的效率,更能助力开发者在软件开发过程中取得更高的工作成效。
1. 自动生成和补全代码
CodeGeeX具备强大的代码生成能力,它不仅能够根据自然语言注释描述的功能自动生成代码,还可以根据已有代码智能推断并续写后续代码,无论是补全当前行还是生成后续多行,都能助你轻松提升编程效率。 CodeGeeX可以根据自然语言注释描述的功能自动生成代码,也可以根据已有的代码自动生成后续代码,补全当前行或生成后续若干行,帮助你提高编程效率。
2. 多语言的代码翻译
支持代码片段在不同编程语言间进行自动翻译转换,翻译结果正确率高,在HumanEval-X代码翻译任务上超越了其它基线模型 。 代码翻译功能是CodeGeeX的显著优势之一,该功能基于先进的AI大模型技术,实现了代码在语义层面的精准翻译,支持多种编程语言之间的互译。无论是将Python代码转化为C语言,还是其他编程语言的转换,CodeGeeX都能轻松应对,为开发者提供了极大的便利和灵活性。
3. 自动添加注释
CodeGeeX具备强大的自动添加行级注释的功能,能够极大地节省开发者的时间。对于那些缺乏注释的历史代码,CodeGeeX同样能够轻松应对,让代码的可读性和可维护性得到显著提升,不再是开发者面临的难题。
4. 智能问答
作为当下AI编程工具的标配功能,你可以向CodeGeeX提出具体需求,它将为你生成完整的代码;同时,你也可以选中某段代码,CodeGeeX将协助你优化其结构,修复潜在的bug,并解释其含义。 只需点击右侧的CodeGeeX图标,即可轻松切换至Ask CodeGeeX模式。在该模式下,选中你希望解释的代码片段,CodeGeeX将为你提供详尽的解释,助你更好地理解代码逻辑。
登录CodeGeeX账号
首次体验Ask CodeGeeX时,您需要登录账号。只需轻点"Login your CodeGeeX..."按钮,系统将引导您跳转到登录页面,完成登录后即可畅享CodeGeeX的便捷功能。 您既可以在此处直接注册CodeGeeX账号以便登录使用,也可选择下方列出的六种授权登录方式,轻松访问CodeGeeX平台。一旦成功登录,您即可尽情开启与AI的"快问快答"互动之旅,享受高效且便捷的编程体验,让编程之路更加畅通无阻。
CodeGeex2
CodeGeex目前已更新至第二代,基于 ChatGLM2-6B 基座语言模型,中文理解及代码能力大幅提升。
CodeGeeX2,作为多语言代码生成模型CodeGeeX (KDD'23)的进化版,与第一代模型相比,其性能和技术特点均得到了显著提升。不同于完全在国产华为昇腾芯片平台训练的一代CodeGeeX,CodeGeeX2是基于ChatGLM2架构,并融入了代码预训练技术。得益于ChatGLM2架构的卓越性能,CodeGeeX2在多项指标上均实现了性能的跨越式提升,相较于CodeGeeX提升了107%,甚至在参数规模仅为60亿的情况下,其性能就超越了拥有150亿参数的StarCoder-15B近10%。
CodeGeeX2展现出更为强大的代码能力。它建立在ChatGLM2-6B基座语言模型之上,并进一步通过600B的代码数据进行了预训练。相较于一代模型,其在代码能力上实现了全面的提升。在HumanEval-X评测集中,六种编程语言的表现均取得了显著增长,其中Python的增长率高达57%,C++为71%,Java为54%,JavaScript为83%,Go为56%,Rust更是高达321%。特别是在Python上,CodeGeeX2达到了35.9%的Pass@1一次通过率,超越了规模更大的StarCoder-15B。
最后补充
尽管辅助编程工具无法完全取代人类,尤其是在面对复杂场景时,AI工具偶尔也会给出错误的答案,但它们确实能够显著减少我们在搜索引擎中耗费的时间来检索相关信息。对于其实际效果,诚邀大家亲自体验,感受其带来的便捷与效率。
资源信息
- CodeGeex官方资源
- CodeGeex2官方资源
- 大模型技术