【小沐学NLP】AI辅助编程工具汇总
文章目录
- 1、简介
- 2、国内
- 2.1 aiXcoder
- 2.1.1 工具特点
- 2.1.2 部署方式
- 2.1.3 使用费用
- 2.1.4 代码测试
- 2.1.4.1 代码搜索引擎
- 2.1.4.2 在线体验
- 2.2 CodeGeeX
- 2.2.1 工具特点
- 2.2.2 部署方式
- 2.2.3 使用费用
- 2.2.4 代码测试
- 2.3 Alibaba Cloud AI Coding Assistant(cosy)
- 3、国外
- 3.1 GitHub Copilot
- 3.2 codeium
- 3.3 Amazon CodeWhisperer
- 3.4 Tabnine
- 3.5 Replit Ghostwriter
- 3.6 Microsoft IntelliCode
- 3.7 OpenAI Codex
- 结语
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???
如果您需要相关功能的代码定制化开发,可以留言私信作者;(✿◡‿◡)
感谢各位大佬童鞋们的支持!( ´ ▽´ )ノ ( ´ ▽´)っ!!!
相关文章:
【小沐学NLP】AI辅助编程工具汇总
文章目录 1、简介2、国内2.1 aiXcoder2.1.1 工具特点2.1.2 部署方式2.1.3 使用费用2.1.4 代码测试2.1.4.1 代码搜索引擎2.1.4.2 在线体验 2.2 CodeGeeX2.2.1 工具特点2.2.2 部署方式2.2.3 使用费用2.2.4 代码测试 2.3 Alibaba Cloud AI Coding Assistant(cosy&#…...
linux动态扩容系统盘(非lvm磁盘)
查看磁盘状态 执行df -Th查看磁盘情况 [rootiotdbtest1 ~]# df -Th Filesystem Type Size Used Avail Use% Mounted on devtmpfs devtmpfs 7.7G 0 7.7G 0% /dev tmpfs tmpfs 7.7G 0 7.7G 0% /dev/shm tmpfs tmpfs …...
Gitlab仓库部署
Gitlab仓库部署 一、Gitlab的概述1、gitlab介绍2、gitlab主要功能3、gitlab和github的区别 二、部署环境1、安装依赖环境2、安装Postfix邮箱3、Gitlab优势4、Gitlab工作流程 三、Gitlab部署过程1、Yum安装Gitlab2、配置gitlab站点URL3、启动并访问Gitlab 四、Gitlab具体操作1、…...
Day46:项目-购物车案例
购物车案例 准备工作 首页默认加载,其余页面懒加载 调用defineStore方法构建store 入口main做对应配置,找指南,快速开始,把elementplus引入进来 import { createApp } from "vue"; import { createPinia } from &qu…...
【小沐学CAD】嵌入式UI开发工具:GL Studio
文章目录 1、简介2、软件功能3、应用行业3.1 航空3.2 汽车3.3 防御3.4 工业3.5 电力与能源3.6 医疗3.7 空间3.8 科技 结语 1、简介 https://disti.com/gl-studio/ DiSTI 是 HMI 软件、虚拟驾驶舱、仪表、信息娱乐、集群显示器和嵌入式 UI 解决方案的领先提供商。 而它的GL Stu…...
Python:Tornado框架之获取get和post的传参
一、获取get方式传参 import tornado.ioloop #导入tornado包 import tornado.web class MainHandle(tornado.web.RequestHandler):def get(self,id): #定义请求函数self.write("Hello %s!" %id)apptornado.web.Application([ #定义应用配置函数(r"/…...
JSON和全局异常处理
目录 1️⃣JSON 一、什么是json? 二、与javascript的关系 三、语法格式 四、注意事项 五、总结 六,使用json 1导入pom.xml依赖 2.配置spring-mvc.xml 3. ResponseBody注解使用 创建一个web层控制器 编写ClazzBiz 实现接口 测试: …...
骨传导耳机有害处吗、骨传导耳机真的不好用吗?
骨传导耳机没有害处。 骨传导耳机是通过将声音传递到颅骨,再由颅骨传递到内耳,从而达到听声音的效果,与传统的耳机不同。 因此,骨传导耳机不会直接对人的身体健康、耳朵产生压力和损伤,也不会影响耳道和中耳的正常功能…...
第一类曲面积分:曲面微元dσ与其投影面积微元dxdy之间的关系推导
第一类曲面积分:曲面微元dσ与其投影面积微元dxdy之间的关系推导 本篇博客精简自本人关于曲面积分的博客:详情见:曲面积分(Surface Integral) 曲面参数化(曲面上的每个点都使用起点为原点、终点为该曲面上的点的向量表示&#x…...
vue学习之Font Awesome图标
官方文档 https://fontawesome.com.cn/v5 Font Awesome 安装 cnpm install font-awesome/src/main.js 引入css import Vue from vue; import ElementUI from element-ui; import element-ui/lib/theme-chalk/index.css; import App from ./App.vue;...
mysql内连接与外连接详解
内连接与外连接 内连接外连接 在数据库中,连接操作是一种把两个或者多个表的记录组合在一起的操作,常用的有内连接(Inner Join)、外连接(Outer Join)等。 内连接 内连接(Inner Join࿰…...
在Mujoco环境下详细实现PPO算法应用于Humanoid-v2的完整教程
第一部分:介绍 1. 背景介绍 MuJoCo,或称为多关节动力学与控制的物理引擎,已经成为了强化学习中仿真环境的首选工具。其精确的物理仿真和高效的速度使得研究者可以在这个环境下测试和验证各种算法。PPO,即近端策略优化,是一种深度强化学习中的策略优化方法。它解决了TRPO…...
怎么给网络加速
首先,按winr,调出运行窗口。 输入cmd,回车,再输入gpedit.msc,调出本地组策略编辑器。 点击计算机配置下的管理模版。 再点击网络。 再点击Qos数据包计划程序。 再点击限制可保留宽带。 选择已启用,再把带宽…...
golang for循环append的数据重复
原因,因为使用了& 需要增加一行,问题解决...
趣谈网络协议_1
趣谈网络协议_1 第1讲 | 为什么要学习网络协议?第4讲 | DHCP与PXE:IP是怎么来的,又是怎么没的?动态主机配置协议(DHCP) 第5讲 | 从物理层到MAC层:如何在宿舍里自己组网玩联机游戏?第…...
利用WebStorm开发react——本文来自AI创作助手
要在WebStorm中开发React应用程序,请按照以下步骤进行设置: 1.安装Node.js和npm(如果尚未安装)。 2.下载和安装WebStorm。 3.打开WebStorm,并在欢迎界面中选择“Create New Project”。 4.在弹出窗口中,…...
将本地构建的镜像推送到远程镜像库,构建多种系统架构支持的Docker镜像并推送到Docker Hub
目录 推送到 Docker Hub前提:需要在 [Docker Hub](https://hub.docker.com/) 创建账户、创建仓库。1. 创建 Dockerfile 和构建镜像:docker build -t2. 登录到远程镜像库:docker login3. 将镜像标记为远程仓库地址:docker tag4. 推…...
【技术分享】NetLogon于域内提权漏洞(CVE-2020-1472)
一、漏洞介绍 CVE-2020-1472是一个Windows域控中严重的远程权限提升漏洞。攻击者在通过NetLogon(MS-NRPC)协议与AD域控建立安全通道时,可利用该漏洞将AD域控的计算机账号密码置为空,从而控制域控服务器。该漏洞适用于Win2008及后…...
python学习之【模块】
前言 上一篇文章 python学习之【深拷贝】中学习了python中的深浅拷贝学习内容,这篇文章接着学习python中的模块。 什么是模块 在python中,一个文件(以“.py”为后缀名的文件)就叫做一个模块,每一个模块在python里都…...
dns电脑服务器发生故障怎么修复
DNS电脑服务器发生故障可能会导致网络连接问题、网页无法访问、或者电子邮件无法发送等情况。修复DNS电脑服务器故障可以采取多种方法,例如检查网络连接、更换DNS服务器等措施。当DNS电脑服务器发生故障时,可以采取以下修复措施: 尝试刷新DNS…...
云原生核心技术 (7/12): K8s 核心概念白话解读(上):Pod 和 Deployment 究竟是什么?
大家好,欢迎来到《云原生核心技术》系列的第七篇! 在上一篇,我们成功地使用 Minikube 或 kind 在自己的电脑上搭建起了一个迷你但功能完备的 Kubernetes 集群。现在,我们就像一个拥有了一块崭新数字土地的农场主,是时…...
rknn优化教程(二)
文章目录 1. 前述2. 三方库的封装2.1 xrepo中的库2.2 xrepo之外的库2.2.1 opencv2.2.2 rknnrt2.2.3 spdlog 3. rknn_engine库 1. 前述 OK,开始写第二篇的内容了。这篇博客主要能写一下: 如何给一些三方库按照xmake方式进行封装,供调用如何按…...
vue3 字体颜色设置的多种方式
在Vue 3中设置字体颜色可以通过多种方式实现,这取决于你是想在组件内部直接设置,还是在CSS/SCSS/LESS等样式文件中定义。以下是几种常见的方法: 1. 内联样式 你可以直接在模板中使用style绑定来设置字体颜色。 <template><div :s…...
ServerTrust 并非唯一
NSURLAuthenticationMethodServerTrust 只是 authenticationMethod 的冰山一角 要理解 NSURLAuthenticationMethodServerTrust, 首先要明白它只是 authenticationMethod 的选项之一, 并非唯一 1 先厘清概念 点说明authenticationMethodURLAuthenticationChallenge.protectionS…...
拉力测试cuda pytorch 把 4070显卡拉满
import torch import timedef stress_test_gpu(matrix_size16384, duration300):"""对GPU进行压力测试,通过持续的矩阵乘法来最大化GPU利用率参数:matrix_size: 矩阵维度大小,增大可提高计算复杂度duration: 测试持续时间(秒&…...
HTML前端开发:JavaScript 常用事件详解
作为前端开发的核心,JavaScript 事件是用户与网页交互的基础。以下是常见事件的详细说明和用法示例: 1. onclick - 点击事件 当元素被单击时触发(左键点击) button.onclick function() {alert("按钮被点击了!&…...
Unit 1 深度强化学习简介
Deep RL Course ——Unit 1 Introduction 从理论和实践层面深入学习深度强化学习。学会使用知名的深度强化学习库,例如 Stable Baselines3、RL Baselines3 Zoo、Sample Factory 和 CleanRL。在独特的环境中训练智能体,比如 SnowballFight、Huggy the Do…...
Caliper 配置文件解析:config.yaml
Caliper 是一个区块链性能基准测试工具,用于评估不同区块链平台的性能。下面我将详细解释你提供的 fisco-bcos.json 文件结构,并说明它与 config.yaml 文件的关系。 fisco-bcos.json 文件解析 这个文件是针对 FISCO-BCOS 区块链网络的 Caliper 配置文件,主要包含以下几个部…...
如何理解 IP 数据报中的 TTL?
目录 前言理解 前言 面试灵魂一问:说说对 IP 数据报中 TTL 的理解?我们都知道,IP 数据报由首部和数据两部分组成,首部又分为两部分:固定部分和可变部分,共占 20 字节,而即将讨论的 TTL 就位于首…...
【开发技术】.Net使用FFmpeg视频特定帧上绘制内容
目录 一、目的 二、解决方案 2.1 什么是FFmpeg 2.2 FFmpeg主要功能 2.3 使用Xabe.FFmpeg调用FFmpeg功能 2.4 使用 FFmpeg 的 drawbox 滤镜来绘制 ROI 三、总结 一、目的 当前市场上有很多目标检测智能识别的相关算法,当前调用一个医疗行业的AI识别算法后返回…...
