使用亚马逊云科技Amazon CodeWhisperer的定制功能训练AI模型

742c9ff825155f15cf4e80ca8a576760.jpeg

关键字: [Amazon CodeWhisperer, Amazon Codewhisperer Customization, Spring Boot Implementation, Code Recommendations, Training Codebase, Company Guidelines]

本文字数: 400, 阅读完需: 2 分钟

导读

在这个演讲中,演讲者阐释了Amazon CodeWhisperer的定制功能如何允许开发者利用自身的代码库训练AI模型,从而获得量身定制的实现指南和专有API的代码推荐。具体而言,演讲者解释道,开发者可以使用公司的示例代码或开源项目的代码库来训练CodeWhisperer,使其能够提供符合所需编码实践和API使用的代码推荐。该演讲重点介绍了Amazon CodeWhisperer如何让开发者能够快速适应新的代码库、为开源项目做出贡献,以及使用专有API,从而节省学习和遵守特定实现指南的时间和精力。

演讲精华

以下是小编为您整理的本次演讲的精华,共100字,阅读时间大约是0分钟。

偶尔,开发人员需要快速掌握一些新知识,以完成手头的任务。本文将分享一个这样的故事,讲述开发人员如何利用Amazon CodeWhisperer 的定制功能来完成任务。

起初,该开发人员在亚马逊购买了一本关于使用 Spring Boot 构建微服务的书籍。他需要学习这方面的知识,为分配给他的一个新任务做准备。这个任务相当简单,只需要为系统中名为”orders”的实体实现一个新的持久层。他所需要做的就是创建一个新的实体类,添加 JPA 注解,并使用 Spring Boot 支持实现 Repository 模式。一切似乎按预期运行。为了确保走在正确的道路上,他使用了Amazon CodeWhisperer 来验证代码,结果显示实现遵循了编码最佳实践。他提交了一个 Pull Request,等待开发团队审查任务。

然而,该 Pull Request 被拒绝了。审查人员表示,从技术角度来看,代码是正确的,但它没有遵循公司的一些实现指南,例如继承自正确的基类,缺少使用正确的日志框架。他们建议学习 Spring PetClinic 示例应用程序,因为那是公司实现指南的来源。这时,他想到了使用Amazon CodeWhisperer 的定制功能。

亚马逊的一名开发人员代言人 Ricardo Ferreira 很高兴向大家展示Amazon CodeWhisperer 的定制功能。这个功能允许使用特定的代码库进行训练。因此,下次要求Amazon CodeWhisperer 提供建议或代码生成时,它将基于训练代码提供服务。这在很多情况下都很有用。例如,假设你想开始为一个开源项目做贡献,你需要遵循它的实现指南。与其花费数周甚至数月的时间学习代码库,不如使用该代码库训练Amazon CodeWhisperer,它只需几个小时就能学会。之后,你可以询问如何做事情,它会根据那个示例代码的实现实践提供建议。另一种情况是,你是一家公司团队的新开发人员,该公司使用专有 API,而这些 API 在其他地方是无法获得的。Amazon CodeWhisperer 本身是无法处理这些 API 的。你可以让团队领导提供一些示例代码,用于训练Amazon CodeWhisperer。训练完成后,下次你询问如何完成某个任务时,它就会根据你的特定需求提供定制化的建议。

首先,你需要准备用于训练的代码样本。你可以让Amazon CodeWhisperer 直接从代码库(如 GitHub)中拉取代码,或者将代码样本上传到 Amazon S3,后者将是本文采用的策略。如你所见,有一个名为”Spring PetClinic Code”的存储桶,在其中的”Code Content”文件夹里,上传了所有要用于训练的代码样本。在这个场景中,使用了广为人知的 Spring PetClinic 示例代码。但你可以看到,提供了同一示例代码的不同变体,包括使用 Angular 作为前端框架、使用 React.js 作为前端框架,以及使用 REST API 进行跨层通信的完整示例。这对于Amazon CodeWhisperer 更具体地理解你如何利用代码风格和代码重用在不同场景下是非常重要的。当你开始提出问题并创建提示以生成代码或获取代码建议时,这将极大地影响Amazon CodeWhisperer 如何根据它所学习的内容来匹配你的意图。

上传完代码样本后,你可以进入Amazon CodeWhisperer,开始创建定制。你需要使用菜单中的定制功能,该功能目前处于预览状态,但在你观看这个视频时,它可能已经可以普遍使用了,不过工作流程基本相同。你需要点击”创建定制”按钮,然后为定制命名。在这个例子中,将其命名为”Spring PetClinic”,以提醒所有训练目的都基于知名的 Spring PetClinic 代码样本。然后,你可以选择不同的连接提供程序,在这个示例中,选择了 CodeStar,我们可以连接到不同的代码库,如 GitHub 或 Amazon S3,后者将是本文中使用的选择。在这里,你需要提供 S3 存储桶的 URI,你可以点击”浏览 S3”按钮,然后简单地选择你想要使用的 URI。在这个例子中,将使用”Code Content”文件夹的 URI,点击”复制 S3 URI”按钮,然后返回输入 S3 URI 的地方,粘贴该内容。

完成后,你可以向下滚动并点击”创建定制”按钮。在此之前,还可以使用名为”日志传送”的功能,它可以让你跟踪和排查整个训练过程中可能出现的问题,因为在Amazon CodeWhisperer 进行训练时,它会将事件刷新到你在这里设置的位置。在这个例子中,设置为 CloudWatch 日志,以便在出现问题时进入那里,了解训练过程的流程。

由于训练过程需要利用机器学习 API 和支持Amazon CodeWhisperer 背后的所有精彩生成 AI 技术,因此这不是一个只需几分钟或 10 分钟就能完成的任务。通常需要一段时间的等待。

好了,定制已经正确创建,现在我们可以查看评分了。评分是Amazon CodeWhisperer 给出的一个数值,用于量化你提供的代码样本的质量。要查看评分,你需要点击这个”i”按钮,然后使用评分模型编号。1 到 3 分表示你提供的代码样本质量较低,4 到 7 分表示一般,你可以继续激活,有望获得一些不错的建议,8 到 10 分表示质量很好,这意味着无疑你将从中获益。在这个例子中,我们得到了 5 分,属于”一般”范围,因此我们可以继续使用这个版本。

要激活这个版本,只需滚动到页面底部,选择要使用的版本即可。这一点很重要,因为一个给定的定制可能有多个版本,这对于你决定为同一个定制提供更多代码样本时很重要,你将最终得到多个版本。选择这个版本,然后点击”激活”按钮。

现在,你的定制已经激活,可以开始使用了。但是,在尝试使用定制之前,有一点你需要注意。如果你现在跳到 IDE,并尝试选择任何定制,你会看到这样一条消息:“你没有访问任何Amazon CodeWhisperer 定制的权限,唯一可用的是Amazon CodeWhisperer 基础定制”。这是因为定制必须与用户或用户组相关联,才能让他们看到和使用该定制。

因此,开发人员需要返回到定制页面,向下滚动至”用户和组”选项卡,点击进入。在此,开发人员可以选择组织中的特定个人或特定组,后者包含一个或多个用户。在示例中,将选择一个名为”Standard Developer”的组,该组与组织中的多个开发人员相关联。该组将被添加到定制中。

现在,属于该组的任何用户都将能够不仅查看,而且利用该定制及其基于训练代码样本的所有相关信息。您可能会想知道这些用户和组是从何处来的,它们来自与Amazon CodeWhisperer订阅相关联的身份中心。如果之前从未这样做过,想了解如何设置,可以查看相关博文,其中教授了如何设置自己的亚马逊云科技组织、身份中心,以及如何激活Amazon CodeWhisperer订阅。在该教程中,详细展示了从组织创建到设置正确的IAM角色权限,以确保亚马逊云科技用户能够顺利工作。

现在,定制已与适当的组相关联,将再次尝试在IDE中选择定制。点击Amazon CodeWhisperer,然后选择”定制”。现在可以看到,Spring PetClinic定制对开发人员是可用的。请记住,这只是因为在IDE中连接的用户属于之前与定制相关联的”Standard Developer”组。选择该定制后,从现在开始,Amazon CodeWhisperer提供的所有建议和代码生成都将基于用于训练的代码样本。

现在,让我们测试一下,在使用了该定制后,Amazon CodeWhisperer是否能够如期望般为开发人员提供建议。将重复之前用于创建新实体类和基于JPA的Repository实现的提示,然后按Enter键,让我们看看结果如何。

让我们查看这里作为建议提供的代码。首先查看实体实现。注意到它现在扩展了BaseEntity。这是之前Pull Request中提出的反馈。所以看起来它遵循了预期的最佳实践。而且它使用了log4j作为日志框架的实现。之前错误地使用了Java Util Logging,这也是提交Pull Request时出错的地方。对于Repository实现,它似乎也在使用正确的接口。总的来说,它有效地利用了代码样本中作为参考的代码应该是什么样子。这证明了,在使用Amazon CodeWhisperer的定制功能时,它能够为开发人员提供更加具体和独特的建议,以供利用。

Amazon CodeWhisperer的这个新定制功能非常棒。它就像魔术一样,因为当要求代码建议或代码生成时,Amazon CodeWhisperer能够精确地提供所需要的。但是,这里没有任何魔术。开发人员所需要做的就是提供一组代码样本用于训练。从那时起,Amazon CodeWhisperer不仅能够学习需求,而且能够根据提示将其置于上下文中,从而提供正确的建议。强烈建议开发人员开始使用Amazon CodeWhisperer的定制功能。现在是开发者的一个很好的时代。

总之,该视频向我们展示了如何使用Amazon CodeWhisperer的定制功能,通过提供代码样本进行训练,从而获得符合特定需求的代码建议和生成。这对于需要遵循特定实现指南或使用专有API的开发人员来说是非常有用的。通过定制,Amazon CodeWhisperer能够学习开发人员的需求,并在给定提示的上下文中提供正确的代码建议,从而极大地提高开发效率。

总结

在这个引人入胜的故事中,一位来自亚马逊云科技的开发者倡导者分享了一个与编码任务相关的经历。起初,这个任务看似简单,但却遇到了意料之外的挑战。他被指派实现一个名为Orders的实体的新持久层,勤勉地遵循了最佳实践,并利用Amazon CodeWhisperer进行验证。然而,由于不符合公司特定的实现指南,他的代码被拒绝了。

尽管如此,这位开发者并没有气馁,他发现了Amazon CodeWhisperer的定制化功能,该功能允许开发者根据特定的代码库训练AI模型,使其与组织的编码实践或开源项目的指南保持一致。这种定制化使开发者能够获得基于训练代码库的量身定制的推荐和代码生成,从而简化了入职流程,并确保了对既定约定的遵守。

接下来,这位倡导者逐步演示了设置和利用定制化功能的过程,让开发者能够将这个强大的工具无缝地集成到他们的工作流程中。通过采用Amazon CodeWhisperer的定制化功能,开发者可以克服编码挑战,提高生产力,并轻松地遵循项目特定的指南,促进更高效和协作的编码体验。

亚马逊云科技(Amazon Web Services)是全球云计算的开创者和引领者。提供200多类广泛而深入的云服务,服务全球245个国家和地区的数百万客户。亚马逊云科技致力于成为企业构建和应用生成式AI的首选,通过生成式AI技术栈,提供用于模型训练和推理的基础设施服务、构建生成式AI应用的大模型等工具、以及开箱即用的生成式AI应用。深耕本地、链接全球 -- 在中国,亚马逊云科技通过安全、稳定、可信赖的云服务,助力中国企业加速数字化转型和创新,并深度参与全球化市场。

  • 20
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
目标检测(Object Detection)是计算机视觉领域的一个核心问题,其主要任务是找出图像中所有感兴趣的目标(物体),并确定它们的类别和位置。以下是对目标检测的详细阐述: 一、基本概念 目标检测的任务是解决“在哪里?是什么?”的问题,即定位出图像中目标的位置并识别出目标的类别。由于各类物体具有不同的外观、形状和姿态,加上成像时光照、遮挡等因素的干扰,目标检测一直是计算机视觉领域最具挑战性的任务之一。 二、核心问题 目标检测涉及以下几个核心问题: 分类问题:判断图像中的目标属于哪个类别。 定位问题:确定目标在图像中的具体位置。 大小问题:目标可能具有不同的大小。 形状问题:目标可能具有不同的形状。 三、算法分类 基于深度学习的目标检测算法主要分为两大类: Two-stage算法:先进行区域生成(Region Proposal),生成有可能包含待检物体的预选框(Region Proposal),再通过卷积神经网络进行样本分类。常见的Two-stage算法包括R-CNN、Fast R-CNN、Faster R-CNN等。 One-stage算法:不用生成区域提议,直接在网络中提取特征来预测物体分类和位置。常见的One-stage算法包括YOLO系列(YOLOv1、YOLOv2、YOLOv3、YOLOv4、YOLOv5等)、SSD和RetinaNet等。 四、算法原理 以YOLO系列为例,YOLO将目标检测视为回归问题,将输入图像一次性划分为多个区域,直接在输出层预测边界框和类别概率。YOLO采用卷积网络来提取特征,使用全连接层来得到预测值。其网络结构通常包含多个卷积层和全连接层,通过卷积层提取图像特征,通过全连接层输出预测结果。 五、应用领域 目标检测技术已经广泛应用于各个领域,为人们的生活带来了极大的便利。以下是一些主要的应用领域: 安全监控:在商场、银行
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值