学习 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
python 复制代码
例子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
ini 复制代码
// 数组合并
// 第一步
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
javascript 复制代码
例子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 智能突飞猛进,加油!

文章来源:dev.amazoncloud.cn/column/arti...

相关推荐
阿伟*rui6 分钟前
配置管理,雪崩问题分析,sentinel的使用
java·spring boot·sentinel
待磨的钝刨7 分钟前
【格式化查看JSON文件】coco的json文件内容都在一行如何按照json格式查看
开发语言·javascript·json
昨日之日20061 小时前
Moonshine - 新型开源ASR(语音识别)模型,体积小,速度快,比OpenAI Whisper快五倍 本地一键整合包下载
人工智能·whisper·语音识别
浮生如梦_1 小时前
Halcon基于laws纹理特征的SVM分类
图像处理·人工智能·算法·支持向量机·计算机视觉·分类·视觉检测
深度学习lover1 小时前
<项目代码>YOLOv8 苹果腐烂识别<目标检测>
人工智能·python·yolo·目标检测·计算机视觉·苹果腐烂识别
XiaoLeisj2 小时前
【JavaEE初阶 — 多线程】单例模式 & 指令重排序问题
java·开发语言·java-ee
paopaokaka_luck2 小时前
【360】基于springboot的志愿服务管理系统
java·spring boot·后端·spring·毕业设计
dayouziei2 小时前
java的类加载机制的学习
java·学习
热爱跑步的恒川2 小时前
【论文复现】基于图卷积网络的轻量化推荐模型
网络·人工智能·开源·aigc·ai编程
Yaml44 小时前
Spring Boot 与 Vue 共筑二手书籍交易卓越平台
java·spring boot·后端·mysql·spring·vue·二手书籍