首页 > 其他分享 >Amazon CodeWhisperer 免费的 AI 代码生成助手!最新体验反馈~

Amazon CodeWhisperer 免费的 AI 代码生成助手!最新体验反馈~

时间:2023-12-11 14:37:35浏览次数:45  
标签:代码生成 Code CodeWhisperer AI 代码 Python VS

文章作者:段小草

自这一波生成式 AI 浪潮以来,大家尝鲜之余最关心的问题还是如何提高生产力。我们在测试大语言模型能力的时候,往往会将代码能力作为一项重要的评价指标,也说明程序员还是希望能在 AI 的加持下更快捷安全地编写代码。

亚马逊云科技开发者社区为开发者们提供全球的开发技术资源。这里有技术文档、开发案例、技术专栏、培训视频、活动与竞赛等。帮助中国开发者对接世界最前沿技术,观点,和项目,并将中国优秀开发者或技术推荐给全球云社区。如果你还没有关注/收藏,看到这里请一定不要匆匆划过,点这里让它成为你的技术宝库!

最近,亚马逊云就推出基于机器学习的代码生成工具——CodeWhisperer,最重要的是对于个人用户完全免费使用。

图片

经过一段时间的体验,我觉得 CodeWhisperer 可以处理编程工作中遇到的很多问题,并且帮助开发人员提高编程效率。最重要的是 CodeWhisperer 在代码安全扫描方面能力是很强的。接下来就带大家了解并体验一下 CodeWhisperer。

一、注册安装

CodeWhisperer 的安装比较简单,几分钟就能搞定。这里我以 VS Code 为例,其他 IDE 可以参考官方说明。

1、在 VS Code 的扩展商店中下载 Amazon Toolkit:

图片

2、安装完成后,可以在左边栏看到亚马逊云图标,点击并选择 CodeWhisperer,可以看到要求登录。选择第一个,Use a personal email to sign up and sign in with Amazon Builder ID:

图片

图片

3、复制设备 ID 并完成 Amazon Builder ID 登录:

图片

这里会自动生成一个八位字母的 request code,用于识别设备 IDE。不需要在意,点击「Copy Code and Proceed」打开亚马逊云科技网页即可。粘贴刚才复制的 code:

图片

使用自己的个人邮箱完成注册即可:

图片

完成安装并登录后,可以在 VS Code 左下角看到 CodeWhisperer 状态:

图片

二、AI 编程体验

CodeWhisperer 支持 Python、Java、JavaScript、TypeScript、C#、Rust、Go、Ruby、Scala、Kotlin、PHP、C、C++、Shell、SQL 的代码生成,可以说是十分全能了。我还是用最熟悉的 Python 来测试一下。

比如我们要获取一个 csv 文件中的第二行数据,只需要写出这样的注释:

图片

CodeWhisperer 会给出多种建议,可以使用左右键进行切换查看:

图片

点击 Tab 后,会自动补全代码并导入用到的库:

图片

再比如我希望把一段 CURL 转换为 Python requests 代码:

图片

它会给出一些提示用于挑选。如果对补全的内容满意,按 Tab 就可以使用。虽然后面是单行生成的,但也完成了目标。

图片

CodeWhisperer 也是支持中文的,我们可以直接用中文编写注释:

图片

三、代码安全检测

CodeWhisperer 的介绍中专门强调了它的代码安全扫描功能。

图片

不过要注意:目前,仅在适用于 Python、Java 和 JavaScript 的 VS Code 和 JetBrains IDE 中支持代码安全扫描。

还是以 VS Code+Python 为例,在默认状态下,VS Code 仅仅是使用 pylance 插件对 Python 代码进行拼写检查和代码补全,也就是我们经常见到的黄色、红色波浪下划线标出的建议修改,比如自动扫描环境依赖以后给出的类似提示。

图片

但类似的工具并不能帮助我们挖掘更深层次的安全漏洞。接下来我们试试使用 CodeWhisperer 扫描这个文件。

图片

点击 Run Security Scan。稍等片刻。

图片

可以看到,除了 pylance 发现的基础错误,CodeWhisperer 又找到了 4 处安全漏洞。

图片

涉及到的代码分别是:

file.save(file_path)

conn = sqlite3.connect('data.sqlite')

app.run(debug=True)

这些问题都是涉及文件读写操作或者调试权限的,显然,如果这样的代码要用于生产环境,就需要更严格的条件限制。CodeWhisperer 也会给出相应的解释和建议。

图片

总的来说,CodeWhisperer 在 AI 编程方面对我而言是够用的,而且可以说安全检查的功能是给我很大惊喜的,安全检查的功能让 CodeWhisperer 从助手变成了导师。

很多时候我们自己写的代码不够规范或者有一些初学者很难意识到的安全问题, CodeWhisperer 就像 montor 一样,会帮助我们做 Code Review,只要坚持能够把 CR 出的问题全部解决,我们自身的代码能力也会逐渐成长的,非常推荐大家都来体验一下。

文章来源:
https://dev.amazoncloud.cn/column/article/64f43094d75d3d261ab838db?sc_medium=regulartraffic&sc_campaign=crossplatform&sc_channel=bokey

标签:代码生成,Code,CodeWhisperer,AI,代码,Python,VS
From: https://www.cnblogs.com/AmazonwebService/p/17894306.html

相关文章

  • [ABC304Ex] Constrained Topological Sort 题解
    题意给定一张有向图\(G\),有\(n\)个点和\(m\)条边,问是否存在一种拓扑序的排列\(P\)使得\(l_{i}\lep_{i}\ler_{i}\)。思路首先对于一条边\(u\tov\),如果限制满足\(r_{v}\ler_{u}\)或者\(l_{v}\gel_{u}\)的话,那么这个限制其实是不完全正确的。因为最终的序列......
  • 14、绘制图形(QPainter)
    效果 //定义一个新的类#ifndefPAINTERAREA_H#definePAINTERAREA_H#include<QObject>#include<QWidget>//QPen画笔是基本的图形对象,绘制直线、曲线、多边形等形状#include<QPen>//QBrush画刷是基本的图形对象,主要用于填充,比如矩形、多边形等形状#include<Q......
  • 《大学生梦幻联动文心大模型,800个AI应用在杭州“卷”不停》
    12月8日,杭州,一位“白发老人”突然摔倒在地,此时,身旁的机器人已经识别出“老人”摔倒的场景,自动电话联系了家人和医生……这一幕发生在中国计算机大赛-人工智能创意赛(以下简称“C4-AI大赛”)的现场。原来,这是哈尔滨工业大学(威海)王子康带着他的AI作品,在为C4-AI大赛决赛做“路演”。:::......
  • 基于AidLux的工业视觉少样本缺陷检测实战
    1.引言工业视觉缺陷检测系统是一种利用计算机视觉技术,通过分析生产过程中的图像和视频数据,来检测工业产品是否存在缺陷或质量问题的系统。有幸参加Aidlux的11月份的训练营<<工业视觉少样本缺陷检测实战>>,在这个过程中我收获到了很多之前没有接触到的算法和实践。本次课程利用Unet......
  • 万字长文专访“AI之父”Geoffrey Hinton: 我使用ChatGPT之后,为什么也开始害怕现在AI技
     “蜻蜓的幼虫就像水下的怪兽,”Hinton说。“它就像电影《异形》中的场景,蜻蜓从这个怪兽的背部破壳而出。幼虫经历了一个变成汤的阶段,然后蜻蜓就从这种汤中诞生。”在他的比喻中,幼虫象征着用于训练现代神经网络的数据;而蜻蜓则代表了由此诞生的敏捷的人工智能。深度学习——Hinto......
  • 我用 AI 写的《JavaScript 工程师的 Python 指南》电子书发布啦!
    关于本书你好,我是luckrnx09,一名靠React恰饭的前端工程师,很高兴向你介绍我的第一本开源电子书《JavaScript工程师的Python指南》。本书的内容完全免费,开源地址:https://github.com/luckrnx09/python-guide-for-javascript-engineers为什么会有这本书2022年,ChatGPT引起了......
  • 又有新框架上线了,测试、AI 通通有「GitHub 热点速览」
    本周热点之一可能就是Apple刚开源便获得8k+star的机器学习框架mlx,顺带官方开源的mlx-example(示例仓)也在热门榜上有一席之位,据说它已经跑通了大模型Llama7B,如果你最近刚入手了M3的苹果机,不妨来试试这个专为Apple芯片而生的框架。除了跑在Apple芯片上的新框架,其实......
  • FAILED: ParseException line 1:65 cannot recognize input near 'row' 'formatted' &
    hive报FAILED:ParseExceptionline1:65cannotrecognizeinputnear'row''formatted''delimited'intablerowformatspecification错误语句:insertoverwritelocaldirectory'/home/ljpbd/datas/student'rowformatteddel......
  • FAILED: ParseException line 1:17 cannot recognize input near 'student2' 'select'
     hive向表中插入数据时报错:FAILED:ParseExceptionline1:17cannotrecognizeinputnear'student2''select''id'indestinationspecification错误:insertoverwritestudent2selectid,namefromstudent;正确:insertoverwritetablest......
  • C. Removal of Unattractive Pairs
    这道题很考验思维。这道题目我们只需要考虑出现次数最多的字符的个数,分两种情况讨论。1、如果该字符出现次数超过n/2(这里设为x),那么其他字符和该字符凑成一对进行消除,即剩下的长度为2x-n。2、如果该字符出现次数低于n/2,那么对于任意字符都有足够的其余字符和他凑成一对进行消除,......