一个悄然崛起的国产软件!!AI 又进化了!!

2023-11-25 10:00:39 浏览数 (1)

大家好,我是 Jack。

AI 写代码想必很多人都体验过了,使用 AI 编程工具是一个大趋势,越早学会使用 AI 辅助你写代码,你的效率也会越高。

甚至有些公司已经要求员工具备 AI 编程能力。

对于学生党,AI 编程可以帮助我们学习,做课后作业、做毕设;对于上班族,AI 编程可以帮助我们提高工作效率,甚至是翻译别人的“屎山”代码。

之前跟大家聊过各种 AI 工具,其中 CodeGeeX 的呼声很高,这个 Copilot 的国产免费平替版到底有着怎样的魅力?

我体验了一番后发现,它有着三个明显的优势。

  • 对个人开发者完全免费;
  • 不用访问国外网站非常方便;
  • 对中文支持非常友好。

一、CodeGeeX

GitHub Copilot 刚发不出来的时候,很多用户表示编程效率有了较大的提高。随后,就涌现了各种代码生成的大模型,包括:DeepMind 的 AlphaCode、Salesforce 的 CodeGen、Meta 的 InCoder 和 Google 的 PaLM-Coder-540B。

而国内较为出名的就是 CodeGeeX,它是清华和智谱 AI 联合打造的多语言代码生成模型。

可以看到,整体也是 Transformer 的结构,采用 KQV 这种经典的多头注意力机制。

除了词嵌入,也用到了位置嵌入,从而帮助模型学到位置之间的依赖关系和自然语言的时序特性。

CodeGeeX 的预训练预料也很丰富:

  • 开源代码数据集:Pile 和 CodeParrot;
  • 从 GitHub 爬取代码,选择的代码仓库至少有一个 star 且小于10MB,然后过滤文件:
    • 每行超过 100 个字符;
    • 自动生成的;
    • 字母比例小于 40% 的;
    • 大于 100KB 或者小于 1KB 的。

通过这些规则,清洗出高质量数据。

上图展示了训练数据中 23 种编程语言的占比。训练数据会被划分为等长的片段。为了帮助模型区分多种语言,在每个片段前添加了语言相关的标签,例如:language: Python。

如今,CodeGeeX 的训练集应该更大了,毕竟它们也在一直持续优化更新。

接下来,讲解下怎样玩转 CodeGeex。

二、CodeGeex 体验

1、安装

CodeGeex 支持很多主流的 IDE:

我平时习惯用 VSCode,今天就以它为例进行演示。

CodeGeex 官网:

https://codegeex.cn/zh-CN?article=1113

VSCode 插件安装地址:

https://marketplace.visualstudio.com/items?itemName=aminer.codegeex

打开 VSCode 找到应用扩展。

搜索 codegeex,然后点击安装。

安装后选择登陆,然后就会弹出一个页面,用手机账号注册一下就搞定了。

CodeGeex 有三个模块:Ask、工具箱、代码翻译。

1、Ask 问答模式

我们先来个简单的热身菜,在 Ask 模块中输入:用 python 写一个贪吃蛇游戏。

将生成的代码拷贝过来。

python test.py 运行代码。

代码顺利运行。怎么样,有了 CodeGeeX 写个小需求还不是手到擒来?

不过代码呢,不是写完就完事了,如果你用它来做课后作业,作业是 1 秒就写完了,但也没学到知识啊。

这时候,CodeGeeX 就是你最好的老师。选中不懂的代码,左侧的对话框会自动填充这段代码到提示框中。

找到不懂的代码,然后提问:什么意思?

CodeGeeX 会详细给你解释,这段代码是什么含义,为什么这么写。

除了学习,这个功能对于上班族来说,还可以翻译同事写的“屎山”代码,让 AI 帮你一起缕清头绪。

咱们接着加大一点难度,我想处理一批图片数据,把这些图片中的人脸裁剪出来,保存到 res 目录下。

人脸检测是我们经常会用到的算法,比如裁剪人脸后,训练一个 LoRA 模型之类的。

在 Ask 中输入:使用python和opencv检测图像中的人脸,遍历images目录下的图片,裁剪后的图片请保存res目录下。

将代码拷贝过来,然后再运行。

瞧,这样就大功告成了。

2、翻译代码

CodeGeeX 除了这种问答功能,还能翻译代码。

比如一段 js 代码,这是一段冒泡排序算法,我想将代码翻译成 python 的,点击翻译,这样就搞定了。

3、工具箱

最后,咱们再看看 CodeGeeX 的工具箱,这个是最新上线的功能。

我们在浏览网页的时候,经常会碰到 HEX 格式的颜色数值,我们想用到这个颜色。

但是代码却需要用到 RBG 格式的数值,这个时候就可以用到这个工具了,运行一下,可以能得到对应的 RGB 值了。

我们再考验一下它 Excel 转 JSON 的能力,我们新建一个 Excel 。

我随便输入了一些信息,2 米大个 Jack Cui 和 3 米的花季少女李四。

好,然后选择这个插件,上传这个 excel,回车。

可以看到工具箱还贴心地提供了转换代码。JSON 格式的数据也提供了。

怎么样,CodeGeex 很强大了吧,无论对于学生党还是打工族,CodeGeex 绝对都是开发利器。

三、最后

文章对应的视频版,我也发布到了 B 站,想要看更直观的体验视频,可以去瞧瞧:

https://www.bilibili.com/video/BV1hg4y1Q715

好了,今天就聊这么多吧。

我是 Jack,我们下期见!

0 人点赞