当前位置: 首页 > news >正文

【小沐学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&#xff0…...

在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.在弹出窗口中&#xff0c…...

将本地构建的镜像推送到远程镜像库,构建多种系统架构支持的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…...

Python项目Flask ipv6双栈支持改造

一、背景 Flask 是一个微型的(轻量)使用Python 语言开发的 WSGI Web 框架(一组库和模块),基于Werkzeug WSGI工具箱/库和Jinja2 模板引擎,当然,Python的WEB框架还有:Django、Tornado、Webpy,这暂且不提。 Flask使用BSD授权。 Flask也被称为microframework(微框架),F…...

hcia 目的mac为(单播 组播 广播)mac

从下往上看...

专栏十:10X单细胞的聚类树绘图

经常在文章中看到对细胞群进行聚类,以证明两个cluster之间的相关性,这里总结两种绘制这种图的方式和代码,当然我觉得这些五颜六色的颜色可能是后期加的,本帖子只总结画树状图的方法 例一 文章Single-cell analyses implicate ascites in remodeling the ecosystems of pr…...

linux查找命令使用的正则表达式

正则表达式是一种用于匹配和操作文本的强大工具,它是由一系列字符和特殊字符组成的模式,用于描述要匹配的文本模式。 正则表达式可以在文本中查找、替换、提取和验证特定的模式。 一般的查找命令是:grep,sed,awk 元字…...

ffmpeg6.0编译(NDK)

ffmpeg 6.0 支持vulkan 需要手动安装Vulkan 并将include里面的vk_video 和 vulkan 拷贝到 android-ndk-r25c/toolchains/llvm/prebuilt/linux-x86_64/sysroot/usr/include/ vulkan 下载 cp -r vk_video $NDK_HOME/toolchains/llvm/prebuilt/linux-x86_64/sysroot/usr/include/…...

达观RPA实战-编码与解码

一、应用背景 项目中我们经常需要获取某个服务的JSON数据。如果响应返回的是JSON格式的数据,客户端通过JSON工具可正常解析。但如果碰到值里面有中文的,特别是返回的格式是类似“{"name": "\u5927\u7231\u4e2d\u56fd"}”处理起来会比较麻烦。本文将从编…...

配置Swagger开发环境有效,生产环境无效

安全扫描:通用信息泄漏【未授权访问ip:端口号/swagger-ui.html】 步骤一:配置启用变量【开发环境可用生产环境不可用】 application-dev.yml: swagger:enable: true application-pro.yml: swagger:enable: false 步骤二:根据配置变量控…...

Jmeter系列-线程组的执行顺序(10)

重点 每个测试计划至少需要有一个线程组 线程组下不同组件的执行优先级/顺序 1、配置元件、监听器 2、前置处理器 3、定时器 4、逻辑控制器 5、取样器 6、后置处理器 7、断言 取样器执行顺序 在没有逻辑控制器情况下,取样器是按从上往下的顺序执行的 参考文章…...

c# 面试题

简述 private、 protected、 public、 internal 修饰符的访问权限。 答: Private(拍非得) : 私有成员, 在类的内部才可以访问。 protected (普泰忒): 保护成员,该类内部和继承类中可以访问。 Publ…...

目录优先的图片库网站PiGallery2

什么是 PiGallery2 ? PiGallery2 是一个快速的目录优先的图片库网站,具有丰富的用户界面,针对在低资源服务器(尤其是树莓派)上运行进行了优化 所谓 目录优先 是指,这种网站的设计是以显示不同的目录&#x…...

浏阳做网站报价/seo线下培训班

文章首发于跳跳糖:SnakeYaml反序列化及不出网利用 SPI 正文之前先了解一下SPI机制。 SPI全称Service Provider Interface,是Java提供的一套用来被第三方实现或者扩展的接口,它可以用来启用框架扩展和替换组件。 SPI的作用就是为这些被扩展的…...

网站空间期限查询/友情链接qq群

文章目录一、配置数据源-mysql二、下载安装1.1 下载包安装(已验证)1.2 Github 上下载源码(未验证)1.3 docker安装(已验证)三、springCloud pom主要配置3.1 pom3.2 bootstrap.yaml部分配置3.3 nacos设置对应一、配置数据源-mysql a:配置数据库 /*Navicat Premium Data Transfe…...

开锁公司网站模板/广东seo网站推广

之前七娃,整理过用css实现鼠标左右键禁用:静态页面js防止抽离 今天新增一个通过css设置body的样式,将鼠标左键禁用了,禁止用户选择! body{-webkit-touch-callout: none;-webkit-user-select: none;-khtml-user-selec…...

网站定做/百度外链查询工具

解决循环引用的问题,参考学习了ibireme大神的YYFPSLabel的实现,整理以备用 // 如果直接用 self 或者 weakSelf,都不能解决循环引用问题_link [CADisplayLink displayLinkWithTarget:[YYWeakProxy proxyWithTarget:self] selector:selector(t…...

网站建设及推广衬胶蝶阀/优化软件刷排名seo

2020博客地址汇总2019年博客汇总 一、安装docker docker 一般安装在linux7以上,内核3.1以上。 查看内核 uname -a安装文件:docker-18.06.3-ce.tgz 下载地址 tgz https://download.docker.com/linux/static/stable/x86_64/rpm https://download.do…...

鞍山网站制作人才招聘/企业营销策划书范文

一般在需要调试的文件加入下面代码即可 ################ _DEBUG True ... if _DEBUG True import pdb pdb.set_trace() ################ 之后执行文件,就会进入调试状态,常用调试命令和gdb下基本一样,相当好用 如 c (continue) ,n(next)&…...