[ 云计算 | AWS ] AI 编程助手新势力 Amazon CodeWhisperer:优势功能及实用技巧

在这里插入图片描述

文章目录

    • 一、Amazon CodeWhisperer 简介
      • 1.1 CodeWhisperer 是什么
      • 1.2 Amazon CodeWhisperer 是如何工作的
    • 二、Amazon CodeWhisperer 的优势和功能
      • 2.1 Amazon CodeWhisperer 的优势
      • 2.2 Amazon CodeWhisperer 的代码功能
    • 三、Amazon CodeWhisperer 安装
      • 3.1 安装到 IntelliJ IDEA
      • 3.2 安装到 VS Code 中
    • 四、Amazon CodeWhisperer 使用实战
      • 4.1 根据注释生成相应代码
      • 4.2 测试返回多个记录
    • 五、CodeWhisperer 学习好礼

一、Amazon CodeWhisperer 简介

1.1 CodeWhisperer 是什么

Amazon CodeWhisperer 利用机器学习在您编码时提供实时代码建议。这些量身定制的建议适合您当前的代码库,从注释到完整的功能。此外,该工具还执行安全扫描,通过查明可能的漏洞来提高代码质量。通过提供个性化、上下文相关的支持,CodeWhisperer 提高了效率并促进了编码最佳实践的采用。

一句话总结,Amazon CodeWhispere r是 Amazon 推出的一款AI编程助手。

这里提一下,Amazon CodeWhisperer 有两种,一种是个人用,一种是专业级的,大致的区分概括如下:

CodeWhisperer 个人用:代码建议和参考跟踪免费;每月还可免费扫描 50 次代码。
CodeWhisperer 专业级:根据最大用户数(即每个用户每月)按月计费。

1.2 Amazon CodeWhisperer 是如何工作的

我使用起来 Amazon CodeWhisperer 的感受是,你可以当 Amazon CodeWhisperer是一款人工智能伙伴。

你在 IDE 中写代码,或者有疑问编写注释等的时候,IDE会自动的发送你的需求,或者你想要的给 Amazon CodeWhisperer,Amazon CodeWhisperer 会使用 AI 生成基于 IDE中先前的代码和注释生成在你编写代码时提供类似自动补全的建议。你可以通过开始编写你想要使用的代码,或者写下自然语言描述想要代码实现的功能。

在这里插入图片描述

二、Amazon CodeWhisperer 的优势和功能

2.1 Amazon CodeWhisperer 的优势

个人研究学习的时候发现:Amazon CodeWhisperer优势还是比较多的,毕竟是大公司开发,起主要的功能可以归纳为:

  1. 通用代码生成器: Amazon CodeWhisperer 是一款旨在通过实时生成代码建议来帮助开发人员的工具。

  2. 机器学习驱动: CodeWhisperer 使用机器学习算法来理解和分析您编写的代码。它利用此分析来生成相关且上下文感知的代码建议。

  3. 实时建议:当您编写代码时,CodeWhisperer 会提供自动、即时的代码建议。这种实时反馈可以帮助简化编码流程并提高生产力。

  4. 上下文感知建议: CodeWhisperer 生成的建议是根据您的特定代码库量身定制的。它会考虑您现有的代码、注释和当前上下文来提供相关建议。

  5. 建议的范围不同: CodeWhisperer 的建议的复杂程度可能有所不同。它们的范围可以从简单的注释或代码注释到整个函数或代码块。

  6. 提高生产力:通过提供相关代码建议,CodeWhisperer旨在帮助开发人员更高效地编写代码,减少手动搜索代码示例或语法的需要。

  7. 代码安全分析:除了代码生成之外,CodeWhisperer 还能够扫描您的代码是否存在安全问题。它可以突出显示潜在的安全漏洞,帮助您识别和解决代码库中的安全问题。通过提供实时建议并突出显示安全问题,CodeWhisperer 可以推广编码最佳实践并鼓励遵守编码标准。

  8. 以开发人员为中心: CodeWhisperer 旨在支持开发人员完成编码任务。它旨在提供符合开发人员意图和编码实践的有意义的建议。CodeWhisperer 的代码建议根据开发人员的风格和编码偏好量身定制,打造更加个性化的编码体验。

  9. 学习潜力:开发人员可以从 CodeWhisperer 生成的建议中学习,深入了解编码模式和最佳实践。

2.2 Amazon CodeWhisperer 的代码功能

其实作为开发者,我们的重点大部分是关注 Amazon CodeWhisperer 能给出的diamante级别的建议到底是什么,体验下来可以看到 CodeWhisperer 给出的几种建议:

  • 单行代码完成:提供在您键入时完成单行代码的建议,帮助语法和函数调用。

  • 完整函数生成:根据上下文和编码模式自动生成完整函数。

  • 块完成:提供完成循环或条件等代码块的建议,从而改进代码结构。

  • Docstring 和 Javadoc 补全:生成函数和类的文档字符串,帮助编写代码文档。

  • 逐行建议:提供实时逐行编码建议,提高代码质量和效率。

  • 单行注释完成:提供完成单行注释的建议,帮助代码解释和注释。

例如,你可以通过单击向右箭头接受建议或查看多个代码建议。

三、Amazon CodeWhisperer 安装

3.1 安装到 IntelliJ IDEA

  1. 在 IntelliJ IDEA 中点击 Setting 打开设置窗口,随后点击 Plugins 进入插件页面
  2. 在搜索栏内搜索 AWS ToolKit
  3. 点击 Install 安装插件

在这里插入图片描述

  1. 待插件安装完毕后点击右下角 OK 确认安装,安装完毕后将在 IDE 中看到 AWS ToolKit 插件

在这里插入图片描述

  1. 启用 CodeWhisperer 在弹出窗口中,选择“使用个人邮箱注册并登录 Builder ID”,点击右下角 Connect。

在这里插入图片描述

  1. 登陆 Builder ID

在这里插入图片描述

在登录时您将看到如下窗口。请点击“打开并复制验证码”,并使用验证码进行验证。

在这里插入图片描述

跳转到你的浏览器,粘贴刚刚复制的验证码

在这里插入图片描述

随后将跳转至登录注册页面。如果为首次使用,请用您的电子邮箱进行注册。注册和登录完毕后即可开始使用 CodeWhisperer

在这里插入图片描述

3.2 安装到 VS Code 中

与安装到 IntelliJ IDEA 中类似,此处不做过多介绍,直接在插件市场里找到亚马逊的AWS Toolkit插件直接安装即可。

在这里插入图片描述

四、Amazon CodeWhisperer 使用实战

4.1 根据注释生成相应代码

给出的提示词如下(创建一个函数来创建DynamoDB表):

# Create a function to create a DynamoDB table

Amazon CodeWhisperer 给出的解决方案:
在这里插入图片描述

另外尝试生成的更具体的案例,我们给出的提示词如下:

# 函数创建DynamoDB表,以员工ID为主键和 readcapacity单 位为100和写入容量单位为200
# Function to create a DynamoDB table with employee ID as primary key and ReadCapacityUnits at 100 and WriteCapacityUnits at 200

Amazon CodeWhisperer 给出的解决方案:
在这里插入图片描述

从这里可以看出,就和 ChatGPT 类似,如果你的提示词更具提,CodeWhisperer 生成的内容也更具具体,符合你的期望,所以适当的写出提示词给 CodeWhisperer,才能更好的让他来帮助到你。

4.2 测试返回多个记录

在这里,我们根据提供的代码,使用 CodeWhisperer 来生成多个记录。

所使用的测试代码如下:
在这里插入图片描述
我们给出自己的需求,和相应的提示词给 CodeWhisperer

# Patch get_products and test lambda_handler returns a multiple records
# Patch get_products和test lambda_handler返回多条记录

CodeWhisperer 根据我们的提示词生成并返回相应的代码

# Patch get_products and test lambda_handler returns multiple records
@patch('product_api.get_products')
def test_lambda_handler_multiple(self, mock_get_products):
mock_get_products.return_value = [{'id': '1', 'name': 'test', 'description': 'test'}, {'id': '2', 'name': 'test2', 'description': 'test2'}]
response = product_api.lambda_handler(None, None)
self.assertEqual(response['statusCode'], 200)
self.assertEqual(response['body'], '[{"id": "1", "name": "test", "description": "test"}, {"id": "2", "name": "test2", "description":
"test2"}]')

五、CodeWhisperer 学习好礼

云上探索实验室开展至今,越来越多的人都对 AI 编程助手 Amazon CodeWhisperer 赞不绝口。为了让大家在体验时不走弯路,快速上手 Amazon CodeWhisperer,云上探索实验室-码上学堂来啦!为了让更多的伙伴们加入到学课阵营中,云上探索实验室面向所有伙伴们,特别招募码上学堂领学员,邀人加入码上学堂,有好礼相送哦。

活动链接:https://mp.weixin.qq.com/s/WgeRzML5MogLSWeM57zv3w

在这里插入图片描述

(参与学习奖品)

CodeWhisperer 学课通道:

  • CSDN平台:https://edu.csdn.net/course/detail/38969?utm_source=AWS-Paid-Builder-MKT-Social-YS-CW-CSDN
  • 网易云课堂:
    https://study.163.com/course/introduction/1213602804.htm?from=AWS-Paid-Builder-MKT-Social-YS-CW-NECC
  • Skill Builder 平台:
    https://explore.skillbuilder.aws/learn/course/external/view/elearning/17168/amazon-codewhisperer-getting-started-simplified-chinese?trk=d15c46ed-1e4e-4e8b-82c0-63ba2feb26b9&sc_channel=el

在这里插入图片描述

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

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

相关文章

Android——Gradle插件项目根目录settings.gradle和build.gradle

一、settings.gradle结构分析 项目根目录下的settings.gradle配置文件示例: pluginManagement {/*** The pluginManagement.repositories block configures the* repositories Gradle uses to search or download the Gradle plugins and* their transitive depen…

数智竞技何以成为“科技+体育”新样本?

文 | 智能相对论 作者 | 青月 “欢迎来到,钢铁突袭。” 三人一组,头戴VR设备,中国香港队和泰国队在数实融合的空间里捉对厮杀,通过互相射击对方能量铠甲获取积分。 虽然双方都展现出了极强的机动性,但显然中国香港队…

企业月结快递管理教程

什么是月结快递?员工可能不清楚,但是企业行政人员应该很熟悉。各大快递公司为了留住商企这些大客户,推出了月结协议寄件,企业可以和快递公司签订月结协议,员工寄件不需要当场结算快递费,而是将快递费挂在企…

(二)Pytorch快速搭建神经网络模型实现气温预测回归(代码+详细注解)

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言一、数据集二、导入数据以及展示部分1.导入数据集以及对数据集进行处理2.展示数据(看看就好) 三(1)、搭建网络进…

jQuery UI简单的讲解

我们先进入一下问答时间,你都知道多少呢? (1)什么是jQuery UI 呢? 解答:jQuery UI 是以 jQuery 为基础的开源 JavaScript 网页用户界面代码库。包含底层用户交互、动画、特效和可更换主题的可视控件。我们…

计算数组中每个元素的立方根numpy.cbrt()

【小白从小学Python、C、Java】 【计算机等级考试500强双证书】 【Python-数据分析】 计算数组中每个元素的立方根 numpy.cbrt() [太阳]选择题 请问以下代码中执行语句输出结果是? import numpy as np a np.array([1, 8, 27]) print("【显示】a ",a) pr…

「Java开发指南」如何在Spring中使用JAX-WS注释器?

本文将指导您如何使用JAX-WS注释器从Spring服务生成JAX-WS Web服务,在本教程中,您将学习如何: 为Spring服务启用JAX-WS部署应用程序并测试服务 所有与Spring scaffolding相关的任务都需要MyEclipse Spring或Bling授权。 MyEclipse v2023.1…

Leetcode刷题详解——斐波那契数

1. 题目链接:509. 斐波那契数 2. 题目描述: 斐波那契数 (通常用 F(n) 表示)形成的序列称为 斐波那契数列 。该数列由 0 和 1 开始,后面的每一项数字都是前面两项数字的和。也就是: F(0) 0,F(1…

OpenAI的Whisper蒸馏:蒸馏后的Distil-Whisper速度提升6倍

1 Distil-Whisper诞生 Whisper 是 OpenAI 研发并开源的一个自动语音识别(ASR,Automatic Speech Recognition)模型,他们通过从网络上收集了 68 万小时的多语言(98 种语言)和多任务(multitask&am…

三十分钟学会zookeeper

zookeeper 一、前提知识 集群与分布式 ​ 集群:将一个任务部署在多个服务器,每个服务器都能独立完成该任务。 ​ 分布式:将一个任务拆分成若干个子任务,由若干个服务器分别完成这些子任务,每个服务器只能完成某个特…

利用IP地址查询优化保险理赔与业务风控的实用方法

随着数字化时代的到来,保险行业正逐渐采用先进的技术来改善理赔流程和强化业务风控。其中,通过IP地址查询成为一种有效的手段,为保险公司提供更精准的信息,以便更好地管理风险和提高服务效率。本文将探讨如何利用IP地址查询优化保…

WPF创建自定义控件编译通过但是找不到资源

报错: 原因: 路径写错了: 不是这样: Source"pack://application:,,,/Controls/Styles/xTabControl.xaml" 而是这样: Source"pack://application:,,,/项目名;component/Controls/Styles/xTabControl.xaml …