【小沐学NLP】AI辅助编程工具汇总

1、简介

AI辅助编程工具是一种利用人工智能技术来帮助程序员更高效地编写和维护代码的工具。这些工具使用机器学习算法来分析代码库、学习编程模式和偏好,并自动完成编程任务,从而减少了程序员的工作量和错误。

2、国内

2.1 aiXcoder

aiXcoder:国内首款基于深度学习的智能化软件开发工具,利用AI技术实现代码⾃动⽣成、代码⾃动补全、代码智能搜索等功能,提升开发者开发效率与代码质量。

官网地址:
https://aixcoder.com/#/

在这里插入图片描述

  • Token级代码生成与补全:基于本地服务,支持自动推荐单个或多个Token的代码
  • 行级代码生成与补全:基于云端服务,支持自动生成或补全整行代码
  • 方法级代码生成与补全:基于云端服务,支持根据自然语言功能描述以及上下文,生成或补全方法级代码

2.1.1 工具特点

  • 各种主流编程语言

    • 支持Java、Python、C#、C/C++、 JavaScript、TypeScript、Go等多种编程语言(云端智能编程服务目前仅支持Java语言)
    • 面向企业的aiXcoder可根据企业需求定制新的编程语言
  • 多种主流IDE

    • 兼容IntelliJ IDEA、CLion、GoLand、 PyCharm、 WebStorm、Visual Studio Code、Eclipse等多个IDE(云端智能编程服务目前仅兼容IntelliJ IDEA)
    • 面向企业的aiXcoder可根据企业需求定制插件自定义功能

在这里插入图片描述

2.1.2 部署方式

  • 极速本地模型
    您可以在“完全私有”环境中运行aiXcoder的深度学习模型,模型将下载到您的计算机并在本地查询数据,从而快速实现代码补全。此模式支持离线使用。

  • 云端大模型
    部署在云端的深度学习模型需要良好的网络才能运行,这能帮助您实现行级代码补全、方法级代码生成等智能编程功能。

2.1.3 使用费用

aiXcoder企业版采取灵活的定价模式,具体包括License费用和模型定制费,具体金额根据企业规模采取灵活的计价模式,具体请联系商务人员咨询。

2.1.4 代码测试

2.1.4.1 代码搜索引擎

https://codesearch.aixcoder.com/#/
在这里插入图片描述

2.1.4.2 在线体验

https://aixcoder.com/nl2code/
在这里插入图片描述

2.2 CodeGeeX

https://codegeex.cn/zh-CN

CodeGeeX是一个具有130亿参数的多编程语言代码生成预训练模型。CodeGeeX采用华为MindSpore框架实现,在鹏城实验室“鹏城云脑II”中的192个节点(共1536个国产昇腾910 AI处理器)上训练而成。截至2022年6月22日,CodeGeeX历时两个月在20多种编程语言的代码语料库(>8500亿Token)上预训练得到。
简单来说, CodeGeeX 是一个用人工智能驱动的帮助你快速编写代码的代码生成工具。

在这里插入图片描述

CodeGeeX2 是多语言代码生成模型 CodeGeeX (KDD’23) 的第二代模型。不同于一代 CodeGeeX(完全在国产华为昇腾芯片平台训练) ,CodeGeeX2 是基于 ChatGLM2 架构加入代码预训练实现,得益于 ChatGLM2 的更优性能,CodeGeeX2 在多项指标上取得性能提升(+107% > CodeGeeX;仅60亿参数即超过150亿参数的 StarCoder-15B 近10%)

2.2.1 工具特点

  • 高精度代码生成:支持生成Python、C++、Java、JavaScript和Go等多种主流编程语言的代码,在HumanEval-X代码生成任务上取得47%~60%求解率,较其他开源基线模型有更佳的平均性能。
  • 跨语言代码翻译:支持代码片段在不同编程语言间进行自动翻译转换,翻译结果正确率高,在HumanEval-X代码翻译任务上超越了其它基线模型。
  • 自动编程插件:CodeGeeX插件现已上架VSCode插件市场(完全免费),用户可以通过其强大的少样本生成能力,自定义代码生成风格和能力,更好辅助代码编写。
  • 模型跨平台开源: 所有代码和模型权重开源开放,用作研究用途。CodeGeeX同时支持昇腾和英伟达平台,可在单张昇腾910或英伟达V100/A100上实现推理。

在这里插入图片描述
架构:CodeGeeX是一个基于transformers的大规模预训练编程语言模型。它是一个从左到右生成的自回归解码器,将代码或自然语言标识符(token)作为输入,预测下一个标识符的概率分布。CodeGeeX含有40个transformer层,每层自注意力块的隐藏层维数为5120,前馈层维数为20480,总参数量为130亿。模型支持的最大序列长度为2048。

语料:CodeGeeX的训练语料由两部分组成。第一部分是开源代码数据集,The Pile与CodeParrot。The Pile包含GitHub上拥有超过100颗星的一部分开源仓库,我们从中选取了23种编程语言的代码。第二部分是补充数据,直接从GitHub开源仓库中爬取Python、Java、C++代码;

CodeGeeX支持多种主流IDE,如VS Code、IntelliJ IDEA、PyCharm、Vim等,
同时,支持Python、Java、C++/C、JavaScript、Go等多种语言。

  • 支持IDEs
    在这里插入图片描述
  • 支持语言
    在这里插入图片描述

2.2.2 部署方式

面向个人提供vscode插件的在线方式。
面向企业提供CodeGeeX私有化部署服务。

2.2.3 使用费用

CodeGeeX 插件不需要任何上述条件。你所需的仅仅是进入插件商店进行下载就行。CodeGeeX插件对个人用户完全免费。

在这里插入图片描述

2.2.4 代码测试

基于CodeGeeX,我们开发了一个免费的VS Code插件(插件市场搜索“CodeGeeX”即可下载),辅助多语言编程开发。

在这里插入图片描述

2.3 Alibaba Cloud AI Coding Assistant(cosy)

https://developer.aliyun.com/tool/cosy
阿里云智能编码插件(Alibaba Cloud AI Coding Assistant)是一款AI编程助手提供代码智能补全和代码示例搜索能力,帮你更快更高效地写出高质量代码。
在这里插入图片描述

3、国外

当下主流的几个AI智能编程代码助手包括:Github Copilot、Codeium、Tabnine、Replit Ghostwriter和Amazon CodeWhisperer。

在这里插入图片描述

3.1 GitHub Copilot

https://github.com/features/copilot

2022年6月,GitHub Copilot 正式向大众发布。全世界的开发者都欣喜若狂,他们从2021年的测试版发行以来就一直等待着这一天。事实证明这个等待是值得的。 Copilot 实现了帮助开发者减少工作的同时加速他们的编码过程的目标。这近乎完美,除了一点—— Copilot 收费。

在这里插入图片描述

在这里插入图片描述

3.2 codeium

https://codeium.com/

Codeium是一个基于尖端人工智能技术构建的免费AI代码加速工具包。它提供代码补全、智能搜索和支持20多种语言的AI聊天功能。Codeium可用于所有流行的集成开发环境(IDE),包括Visual Studio Code、IntelliJ IDEA和Eclipse。

在这里插入图片描述

3.3 Amazon CodeWhisperer

https://aws.amazon.com/cn/codewhisperer/

Amazon CodeWhisperer 经过数十亿行 Amazon 和公开可用代码的训练,可以理解用自然语言(英语)编写的评论,可以实时生成多个代码建议以提高开发人员的工作效率。该服务直接在集成式开发环境(IDE)代码编辑器中为完整的函数和逻辑代码块(通常由多达 10–15 行代码组成)提供建议。生成的代码与您编写代码的方式类似,符合您的风格和命名规则。您可以快速接受排在首位的建议(Tab 键)、查看更多建议(箭头键)或继续编写自己的代码。在接受代码建议之前,请务必对其进行审查,并且可能需要对其进行编辑以确保完全符合您的预期。键入时,CodeWhisperer 甚至会自行提供完成注释的建议。

在这里插入图片描述

Amazon CodeWhisperer 直接在集成式开发环境 (IDE) 中为开发人员提供实时代码建议。个人开发人员可以免费使用 CodeWhisperer。组织为使用 CodeWhisperer 按“每位用户每月”支付固定的订阅费,无需预付费用或长期承诺。

3.4 Tabnine

https://www.tabnine.com/

TabNine是一款比较年轻的开发工具,刚发布的时候还是比较惊艳的,当时OpenAI刚开源GPT-2模型不久,TabNine基于GPT-2模型在海量代码数据上进行二次训练,打造出了一款针对代码的深度学习引擎,它能智能识别代码的上文信息,提供长序列的代码补全结果。目前,已经被Codota公司收购,并主推该工具,宣称支持所有主流的开发语言。

tabnine分基本版、增强版和企业版。免费版只提供较为基础的补全功能,收费的Pro版本补全效果更好.
在这里插入图片描述

3.5 Replit Ghostwriter

https://replit.com/site/ghostwriter

AI辅助编程圈出了个新晋独角兽。它叫Replit,一个成立于2016年的云开发平台,去年才刚刚上线了自己的类Coplipot工具Ghostwriter。Replit本身是一个在线集成开发环境,支持50多种开发语言。它可以帮助初学开发者避开复杂的环境部署,直接上手编程;对于有经验的开发者也很适用,能够进行协作编程、各种应用的构建和测试。

Currently, Ghostwriter costs 1,000 Cycles per month ($10 USD/month).
Ghostwriter is also available through our Pro plan.
当然,它并非免费,每月需要充值10美元或者用1000个Cycles来换(Replit平台发布的虚拟代币)。

在这里插入图片描述

3.6 Microsoft IntelliCode

https://learn.microsoft.com/zh-cn/visualstudio/intellicode/intellicode-visual-studio

Visual Studio 2022 配备了 IntelliCode ,它是一个 AI 辅助的代码伴侣,可让开发者输入更少的代码,提升效率。IntelliCode 可以完成整行代码,用户只需按两次 Tab 键即可编写可靠的代码。IntelliCode 还可以发现重复的编辑,并在整个代码库中存在类似模式的地方提出修复建议。

3.7 OpenAI Codex

https://openai.com/blog/openai-codex/

Codex 模型系列是 GPT-3 系列的后代,它经过了自然语言和数十亿行代码的训练。 该模型系列精通十几种语言,包括 C#、 JavaScript、Go、Perl、PHP、Ruby、Swift、TypeScript、SQL,甚至 Shell,但最擅长 Python。

OpenAI Codex是GPT-3的后代;它的训练数据包含自然语言和来自公开来源的数十亿行源代码,包括公共 GitHub 存储库中的代码。OpenAI Codex在Python方面功能最强大,但它也精通十几种语言,包括JavaScript,Go,Perl,PHP,Ruby,Swift和TypeScript,甚至Shell。它的 Python 代码内存为 14KB,而 GPT-3 只有 4KB,因此在执行任何任务时,它可以考虑超过 3 倍的上下文信息。

结语

如果您觉得该方法或代码有一点点用处,可以给作者点个赞,或打赏杯咖啡;╮( ̄▽ ̄)╭
如果您感觉方法或代码不咋地//(ㄒoㄒ)//,就在评论处留言,作者继续改进;o_O???
如果您需要相关功能的代码定制化开发,可以留言私信作者;(✿◡‿◡)
感谢各位大佬童鞋们的支持!( ´ ▽´ )ノ ( ´ ▽´)っ!!!

猜你喜欢

转载自blog.csdn.net/hhy321/article/details/132916887