利用亚马逊云科技GenAI企业助手Amazon Q Business构建企业代码开发知识库

2024年五一节假日的前一天,亚马逊云科技正式重磅发布了云计算行业期待已久的服务——Amazon Q Business。Amazon Q Business是专为企业用户打造的一个开箱即用的完善而强大企业GenAI助手。企业用户只需要将Amazon Q Business连接到现有的企业内部数据源,就可以利用Amazon Q Business基于GenAI的多样化功能,利用自带的前端聊天框中直接与企业内部数据进行交互,基于企业内部数据回答问题(企业产品、代码开发、内部政策等)、提供内容摘要、生成内容、在提升企业生产力的同时有效保护企业内部数据的安全性、合规性。

Amazon Q Business的主要优势有:

1)将企业分散内部数据和企业应用集成到统一平台,做到企业数据互联互通:

Amazon Q Business 可无缝连接 40 多个流行的企业系统,包括 Amazon S3、Microsoft 365、Github、Jira、Gmail、Slack、Atlassian和 Salesforce等。让企业员工轻松集中洞察位于不同数据源的企业数据。

2)根据企业内部数据定制专属GenAI助手,轻松为企业打造专属知识库系统

Amazon Q Business 可以快速连接到企业业务中刚需的企业系统,企业员工能够利用GenAI的能力基于数据进行定制化的对话,解决问题,生成内容,并进行业务决策。Amazon Q Business 会根据企业内部数据生成答案和见解,并附有源文件的参考和引文。

3)保障性、隐私性和安全性

Amazon Q Business 使用IAM Identity Center提供的单点登录方式,确保用户通过现有凭据根据权限和企业级访问控制来安全访问内容,确保企业内部数据的安全和隐私。利用IAM Identity Center企业可以精细化的统一管理组织下所有企业用户访问企业数据的用户和权限。保证用户在无权访问企业内部特定数据的情况下,也无法通过 Amazon Q Business 访问这些数据。

同时Amazon Q Business也集成了多样的亚马逊云科技安全服务,如Amazon PrivateLink、CloudWatch、CloudTrail,更安全私密、合规、可追踪的访问企业内部的数据。

4)构建企业级别负责任的AI助手

Amazon Q Business 提供了多种管理控制功能,例如可以通过设置AI防护栏,当用户询问包含特定关键词主题的问题时,阻止大模型回复、过滤问题和最终答案中包含的敏感信息等。此功能有助于确保 Amazon Q Business 的回答方式符合公司的内部准则,帮助构建企业级的负责任的AI。

5)简化企业知识库搭建和维护,丰富且完善的多样化集成功能

小李哥认为Amazon Q Business的最大优势就是极大简化了传统企业知识库的复杂底层基础设施搭建,包括数据源读取、大模型交互、向量化处理、向量数据库、权限管理、系统管理,甚至是前端与用户交互的页面都用户都可以直接使用,用户无需再自己开发和集成这些系统组件,将搭建传统企业内部知识库长达几个月的项目周期缩短到短短几天,也降低了知识库系统研发成本,真正为企业做到“降本增效”。同时Amazon Q Business采用全托管的模式帮助用户极大简化了维护压力。

本次发布同时推出 Amazon Q Apps功能,Amazon Q Apps 赋予企业快速将想法转化为Web应用程序的能力,帮助企业员工无需任何开发/代码基础,只需要通过文字输入需求,就可以通过企业内部数据自动、快速创建功能强大GenAI Web应用。借助 Amazon Q Apps,员工可以在企业数据上构建、共享和定制应用程序,利用AI简化、自动化处理任务、解决实际问题并提高个人和团队的生产力。用户还可以将应用程序发布与内部同事共享。Amazon Q Apps 继承了 Amazon Q Business 的用户权限、访问控制和企业防护安全策略,以确保安全共享企业数据并遵守数据治理政策。

Amazon Q Business 还引入了自定义插件。管理员可以通过自定义插件连接任何第三方应用程序,与企业内部的办公系统/软件集成,直接通过 Amazon Q Business 执行诸如提交内部工单、提交休假请求和发送会议邀请等操作。用户还可以搜索实时数据,如员工的休假余额、已安排的会议等。

目前Amazon Q Business 和 Amazon Q Apps 在亚马逊云科技海外区的美国东部us-east-1(N. Virginia)和us-west-2(Oregon)区域提供。同时为所有用户提供最多50个用户订阅以及长达60天的免费试用(7/1之前不算作试用时间,可以免费用),免费的羊毛不薅白不薅,大家抓紧试用吧!

大家看完Amazon Q Business的介绍是不是很心动呢?今天小李哥就带着大家手把手利用Aamazon Q Business搭建企业内部知识库,实操试用这款明星服务,感受这个”明星员工“的超强能力。

手把手带你搭建Amazon Q Business企业API开发知识库

跟着小李哥访问Claude 3 Opus API需要大家已具备以下条件:

  • 拥有亚马逊云科技海外区账号。
  • 账号拥有访问、配置Amazon Q Business的权限。
  • 在账户的us-east-1 Virginia区中开启了IAM Identity Center instance(组织级别或账户级别皆可),本次小李哥使用的是组织级别IAM Identity Center

1. 进入亚马逊云科技Amazon Bedrock云服务文档页面。下载用户指南和API文档,这将是我们搭建的知识库内容,模拟利用企业内部的API文档库查询特定API语句。

2.首先我们进入到S3服务中,主要是为了创建保存API文档的S3桶。

3. 进入到S3主页后,点击”Create Bucket“创建S3桶

为S3桶起一个名字

其他配置保持默认,点击右下角的“Create Bucket”

4. 点击”Upload“上传刚刚下载的PDF文档

5. 点击”Add File“添加文件

6. 点击“Upload”上传文件

7. 接下来我们创建用于授权Amazon Q Business访问S3桶中文档的IAM角色和策略。首先进入IAM服务。

8.点击创建Amazon Q Business读取S3文件的Policy策略,点击左侧Policies中的”Create Policy“

9. 复制以下策略,后续我们会将图中双括号{{}}内部的变量换成具体的数值。

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "AllowsAmazonQToGetObjectfromS3",
      "Action": [
        "s3:GetObject"
      ],
      "Resource": [
        "arn:aws:s3:::{{input_bucket_name}}/*"
      ],
      "Effect": "Allow",
      "Condition": {
        "StringEquals": {
          "aws:ResourceAccount": "{{account_id}}"
        }
      }
    },
    {
      "Sid": "AllowsAmazonQToListS3Buckets",
      "Action": [
        "s3:ListBucket"
      ],
      "Resource": [
        "arn:aws:s3:::{{input_bucket_name}}"
      ],
      "Effect": "Allow",
      "Condition": {
        "StringEquals": {
          "aws:ResourceAccount": "{{account_id}}"
        }
      }
    },
    {
      "Sid": "AllowsAmazonQToIngestDocuments",
      "Effect": "Allow",
      "Action": [
        "qbusiness:BatchPutDocument",
        "qbusiness:BatchDeleteDocument"
      ],
      "Resource": "arn:aws:qbusiness:{{region}}:{{source_account}}:application/{{application_id}}/index/{{index_id}}"
    },
    {
      "Sid": "AllowsAmazonQToCallPrincipalMappingAPIs",
      "Effect": "Allow",
      "Action": [
        "qbusiness:PutGroup",
        "qbusiness:CreateUser",
        "qbusiness:DeleteGroup",
        "qbusiness:UpdateUser",
        "qbusiness:ListGroups"
      ],
      "Resource": [
        "arn:aws:qbusiness:{{region}}:{{account_id}}:application/{{application_id}}",
        "arn:aws:qbusiness:{{region}}:{{account_id}}:application/{{application_id}}/index/{{index_id}}",
        "arn:aws:qbusiness:{{region}}:{{account_id}}:application/{{application_id}}/index/{{index_id}}/data-source/*"
      ]
    }
  ]
}

10.点击Json按键,在Policy Editor中将原有内容替换成刚刚复制的内容。再点击右下方的”Next“(未显示)

11. 在红框中为策略起一个名字,再点击右下方的”Create Policy“创建策略

12.创建一个授权Amazon Q Business访问S3桶的Role

13.复制以下策略,后续我们会将图中双括号{{}}内部的变量换成具体的数值。

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "AllowsAmazonQToAssumeRoleForServicePrincipal",
      "Effect": "Allow",
      "Principal": {
        "Service": "qbusiness.amazonaws.com"
      },
      "Action": "sts:AssumeRole",
      "Condition": {
        "StringEquals": {
          "aws:SourceAccount": "{{source_account}}"
        },
        "ArnLike": {
          "aws:SourceArn": "arn:aws:qbusiness:{{region}}:{{source_account}}:application/{{application_id}}"
        }
      }
    }
  ]
}

14. 点击“Custom Trust Policy”。将刚刚复制的策略,替换掉红框中的内容。Trust Policy主要是允许Amazon Q Business使用该角色访问S3桶使用。

15. 在搜索框中输入策略名称搜索刚创建好的策略名称,并勾选红框添加。再点击右下方的”Next“(未显示)

16. 为创建的角色起一个名称,再点击右下方的Next(未显示)。

17.下面我们就开始创建Amazon Q Business 开发文档知识库啦!首先进入Amazon Q Business服务主页。

18.进入主页后,点击“Get Started”开始配置Amazon Q Business应用

19. 点击”Create Application“创建应用

20. 配置Amazon Q Business应用名称、云服务访问权限和用户访问应用权限。

21. 配置Amazon Q的数据源检索器,并点击"Next"

22. 目前Amazon Q Business支持云端、本地等40个不同种类的数据源,如S3、RDS、Confluence、Dropbox、Github、Microsoft 365、Gmail、Google Drive、Teams、Slack、Saleforces等热门云原生服务。办公软件、网盘、代码仓库、企业管理软件等。

23. 第三步创建数据源,首先为应用起一个名称。这次测试中我们将Configure VPC选项选"No",

24. 为数据源访问S3桶分配刚创建好的IAM角色,并指定应用会读取的S3桶,将最大文件大小制定成50MB。

25. 选择文件同步类型以及同步频率(On Demand),其他配置保持默认,再点击右下角的”Add Data Source“(未显示)

26.26. 跳到26.配置检查页面,拉到末尾点击”Next“

27.进入到添加用户界面,主要是添加可以访问应用网页的Identity Center用户。点击红框添加用户

28.选择添加现有用户和用户组,再点击右下角的“Next”

29.搜索自己的用户名,并选中后确定。

同时选择订阅类型“Q Business Pro”,点击右侧的对号箭头

弹出确认页面,点击“Confirm”,最后回到用户管理页面,点击右下角的“Done”

30. 等待创建完成后,首先点击红框,进入到刚创建成功的Amazon Q Business应用

31.打开新的窗口进入到IAM服务中,选择我们刚刚创建的12-16步创建好的角色、和8-11步创建的策略,并分别修改trust Policy和Permission。

32.将第9步和第13步中的{{}}中的变量分别替换成如下值并保存:

1){{source_account}}替换为账户ID

2){{region}}替换成 us-east-1

3) {{input_bucket_name}}替换成第三步中创建的的S3桶名

4){{application_id}}和{{index_id}} 替换成Amazon Q Business应用页面中的如下数值:

31. 点击图中红框,将S3桶中的开发文档同步到Amazon Q Business应用

32.当同步状态为“Completed”时,则为同步成功。

33.下拉到应用页面的末尾,点击“Web experience settings”,并进入"Deployed URL"

测试企业API开发知识库使用效果

利用Amazon Q Business查询开发文档并生成API调用代码

1. 第一个场景就是查询特定的API文档说明,并帮我写一段API调用代码。因为我们选择的文档是关于Amazon Bedrock API相关的文档。我们输入如下内容进行测试

“How to invoke the Claude 3 model on Amazon Bedrock to have a conversation, give me the API syntax”

2. Amazon Q Business帮我们详细解释说明了Aamazon Bedrock 的"invokeModel" API定义、请求参数、请求示例Javascript样例代码,并提供了所有内容的文档出处,做到有据可循。我们还可以在左侧查看过去的查询历史。

利用Amazon Q Apps无代码创建企业生成式AI Web应用

Amazon Q Apps让企业内部员工无需了解开发技能,只需要通过自然语言,通过文字创建自己需要的Gen AI Web应用。如内容生成、面试问题生成、会议记录总结、语法检查等。

小李哥这次创建的无代码应用样例是审查和修改文档内语法错误的应用。

“You are a professional editor tasked with reviewing and correcting a document for grammatical errors, spelling mistakes, and inconsistencies in style and tone. Given a file, your goal is to recommend changes to ensure that the document adheres to the highest standards of writing while preserving the author’s original intent and meaning. You should

provide a numbered list for all suggested revisions and the supporting reason.”

1. 点击左侧边栏的“Apps”,复制上述内容到中间红框,再点击右下角的“Generate”生成应用。

2.Amazon Q Business会自动生成一个文件修改的应用,自动显示出文件上传框和修改后文件的输出框,大家也可以添加更多自定义功能框使用更多样化的功能,如输入input定义更加精细化的文档处理要求,集成企业内部的工单系统,自动创建工单、上传文件到工单中等。

3. 如果大家点击右上角的“Publish”按键,还可以如下图选择标签,发布应用到组织内部,供组织内部所有的员工共同使用,极大提升办公生产力。

4.大家点击左侧栏中的“Library”,选择标签“IT”,就可以看到刚刚创建的在组织内部共享的文件修改应用了。

5. 大家也可以在Amazon Q Business服务页面中的管理我们刚刚创建的文件修改应用

我该如何学习Amazon Q Business?

说到学习Amazon Q Business,快速上手提高企业生产力的AI企业助手,学习目前最前沿的AI技术。小李哥想给大家推荐亚马逊云科技官方的免费课程平台Skill Builder, 该平台不仅包括超过600多门的在线课程帮助大家学习各类云服务,还包含了亚马逊云科技认证的备考课程、动手实验和练习题,帮助大家更容易地考取高含金量的云计算技能认证,为职场加速。


目前Skill Builder上已经上线了免费的Amazon Q Business学习课程,只需要40分钟,就能快速掌握的理论知识、应用场景和实操步骤,快速将AI技术应用于自己的工作中。

该课程主要覆盖如下内容:

1. 了解Amazon Q Business的工作原理

2. 了解Amazon Q Business的强大功能

3. 学习Amazon Q Business的典型应用场景

4. 了解Amazon Q Business对企业带来的价值

5. 了解Amazon Q Business的定价模型

6. 实操Amazon Q Business

上一篇:C语言之位操作符:<<、>>、&、|、^、~,以及原码反码补码和例题详解


下一篇:GitHub Copilot Workspace:欢迎进入原生Copilot开发环境