AI应用新时代的起点,亚马逊云科技加速大模型应用

大语言模型

何为大语言模型,可以一句话概括:深度学习是机器学习的分支,大语言模型是深度学习的分支。
在这里插入图片描述

机器学习是人工智能(AI)的一个分支领域,核心是让计算机系统从数据中学习以提高性能。与直接编程不同,机器学习依赖于提供大量数据,让计算机通过数据挖掘隐藏的模式或规律,然后应用这些规律来预测新的、未知的数据。

大型语言模型在理解和生成人类语言,需要在大规模文本数据上进行训练,以学习语言的各种模式和结构。比如 Amazon CodeWhisperer,经过数十亿行代码的训练,可以根据评论和现有代码实时生成从代码片段到全函数的代码建议。

在这里插入图片描述

Amazon CodeWhisperer

编程将是生成式AI技术迅速应用的领域之一。如今,软件开发者需要花费大量时间编写相对基础和重复的代码,还需要花费相当的时间来学习复杂的新工具和技术,这些工具和技术不断演进。因此,开发者真正用于开发创新功能和服务的时间非常有限。

为了解决这一挑战,开发者通常会尝试从互联网上复制代码片段,然后进行修改。然而,这种方法可能无意中导致包含无效或存在安全隐患的代码。这种搜索和复制的方式还会浪费开发者用于业务构建的宝贵时间。生成式AI可以显著减轻这一繁重的工作,通过“编写”大部分重复的代码,使开发人员能够更快地编写代码,从而有更多时间专注于更具创造性的编程任务。

Amazon CodeWhisperer 是亚马逊云科技推出的人工智能代码助手,可以在IDE中实时生成整行和全功能代码建议,旨在协助开发者更高效、更安全地构建应用程序。作为一款智能编程助手,它经过了广泛的开源代码训练,这些训练数据具有出色的可扩展性、安全性和优雅性等特点。使用它编写的代码能够快速生成稳健、优雅且高度可扩展的代码。具有以下特点:

1、 经过数十亿行代码的训练,可以根据您的评论和现有代码实时生成从代码片段到全函数的代码建议。绕过耗时的编码任务,加速使用不熟悉的 API 进行的构建。

2、可以标记或筛选类似于开源训练数据的代码建议。获取相关开源项目的存储库 URL 和许可证,以便您可以更轻松地查看它们并添加归因。

3、扫描代码以检测难以发现的漏洞,并获取代码建议以立即修复这些漏洞。 遵循跟踪安全漏洞的最佳实践,例如开放全球应用程序安全项目 (OWASP) 概述的漏洞,或者不符合加密库最佳实践及其他类似安全最佳实践的漏洞。

4、支持多个开发环境。从 15 种编程语言中进行选择,包括 Python、Java 和 JavaScript,以及您最喜欢的集成式开发环境(IDE),包括 VS Code、IntelliJ IDEA、AWS Cloud9、AWS Lambda 控制台、JupyterLab 和 Amazon SageMaker Studio。

5、您可以自定义 CodeWhisperer,使其了解您的内部库、API、包、类和方法,从而生成更相关的建议,显著加快开发速度。

Amazon CodeWhisperer 支持个人用户,并且个人用户免费使用!!!支持的语言:Python、Java、JavaScript、TypeScript、C#、Rust、Go、Ruby、Scala、Kotlin、PHP、C、C++、Shell 脚本编写、SQL。目前,仅在适用于 Python、Java 和 JavaScript 的 VS Code 和 JetBrains IDE 中支持代码安全扫描。CodeWhisperer 还可在 AWS Cloud9、AWS Lambda 控制台和 Amazon SageMaker Studio 上免费使用。

在这里插入图片描述

安装

本文讲解的是在 VS Code 开发工具中的使用,其他开发工具使用情况基本类似。在 VS Code 开发工具中搜索aws toolkit,然后点击install进行安装即可。

在这里插入图片描述
安装完后,主界面如下图所示:

注册AWS Builder ID

在这里插入图片描述
授权确认
在这里插入图片描述
输入邮箱以及姓名
在这里插入图片描述
输入发送到邮箱里验证码
在这里插入图片描述
设置密码
在这里插入图片描述
设置AWS ToolKit允许访问你的数据
在这里插入图片描述
授权成功
在这里插入图片描述

使用

案例一:代码建议

当您开始输入单行代码或注释时,CodeWhisperer 会根据您当前和以前的输入提出建议。用户已开始输入一行代码。根据输入,CodeWhisperer 生成完成该线路的建议,用户可以使用箭头键循环浏览建议。
比如我在代码中已经输入了git pushgit clone的指令,接下来我要自定义git pull命令,AWS ToolKit会自动给你提示git pull命令的相关代码提示。
在这里插入图片描述
点击接受Tab,可以看到灰色代码直接出现在编辑器中。
在这里插入图片描述

案例二:代码建议

我想代码里写一个数组里有20个随机数的函数,我先打一行注释:

// 数组里20个随机数

然后编辑器中就会有下面提示:
在这里插入图片描述
AWS ToolKit已经自动给你生成啦,点击接受Tab,就自动生成到编辑器中啦。

// 数组里20个随机数
function getRandomArray(n: number) {
	const array = [];
	for (let i = 0; i < n; i++) {
		array.push(Math.floor(Math.random() * 100));
	}
	return array;
}
getRandomArray()

拿代码到浏览器中执行,结果如下:

在这里插入图片描述
案例三:安全扫描

使用代码安全扫描功能,写完代码之后,可以使用Amazon CodeWhisperer帮助我们进行代码的安全扫描,Amazon CodeWhisperer将帮助我们分析出代码漏洞,并且会针对我们业务代码中的漏洞提出更改优化建议与代码。

运行安全扫描对 IDE 编辑器中当前活动的文件及其项目中的依赖文件执行安全扫描。扫描完成后,扫描文件中的安全问题会在 VSC 的“问题”面板中突出显示。对于 JetBrains,安全问题在问题面板的单独CodeWhisperer 安全问题选项卡中突出显示 。

要在 VS Code 中开始安全扫描,注意下面两点:

  • 在 VS Code 中,选择窗口左侧的 AWS 徽标,AWS Toolkit 面板将打开。

  • 在 AWS Toolkit 面板中,在Developer Tools下的CodeWhisperer下,选择 Start Security Scan

扫描最多可能需要 60 秒。您可以通过选择“停止安全扫描”来选择停止正在进行的安全扫描。请注意,一旦开始,扫描将计入每月(每个用户)安全扫描使用限制。有关详细信息,请参阅安全扫描数据限制。

在这里插入图片描述
扫描结束会有提示说明~
在这里插入图片描述
扫描结束后,我们来查看扫描结果,可以看到对我项目中的代码有以下建议,代码还需要继续优化。
我淦,优化代码去了,不用不知道,一用吓一跳!

在这里插入图片描述

总结

上述从功能特点到安装使用体验,我们总结一下 Amazon CodeWhisperer 的优点:

1、上手贼快,安装即可用,不需要复杂操作。
2、支持多个开发环境,不论是前端用的VS Code,还是其他的开发工具,几乎全部覆盖。
3、建议针对性比较强,提示非常智能。我们在开发会遇到各种各样问题,Amazon CodeWhisperer 给予我们开发时提示,可以让我们工作效率更高。
4、代码安全性。降低了开发过程中的bug,安全扫描功能真的非常给力,能够帮助我们识别开发过程中的一些潜在的漏洞,能够更好的帮助我们进行开发。

体验之后,我对 Amazon CodeWhisperer 已经爱不释手了,在日常工作中已经成为我必不可少的开发辅助工具,不仅改善了代码质量和软件开发效率,还帮助我更快速、更安全地开发应用,非常棒的AI助手,在这里也安利给大家。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【linux进程控制(三)】进程程序替换--如何自己实现一个bash解释器?

&#x1f493;博主CSDN主页:杭电码农-NEO&#x1f493;   ⏩专栏分类:Linux从入门到精通⏪   &#x1f69a;代码仓库:NEO的学习日记&#x1f69a;   &#x1f339;关注我&#x1faf5;带你学更多操作系统知识   &#x1f51d;&#x1f51d; 进程程序替换 1. 前言2. exec…

【仿真动画】双机器人协作完成一个任务(切割)

场景 动画 两个机器人协同工作完成一个任务需要解决以下几个关键问题&#xff1a; 通信&#xff1a;两个机器人需要能够相互通信&#xff0c;以共享信息&#xff0c;例如位置、姿态、状态等。规划&#xff1a;需要对两个机器人的运动轨迹进行规划&#xff0c;确保两个机器人不会…

RESTful API概述以及如何使用它构建 web 应用程序

REST&#xff08;Representational State Transfer&#xff09;是一种设计风格和架构原则&#xff0c;它是一种为 Web 应用程序提供简化和标准化的 API 的方式。RESTful API&#xff08;RESTful Web Services&#xff09;是符合 REST 架构风格的网络应用程序 API&#xff0c;它…

未来之路:大模型技术在自动驾驶的应用与影响

本文深入分析了大模型技术在自动驾驶领域的应用和影响&#xff0c;万字长文&#xff0c;慢慢观看~ 文中首先概述了大模型技术的发展历程&#xff0c;自动驾驶模型的迭代路径&#xff0c;以及大模型在自动驾驶行业中的作用。接着&#xff0c;详细介绍了大模型的基本定义、基础功…

关系查询处理和查询优化

关系数据库系统的查询处理 4 个阶段 查询分析查询检查【此时的完整性检查是初步的、静态的检查】查询优化【分为代数优化、物理优化】查询执行 关系数据库系统的查询优化 查询优化的优点不仅在于用户不必考虑如何最好地表达查询以获得较高地效率&#xff0c;而且在于系统可…

Springboot项目部署及多环境开发

一、项目部署 我们之前写的代码都是部署在本地的tomcat上&#xff0c;别人是无法访问我们写的程序的。在实际开发中&#xff0c;我们都要将开发完毕的项目部署到公司的服务器上。 我们的代码需要经过编译打包生成一个jar包&#xff0c;这个过程需要借助一个插件来实现。 创建sp…

2024最新基于物联网单片机毕业设计选题汇总(合集)

博主介绍&#xff1a;✌全网粉丝30W,csdn特邀作者、博客专家、CSDN新星计划导师、Java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ &#x1f345;文末获取源码联系&#x1f345; &#x1f447;&#x1f3fb; 精彩专…

初始MySQL(四)(查询加强练习,多表查询)

目录 查询加强 where加强 order by加强 group by 分页查询 总结 多表查询(重点) 笛卡尔集及其过滤 自连接 子查询 子查询当作临时表 all/any 多列子查询 #先创建三张表 #第一张表 CREATE TABLE dept(deptno MEDIUMINT NOT NULL DEFAULT 0,dname VARCHAR(20) NOT …

2023-11-13 LeetCode每日一题(区域和检索 - 数组可修改)

2023-11-13每日一题 一、题目编号 307. 区域和检索 - 数组可修改二、题目链接 点击跳转到题目位置 三、题目描述 给你一个数组 nums &#xff0c;请你完成两类查询。 其中一类查询要求 更新 数组 nums 下标对应的值另一类查询要求返回数组 nums 中索引 left 和索引 right…

Oracle主备切换,ogg恢复方法(经典模式)

前言: 文章主要介绍Oracle数据库物理ADG主备在发生切换时(switchover,failover)&#xff0c;在主库、备库运行的ogg进程(经典模式)如何进行恢复。 测试恢复场景: 1 主备发生switchover切换&#xff0c;主库为ogg源端 2 主备发生switchover切换&#xff0c;备库为ogg源端 3 主备…

【Linux】Linux动态库和静态库

​ ​&#x1f4dd;个人主页&#xff1a;Sherry的成长之路 &#x1f3e0;学习社区&#xff1a;Sherry的成长之路&#xff08;个人社区&#xff09; &#x1f4d6;专栏链接&#xff1a;Linux &#x1f3af;长路漫漫浩浩&#xff0c;万事皆有期待 上一篇博客&#xff1a;【Linux】…

AIOT数字孪生智慧工地一体化管理平台源码

智慧工地app基于物联网和移动互联网技术&#xff0c;利用各类传感器及终端设备通过与云端服务器的实时数据交互&#xff0c;为施工现场的管理人员提供环境监测、劳务实名制管理、物料管理、巡检记录、设备管理等一系列优质高效的行业解决方案。 一、智能工地应用价值 智慧工地…

Java+Spring Cloud +UniApp +MySql智慧工地综合管理云平台源码

智慧工地围绕工程现场人、机、料、法、环及施工过程中质量、安全、进度、成本等各项数据满足工地多角色、多视角的有效监管,实现工程建设管理的降本增效. 智慧工地综合管理云平台源码&#xff0c;PC监管端、项目端&#xff1b;APP监管端、项目端、数据可视化大屏端源码&#xf…

springboot rocketmq 延时消息、延迟消息

rocketmq也有延迟消息&#xff0c;经典的应用场景&#xff1a;订单30分钟未支付&#xff0c;则取消的场景 其他博客提到从rocketmq5.0开始&#xff0c;支持自定义延迟时间&#xff0c;4.x只支持预定义延迟时间&#xff0c;安装rocketmq可参考RocketMq简介及安装、docker安装ro…

iOS OpenGL ES3.0入门实践

一、效果图 入门实践&#xff0c;做的东西比较简单&#xff0c;效果如下&#xff1a; 二、关于顶点坐标和纹理坐标 绘制图片需要设置顶点坐标和纹理坐标并加载像素数据&#xff0c;之所以要指定两组坐标是因为纹理和顶点使用不同的坐标系&#xff0c;就是告诉OpenGL&#xf…

9 个可以免费检索意外删除或丢失的文件的专业数据恢复软件

今天&#xff0c;我们将探索一些最佳数据恢复软件&#xff0c;它们可以帮助您从 Windows PC 或存储设备中检索意外删除或丢失的文件&#xff01; 丢失数据或意外删除数据是一种令人不安的经历。值得庆幸的是&#xff0c;存在有效的解决方案来解决这种情况。今天&#xff0c;我…

CSS 滚动捕获 scroll-snap-type

scroll-snap-type 语法实例 捕获轴 y 捕获严格程度 mandatory捕获轴 y 捕获严格程度 proximity同理看下捕获轴 x 一些注意事项兼容性 scroll-snap-type 用来指定一个滚动容器(scroll container)是否是滚动捕获容器(scroll snap container)、捕获的严格程度以及在什么方向上执行…

2.8 CE修改器:寻找共享代码

本关我们将学习共享代码&#xff0c;在C语言中角色属性都是以结构体的方式进行存储的&#xff0c;而结构体所存储的信息都是连续性的&#xff0c;这一关我们将会解释如何处理游戏中的共用代码&#xff0c;这种代码是通用在除了自己以外的其他同类型对像上的常常你在修改游戏的时…

在Vue.js中,什么是Vuex?它的作用是什么?

聚沙成塔每天进步一点点 ⭐ 专栏简介 前端入门之旅&#xff1a;探索Web开发的奇妙世界 欢迎来到前端入门之旅&#xff01;感兴趣的可以订阅本专栏哦&#xff01;这个专栏是为那些对Web开发感兴趣、刚刚踏入前端领域的朋友们量身打造的。无论你是完全的新手还是有一些基础的开发…

Spring Cloud OpenFeign:基于Ribbon和Hystrix的声明式服务调用

&#x1f497;wei_shuo的个人主页 &#x1f4ab;wei_shuo的学习社区 &#x1f310;Hello World &#xff01; Spring Cloud OpenFeign&#xff1a;基于Ribbon和Hystrix的声明式服务调用 Spring Cloud OpenFeign是一个声明式的服务调用框架&#xff0c;基于Feign并整合了Ribbon和…