2023 re:Invent|Amazon Q与Amazon CodeWhisperer面向企业开发者提效利器

news2024/11/16 11:27:02

本篇文章授权活动官方亚马逊云科技文章转发、改写权,包括不限于在 亚马逊云科技开发者社区, 知乎,自媒体平台,第三方开发者媒体等亚马逊云科技官方渠道

2023年,以GPT为代表的生成式AI引爆了新一轮技术热潮,短短一年的时间内,生成式AI已经成为科技世界发展的核心。作为云计算的行业风向标盛会re,本届:Invent全球大会紧跟生成式AI浪潮,推出名为“Amazon Q ”的生成式人工智能助手,同时Amazon CodeWhisperer 这款用于 IDE 和命令行的 AI 生产力工具,基于Amazon Q可以给开发人员带来全新的高效编程体验。

正如亚马逊云科技首席执行官Adam Selipsky 在主题演讲中表示 :“生成式AI将重塑我们在工作和家庭中所运用到的每一个应用程序,我们正在以一种跟以往完全不同的方式来探讨生成式 AI 的整个概念。”Amazon Q的定位和以往的C端消费级产品不同,生成式AI助手在B端应用赛道上的竞争者寥寥,而作为开发者看了Adam Selipsky的视频介绍,我联想到了实际工作中遇到的问题。

“观望”AI,企业入场犹豫不决究竟何为

我个人深耕B端多年,随着大模型风的兴起,在行业内部接触的客户包括我们自己都在探索AI落地的内容,很多企业会有这方面的诉求是因为,传统行业数字化转型过程中,存在着体量大、业务复杂、定制化要求高的问题,其业务有着沉重的IT建设包袱,各部门、业务之间难以协同,数据壁垒也难以打破,而大模型可以把人与人、人与机器之间的交互过程数据完整的沉淀下来,让它自主学习进步,持续演进。杜绝了过去的烟囱式建设,降本增效的同时还能推动数字化进程。

但对于AI大模型的应用,更多都处于观望+探索的阶段。

一方面,对于大模型的投入产出仍持怀疑态度。另一方面,是数据安全的“刚需”。今年年初,三星就禁止使用ChatGPT,其当时三星允许半导体部门的工程师使用ChatGPT参与修复源代码问题。 但在过程当中,员工们输入了机密数据,包括新程序的源代码本体、与硬件相关的内部会议记录等数据。导致核心数据泄密。诸如此类机密数据泄漏事件,层出不穷。

事实上,大模型的底层逻辑是将行业数据标注出来进行深度学习,训练出专注于某一行业的垂直模型。这也意味着,企业的数据要集成到通用大模型的数据池中。而又因为企业数据大多涉及商业机密、个人隐私等问题,对数据安全要求甚高。

所以,对于B端及G端用户而言,其需要的AI服务是能在保证数据安全的同时,还可以能集成通用大模型作为能力补充。

面向工作使用的AI助手-Amazon Q

Amazon Q 就是面向工作使用的一款新型生成式AI助手,它支持用户输入问题,从而进行聊天、生成内容、编程、插件及定制开发。Amazon Q可以根据您的业务进行定制,以便使用公司信息存储库、代码库和企业系统中的数据和专业知识进行对话、解决问题、生成内容并采取行动。Amazon Q提供快速、相关和可操作的信息和建议,有助于简化任务,加快决策和解决问题的速度。在使用亚马逊云科技遇到问题和故障时,Amazon Q可以一键分析原因并想办法解决。客户可以通过亚马逊云科技管理控制台、文档页面、IDE、Slack或其他第三方对话应用程序的聊天界面访问 Amazon Q。

Amazon Q 与通用生成式 AI 的区别

Amazon Q 的官方定义是面向工作使用的AI助手。与市面上的通用性AI的区别主要在于,面向对象不同、数据来源不同、安全性等方面的差异。

通用的生成式 AI 内容主要来源于互联网的公开数据,无法针对特定的数据源进行训练,比如无法跟企业内部数据,业务相结合,也无法满足个人的个性化需求。比如我们使用ChatGPT时候,由于其训练数据的主要来源为互联网,在询问一些细分行业、或下垂龙头企业的数据时,往往会答非所问,或者一本正经的胡说八道。为了让 ChatGPT 学习某个特定的技能,比如企业的内部知识,需要将内容拆分,通过提示词工程,再提供给 ChatGPT 学习,这大大限制了生成式 AI 的能力。因此 Amazon Q 较 ChatGPT 而言有以下优势:

  • 与特定业务相结合,可以实现私有化,根据企业内部数据进行训练。

  • 支持多种数据源,同时保证了数据的安全性

  • 将权限引入生成式 AI 中,在企业中可以根据组织架构对人员设置不同的访问权限;

接下来我们动手试一试,一探究竟。

Amazon Q初体验—基于私有数据的工作助手

使用Amazon Q需要上面几个步骤,虽然看起来操作有一丢丢复杂。但是实际耗时并不会特别久。

创建AI程序

首先我们创建一个AI程序,这里是给了一个步骤索引,我们只需要一步步操作即可。

这里我们选择一个现有的服务角色,并且创建一个KMS key,创建KMS的步骤这里不多叙述,我们根据自己的实际服务进行选择就好了

我这里已经创建好了一个密钥对,在上面勾选我们的KMS

这里也可以选择对资源打Tags,方便后面管理,配置完我们点击下一步

页面会显示Propagating IAM role.This will take 30 seconds, please remain on the page.

选择检索器

检索器是一个索引,我们可以从中实时获取数据。如果要将文档连接到应用程序,需要选择一个检索器。

这里我们选择按需选择

连接数据源

配置完我们的数据源,就可以打开web页面了,右边还可以配置自定义的Title ,提示词等等,还是比较贴心的。

问答测试

作为一个AI助手,文生文问答是最基础的,这里我们提问:“构建无服务器API的AWS无服务器服务是什么?”Amazon Q提供了简明的解释以及参考资料,我们使用这些参考资料来跟进您的问题并验证。在实验中同时发现Amazon Q目前对于中文支持性比较差,希望后续亚马逊可以持续的优化这部分。

当使用AmazonQ来跟进和迭代问题。会展示更多深入的答案和参考资料。通过几轮问答,其实可以看到,回答的内容是符合预期的,并且给出了参考的一些源内容,这有点企业知识库的感觉,整体使用下来,与chatglm2-6b的方案类似,在整个对话中,有对话历史内容的参与,向量库每次匹配出的内容在数据源质量高的情况下是比较精准的,如果数据源缺失,或者是数据源质量比较差,会导致对话历史内容不能起到优化回答的作用。

这里有个很贴心的实现,就是可以在控制台的任何地方,唤起一个Amazon Q的console。只需要选择AWS管理控制台右侧的Amazon Q图标。就可以在使用其他服务或者用例的时候,遇到问题,Amazon Q就变成了一个实用的小助手或者智能的操作手册帮你解决遇到的问题,换个角度思考,Amazon Q对于一些云工作者,无论是开发还是运维其实都是一个很好的体验提升。通过AWS聊天机器人集成到AWS管理控制台、AWS控制台移动应用程序、AWS文档、AWS网站以及Slack和Teams中,可以更方便、更容易地找到所需内容。

Amazon CodeWhisperer 生产力利器

而作为亚马逊云科技推出的最新力作,Amazon Q集成了Amazon CodeWhisperer的功能,为开发人员提供更强大的功能和更出色的使用体验。

当AI助手和IDE结合,就产生了一种奇妙的化学反应,万物皆可Amazon Q。

比如文档+Amazon Q = 智慧文档,IDE+Amazon Q = AI生产力工具。操作台+Amazon Q = 运维小助手。对于B端用户和个人开发者,Amazon Q的落地性和兼容性将到达一个全新的高度。

根据介绍,Amazon Q的生成式AI助手能够直接处理控制台内的故障排除和错误解决,相当于在DEVOPS的职责上承担了更多的责任,使开发人员更专注于创新和问题解决。同时,Amazon Q具备代码转换的能力,类似于IBM Watsonx,可以将COBOL代码转换为Java等目标代码。这种功能的引入无疑为开发人员提供了更多可能性,促使他们更灵活地进行代码维护和升级。对于代码转换的功能,实际是非常实用的。

这里首先我们根据官网的连接,下载AWS Toolkit插件。

插件下载好后,有三个选项,这里我们主要为了体验Amazon CodeWhisperer+Amazon Q ,我们选择第一个卡片

绑定我们的亚马逊开发者ID

在完成简单注册后,点击同意授权

这里正式进入了插件版本的 Amazon Q, 整个的交互体验非常的小清新,chat的助手和gpt的风格一致,唯一的小缺点就是中文的支持不是很友好。这里完美同样的在编码过程中遇到的问题可以随时的提问,整体而言,个人认为,Amazon Q回答一些云服务的问题,其质量要远远大于通用性问题。

在大会预览期间,举办的一场生产力挑战赛,使用 CodeWhisperer 的参与者成功完成任务的可能性要比未使用 CodeWhisperer 的参与者高 27%,平均完成任务的速度快 57%,这足以说明CodeWhisperer的优势。

这里我们开始探索一下CodeWhisperer 的Amazon Q

Amazon Q 擅长做些什么

我们先提出一个问题:What can Amazon Q do and what are some example questions?

Amazon Q的回复是

What I can do:

  • Answer questions about AWS

  • Answer questions about general programming concepts

  • Explain what a line of code or code function does

  • Write unit tests and code

  • Debug and fix code

  • Refactor code

这里我们根据他的建议开始针对性测试

问题分析

这里我们抛出一个建站的问题,我应该使用AWS Lambda还是EC2作为可扩展的web应用程序后端?

它回答了AWS Lambda与EC2的对比及各自的特点,整体回答的比较全面。

常用算法实现

这里我们让他实现一段红黑树排序。

Amazon Q 给了一段逻辑,插入逻辑将遵循典型的红黑树算法——作为红色节点插入,然后执行旋转以修复违规行为。我们还需要旋转、固定插入和检查红黑属性的方法。

对于排序,使用insert从未排序的元素列表中构建树。然后遍历树,以便按排序顺序提取元素。

一些关键方面是使用sentinel“nil”节点来简化边缘情况、跟踪颜色以及通过旋转修复插入/删除。整体看下来,还是需要再二轮问一下,进行引导,生成的质量会逐步提升。

自动填充用例

Amazon CodeWhisperer可以根据注释和现有代码,在 IDE 中实时生成从代码片段到全函数的代码建议。它还支持命令行中的 CLI 补全和自然语言到 bash 的转换。

这里我们使用官方的案例让他自动填充一个测试用例,非常完美!

Amazon Q优势与总结

除此之外,对于Amazon Q与亚马逊服务的使用中,我了解到,与ChatGPT和Bard不同,Amazon Q并不是建立在特定的人工智能模型上,而是使用了AWS的Bedrock平台,该平台将几个人工智能系统连接在一起,其中包括亚马逊自己的Titan模型以及Anthropic、Meta等开发的模型。

安全至上

“AI安全”是近期一直在圈子里引起热议的话题,周鸿祎曾在微博上发文表示,“大型企业或者政府要私有化大模型。即在加入公有GPT知识和能力的基础上,再训练一个私有的GPT,只给企业自己或客户使用。这种观点其实是对于通用性AI对于数据源管理及数据安全的一种常见认知。

亚马逊一直注重于数据安全,亚马逊打造了比面向消费者聊天机器人更安全、更私密的Amazon Q。利用数据源与KSM的设置,Amazon Q可以同步企业客户已经为其用户设置的相同的安全权限,比如在一家公司,营销部门的员工可能无法获得敏感的财务预测。

高适用性

Amazon Q让我觉得有意思的地方在于Amazon Q+,也就是万物皆可Amazon Q。除了Amazon CodeWhisperer以外

目前,亚马逊旗下的数据分析平台Amazon QuickSight已内置了Amazon Q。有一个示例视频,通过简单地告知Amazon Q他们想要可视化内容,就可以创建仪表板和报告,耗时从几小时缩短到了几分钟。此外,像Amazon Connect,以及其他业务也在进行Amazon Q的使用。

而在取长补短的AI大模型产业生态下,Amazon Q将大幅度杜绝模型的重复搭建、实现数据的重复利用,大大节约算力资源利用率。同时还可以减少客户的AI部署成本。

我相信上述应用只是Amazon Q 广泛落地的一个开始,Amazon Q的强大普适性,将为众多使用亚马逊云科技服务的企业带来全新的“个性化”体验。就像Adam坚信的那样:“这将是一场生产力层面的变革,我们希望来自不同行业、从事不同岗位的人们都能从 Amazon Q 身上获益。”

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

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

相关文章

Jenkins离线安装部署教程简记

前言 在上一篇文章基于Gitee实现Jenkins自动化部署SpringBoot项目中,我们了解了如何完成基于Jenkins实现自动化部署。 对于某些公司服务器来说,是不可以连接外网的,所以笔者专门整理了一篇文章总结一下,如何基于内网直接部署Jen…

【数据结构】栈和队列超详解!(Stack Queue)

文章目录 前言一、栈1、栈的基本概念2、栈的实现(数组实现)3、栈的基本操作3.1 栈的结构设计3.2 栈常见的基本函数接口 4、栈的实现4.1 初始化栈4.2 栈的销毁4.3 入栈4.4 出栈4.5 判空4.6 长度4.7 获取栈顶元素 完整代码Stack.hStack.cTest.c 二、队列1、…

排序-归并排序与计数排序

文章目录 一、归并排序1、概念2、过程3、代码实现4、复杂度5、稳定性 二、 计数排序1、思路2、代码实现3、复杂度:4、稳定性 一、归并排序 1、概念 是建立在归并操作上的一种有效,稳定的排序算法,该算法是采用分治法(Divide and Conquer)的一个非常典型的应用。将已…

车载导航系统UI界面,可视化大屏设计(PS源文件)

大屏组件可以让UI设计师的工作更加便捷,使其更高效快速的完成设计任务。现分享车载导航系统科技风蓝黑简约UI界面、车载系统UI主界面、车载系统科技风UI界面、首页车载系统科技感界面界面的大屏Photoshop源文件,开箱即用! 若需 更多行业 相关…

数据库动态视图和存储过程报表数据管理功能设计

需求:需要将ERP的报表数据挪到OA中,但是OA表单设计不支持存储过程动态传参,所以需要设计一个系统,可以手动配置,动态显示原本ERP的报表数据,ERP报表是存在数据库的视图和存储过程中 思路:因为E…

算法复习——6种排序方法的简单回顾

算法复习——6种排序方法的简单回顾 常见排序方法:冒泡排序、选择排序、插入排序、堆排序、归并排序、快速排序的简单回顾 冒泡排序 重复“从序列右边开始比较相邻两个数字的大小,再根据结果交换两个数字的位置” 在冒泡排序中,第 1 轮需要比较 n - 1…

整理b站黑马程序员C++课程中对于计算机视觉学习有所帮助的知识点。(重点用*标出)

文章目录 1、注释2、变量3、常量4、标识符5、整型 浮点型 字符型 字符串 布尔6、输入 输出7、逻辑运算法8、 程序流程结构9、三目运算符10、switch语句11、循环语句12、跳转语句13、*数组13.1一维数组名 14、二维数组15、**函数15.1、函数的调用15.2、函数的声明15.3、函数份文…

Android camera的metadata

一、实现 先看一下metadata内部是什么样子: 可以看出,metadata 内部是一块连续的内存空间。 其内存分布大致可概括为: 区域一 :存 camera_metadata_t 结构体定义,占用内存 96 Byte 区域二 :保留区&#x…

HarmonyOS--基础组件TextInput

TextInput 官方文档 TextInput组件https://developer.harmonyos.com/cn/docs/documentation/doc-references-V3/ts-basic-components-textinput-0000001427584864-V3#ZH-CN_TOPIC_0000001523968610__%E5%AD%90%E7%BB%84%E4%BB%B6 文本输入框组件 接口 TextInput(value?:…

【Python】用Python发邮件

准备工作 以新浪邮箱为例,进入账号管理,打开授权码并保存下来 用到的包 import smtplib from email.header import Header from email.mime.text import MIMEText 账号授权码准备 这里用的是前面记录的授权码,不是登录密码哦 email_hostsm…

40G AOC线缆全系列产品知识详解

40G AOC(Active Optical Cable)线缆作为高速数据传输的重要组成部分,在现代通信和数据中心应用中扮演着重要角色。本期文章我们将从其基本原理、应用领域、优势特点等方面对ETU-LINK 40G AOC全系列产品进行解析。 一、40G AOC全系列产品解析…

Facebook广告投放常见错误

在进行Facebook广告投放时,很容易犯一些常见的错误。这些错误可能导致广告投资的浪费,影响广告效果并降低回报。本文小编讲一些常见的Facebook广告投放错误,以及如何避免它们。 1、不明确目标受众 广告的成功与否很大程度上取决于你选择的目…

基于Java+Swing+mysql学生选课成绩信息管理系统

基于JavaSwingmysql学生选课成绩信息管理系统 一、系统介绍二、功能展示三、项目相关3.1 乱码问题3.2 如何将GBK编码系统修改为UTF-8编码的系统? 四、其它1.其他系统实现 五、源码下载 一、系统介绍 学生教师信息管理、年级班级信息管理、课程信息管理、选课、成绩…

怎么制作一个微信小程序商城

随着移动互联网的普及,越来越多的商家开始关注线上销售。微信小程序商城作为一种便捷、实用的线上销售平台,受到了广大商家的青睐。本文将详细介绍如何制作一个微信小程序商城。 一、登录乔拓云平台进入后台 首先,我们需要登录乔拓云平台&am…

亚信科技AntDB数据库——深入了解AntDB-M元数据锁的相关概念

AntDB-M在架构上分为两层,服务层和存储引擎层。元数据的并发管理集中在服务层,数据的存储访问在存储引擎层。为了保证DDL操作与DML操作之间的一致性,引入了元数据锁(MDL)。 AntDB-M提供了丰富的元数据锁功能&#xff…

服务器感染了.DevicData-D-XXXXXXXX勒索病毒,如何确保数据文件完整恢复?

引言: 勒索病毒成为网络安全的严峻挑战,而最新的.DevicData-D-XXXXXXXX勒索病毒更是引起广泛关注。本文将深入介绍.DevicData-D-XXXXXXXX勒索病毒的特征,提供恢复被其加密的数据文件的方法,并分享预防措施,以确保您的数…

【算法题】打印任务排序(js)

输入: 1,2,2 输出:2,0,1 说明:队列头部任务的优先级为1,被移到队列尾部;接着顺序打印两个优先级为2的任务,故其序号分别为0和1;最后打印剩下的优先级为1的任务,其序号为2 解法: const str &q…

_pickle.PicklingError: Can‘t pickle : import of module failed

有问题 没问题的 python - pickle cant import a module that exists? - Stack Overflow

1311:【例2.5】求逆序对 归并排序

1311&#xff1a;【例2.5】求逆序对 【题目描述】 给定一个序列a1,a2,…,an&#xff0c;如果存在i<j并且ai>aj&#xff0c;那么我们称之为逆序对&#xff0c;求逆序对的数目。 【输入】 第一行为n,表示序列长度&#xff0c;接下来的n行&#xff0c;第i1行表示序列中的第…

idea中定时+多数据源配置

因项目要求,需要定时从达梦数据库中取数据,并插入或更新到ORACLE数据库中 1.pom.xml <?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://maven.apache.org/POM/4.0.0" xmlns:xsi"http://www.w3.org/2001/XMLSchema-…