学习 CodeWhisperer 的一些总结

目前一些常见的的 AI 工具

  1. GitHub Copilot:GitHub 与 OpenAI 合作开发的一个人工智能助手。

  2. Codeium:是一个免费的人工智能驱动的代码生成工具

  3. Tabnine:一个自动代码生成工具,免费版本非常有限,只提供简短的代码完成

  4. Codex: OpenAI 开发的一种语言模型,可根据自然语言提示(例如问题描述)生成代码。

  5. Intellicode:是用于 Visual Studio 的免费 AI 代码生成工具(支持的编程语言数量非常有限,并且只能在单个 IDE 中运行)

  6. AskCodi: 提供了一个全面的工具来帮助开发者快速生成代码。(可根据不同的应用程序生成不同类型的代码)

  7. CodeWhisperer:我们今天要了解的插件,是亚马逊创建的代码生成工具,与 Copilot 和 Codeium 一样,它可以根据上下文和评论生成代码建议,主要区别在于 CodeWhisperer 侧重于支持亚马逊云科技服务的代码等。

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

CodeWhisperer 主要特点

  • 支持多种编程语言: 包括 JavaScript、Java、Python、C++、Rust、Go、PHP 等等

  • 支持多种ide(代码开发编辑器): vs code 、 JetBrains IDE、Visual Studio Code(VS Code)、Visual StudioIntelliJ、PyCharm、CLion、GoLand、WebStorm、Rider、PhpStorm、RubyMine 和 DataGrip 等

  • 检测代码安全问题。

  • 经过数十亿行代码的训练

  • 即用即开,不用时也可以随时关闭

  • 可以免费使用(预计后期可能会收费)

CodeWhisperer 练习过程

用户通过中文或者英文注释,CodeWhisperer 给出输出建议(注释的描述性和准确性越高输出建议正确率越高),每次回车加载建议,Tab 接受建议

  • demo1

例子1: 
# 第一步
# 求和
# 第二步
def sum(a,b):return a+b例子2:
# 第一步
# 求减iecheng
# 第二步
def jian(a,b):return a-b例子3:
# 第一步
#排序
# 第二步
def sort(a,b):return a-b
复制代码
  • demo2

// 数组合并
// 第一步
public static void main(String[] args) {
// 第二步
public static void main(String[] args) {int[] arr1 = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };int[] arr2 = { 11, 12, 13, 14, 15, 16, 17, 18, 19, 20 };int[] arr3 = new int[20];for (int i = 0; i < arr1.length; i++) {arr3[i] = arr1[i];}for (int i = 0; i < arr2.length; i++) {arr3[i + 10] = arr2[i];}for (int i = 0; i < arr3.length; i++) {System.out.print(arr3[i] + " ");}
}
复制代码
  • demo3

例子1:
// 第一步
// 删除重复的字符
// 第二步
function removeDuplicate(arr) {return [...new Set(arr)].join('');
}例子2:
// 第一步
// 删除相邻相同的字符串
// 第二步
function removeAdjacentDuplicate(arr) {let newArr = [];arr.forEach(item => {if (newArr[newArr.length - 1] !== item) {newArr.push(item);}});return newArr;
}例子3:
// 第一步
// 输出1-100间能被7整除的数
// 第二步
function printNumber() {for (let i = 1; i <= 100; i++) {if (i % 7 === 0) {console.log(i);}}
}
复制代码

总结

CodeWhisperer 是人工智能编码助手(插件),类似 ChatGPT 的自然语言查询但有不同,个人版免费给与技术先行者便利,通过不断的测试提出优化,更新迭代,一步一步走向成熟;支持中英文这一优点,使基础差的同学也可以迅速上手;虽然 CodeWhisperer 在减少编写的代码量方面非常有帮助,不应该完全依赖来编写整个应用程序,生成的代码会有一点瑕疵,因此使用 CodeWhisperer 生成的代码,上线前必须严格测试;希望我们的 AI 智能突飞猛进,加油!

文章来源:学习 CodeWhisperer 的一些总结

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/82661.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Java版本spring cloud + spring boot企业电子招投标系统源代码

项目说明 随着公司的快速发展&#xff0c;企业人员和经营规模不断壮大&#xff0c;公司对内部招采管理的提升提出了更高的要求。在企业里建立一个公平、公开、公正的采购环境&#xff0c;最大限度控制采购成本至关重要。符合国家电子招投标法律法规及相关规范&#xff0c;以及审…

Qt消息机制和事件

事件 事件是由Qt或者系统在不同时刻发出的,当敲下鼠标,或者按下键盘,或者当窗口需要重新绘制的时候,就会发出一个相应的事件,一些操作由用户的操作发出,一些则由系统自动发出,如系统定时器事件等。 Qt 中所有事件类都继承于 QEvent。 在事件对象创建完毕后, Qt 将这个…

【数据结构】二叉树的层序遍历(四)

目录 一&#xff0c;层序遍历概念 二&#xff0c;层序遍历的实现 1&#xff0c;层序遍历的实现思路 2&#xff0c;创建队列 Queue.h Queue.c 3&#xff0c;创建二叉树 BTree.h BTree.c 4&#xff0c;层序遍历的实现 一&#xff0c;层序遍历概念 层序遍历&#xff1a;除了先序…

面试官:什么是虚拟DOM?如何实现一个虚拟DOM?说说你的思路

&#x1f3ac; 岸边的风&#xff1a;个人主页 &#x1f525; 个人专栏 :《 VUE 》 《 javaScript 》 ⛺️ 生活的理想&#xff0c;就是为了理想的生活 ! 目录 一、什么是虚拟DOM 二、为什么需要虚拟DOM 三、如何实现虚拟DOM 小结 一、什么是虚拟DOM 虚拟 DOM &#xff08…

Android13适配-Google官方照片视频选择器

官方照片选择器 图 1. 照片选择器提供了一个直观的界面&#xff0c;便于与您的应用分享照片。 照片选择器的界面可供浏览和搜索&#xff0c;并按日期降序向用户显示其媒体库中的文件。如隐私保护最佳实践 Codelab 中所示&#xff0c;照片选择器为用户提供了一种安全的内置授权…

Nginx配置SSL证书

1 Ubuntu 20.04 上安装 Nginx Nginx 发音 “engine x” ,是一个开源软件&#xff0c;高性能 HTTP 和反向代理服务器&#xff0c;用来在互联网上处理一些大型网站。它可以被用作独立网站服务器&#xff0c;负载均衡&#xff0c;内容缓存和针对 HTTP 和非 HTTP 的反向代理服务器。…

API接口采集电商平台阿里巴巴中国站获得1688商品评论数据货品评分、评价内容接口调用指南

淘宝API商品评论接口&#xff0c;主要用于获取某个商品的评价信息。通过该接口&#xff0c;我们可以获取到商品的所有评价内容、评价时间、评价等级等相关信息&#xff0c;帮助我们更好地了解用户对商品的反馈&#xff0c;进而进行数据分析和业务优化。 1688.item_review-获得…

java项目之咖啡馆管理系统ssm+jsp

风定落花生&#xff0c;歌声逐流水&#xff0c;大家好我是风歌&#xff0c;混迹在java圈的辛苦码农。今天要和大家聊的是一款基于ssm的咖啡馆管理系统。技术交流和部署相关看文章末尾&#xff01; 开发环境&#xff1a; 后端&#xff1a; 开发语言&#xff1a;Java 框架&am…

算法课作业1

https://vjudge.net/contest/581138 A - Humidex 模拟题 题目大意 给三个类型数字通过公式来回转化 思路 求e的对数有log函数&#xff0c;不懂为什么不会出精度错误&#xff0c;很迷&#xff0c;给的三个数字也没有顺序&#xff0c;需要多判断。 #include<cstdio>…

C++设计模式_04_Strategy 策略模式

接上篇&#xff0c;本篇将会介绍C设计模式中的Strategy 策略模式&#xff0c;和上篇模板方法Template Method一样&#xff0c;仍属于“组件协作”模式&#xff0c;它与Template Method有着异曲同工之妙。 文章目录 1. 动机&#xff08; Motivation&#xff09;2. 代码演示Stra…

STP介绍

目录 STP概述 二层环路带来的问题 1.广播风暴 2.MAC地址漂移问题 3.多帧复制---这个好理解&#xff0c;同一个数据帧被重复收到多次&#xff0c;被称为多帧复制。 802.1D生成树 STP的BPDU BPDU主要分为两大类 配置BPDU RPC COST 配置BPDU的工作过程 TCN BPDU TCN…

2023年以就业为目的学习Java还有必要吗?(文末送书)

目录 一、活力四射的 Java二、从零开始学会 Java三、准备工作四、基础知识五、进阶知识六、高级知识七、结语参与方式 大家好&#xff0c;我是哪吒。 文末送5本《Java编程动手学》 今天来探讨一个问题&#xff0c;现在学 Java 找工作还有优势吗&#xff1f; 在某乎上可以看到…

RISC-V架构学习——C语言内嵌汇编总结

1、C语言内嵌汇编的作用 &#xff08;1&#xff09;优化&#xff1a;对于特别重要代码进行优化&#xff0c;出于性能的考虑&#xff1b; &#xff08;2&#xff09;C语言需要借助汇编指令来实现特殊功能。比如&#xff1a;C语言中访问系统寄存器就需要借助CSR指令&#xff1b; …

Python 使用raise引发异常

视频版教程 Python3零基础7天入门实战视频教程 当程序出现错误时&#xff0c;系统会自动引发异常。除此之外&#xff0c;Python也允许程序自行引发异常&#xff0c;自行引发异常使用raise语句来完成。 一般是业务逻辑上&#xff0c;业务异常问题&#xff0c;我们可以自行引发…

Soft-Serve小巧强大-轻量级Git服务

文章目录 前言一、Soft-Serve官方解释&#xff1a;我的要求 二、使用步骤我的环境公钥、私钥生成安装镜像参数解释&#xff1a; 配置config.yamlconfig 实操创建用户及绑定公钥创建代码仓库及添加合作者之后就是 git 基本操作了 总结 前言 用过 Gitlab, 也挺好用。 遇到几个问…

十一、MySql的事务(上)

文章目录 一、引入&#xff08;一&#xff09;CURD不加控制&#xff0c;会有什么问题&#xff1f;&#xff08;二&#xff09;CURD满足什么属性&#xff0c;能解决上述问题&#xff1f; 二、什么是事务&#xff1f;三、事务的特性&#xff08;一&#xff09;原子性&#xff1a;…

数据库计算机三级等级考试--数据库技术相关知识点和笔记

数据库计算机三级等级考试–数据库技术 计算机三级等级考试笔记,是博主通过计算机三级数据库技术考试的相关笔记&#xff0c;此篇博客&#xff0c;不仅适合需要考计算机三级考试的各位考生&#xff0c;也适合在职场处理关于数据库的部分操作&#xff0c;个人认为算是一篇使用性…

视频监控管理平台/视频汇聚/视频云存储EasyCVR安全检查的相关问题及解决方法3.0

智能视频监控系统/视频云存储/集中存储/视频汇聚平台EasyCVR具备视频融合汇聚能力&#xff0c;作为安防视频监控综合管理平台&#xff0c;它支持多协议接入、多格式视频流分发&#xff0c;视频监控综合管理平台EasyCVR支持海量视频汇聚管理&#xff0c;可应用在多样化的场景上&…

Matlab数组操作教程

Matlab是一种强大的数值计算和科学编程语言&#xff0c;它提供了许多强大的数组操作功能。在本教程中&#xff0c;我们将介绍一些常用的Matlab数组操作&#xff0c;并提供一些示例代码来帮助您更好地理解。 1. 创建数组在Matlab中&#xff0c;可以使用以下方法创建数组&#x…

python 学习笔记(6)—— Flask 、MySql

目录 Flask 1、起步 2、渲染项目的首页 3、处理无参数的 GET 请求 4、处理有 query 参数的 GET 请求 6、处理 params 参数的 get 请求 6、处理 application/json 类型请求体的 POST 请求 7、根据参数渲染模板页面 8、上传文件 数据库操作&#xff08;mysql&#xff0…