前言
随着 ChatGPT 的问世,我们迎来了许多创新和变革的机会。一年一度的亚马逊云科技大会 re:Invent 也带来了许多前言的技术,其中 AWS CEO Adam Selipsky 在 2023 re:Invent 大会中介绍 Amazon Q 让我印象深刻,这预示着生成式 AI 的又一个里程碑。
在本文中,我们将探讨 Amazon Q 是什么以及它能为我们做些什么。我们还将详细介绍如何使用 Amazon Q 来构建知识库,并分享一些实际案例。无论是个人学习,还是团队协作,Amazon Q 都将是您的理想之选。
让我们一起深入了解 Amazon Q,并探索如何在知识库建设中充分发挥其潜力。
Amazon Q 是什么
Amazon Q 是一款基于生成式人工智能的助手,通过连接如代码仓库、网址、数据库、文档、email等各种信息库来帮助企业或者个人以自然语言对话的方式,提供历史数据检索、摘要生成、内容撰写等。
Amazon Q 与通用生成式 AI 的区别
通用的生成式 AI 最大问题在于内容来源于互联网的公开数据,无法针对特定的数据源进行训练,比如无法跟企业内部数据,业务相结合,也无法满足个人的个性化需求,记得当时玩 ChatGPT 遇到最大的问题在于数据源的限制,为了让 ChatGPT 学习某个特定的技能,需要将内容拆分再提供给 ChatGPT 学习,这大大限制了生成式 AI 的能力。因此 Amazon Q 较 ChatGPT 而言有以下优势:
- 与特定业务相结合;
- 支持多种数据源;
- 将权限引入生成式 AI 中,在企业中可以根据组织架构对人员设置不同的访问权限;
- 使用 Amazon Kendra 可以将已训练完成的数据源进行共享,大大缩短训练时间。
接下来我们用 Amazon Q 打造一个 Rust 知识库。
用 Amazon Q 打造知识库
第一步
打开 Amazon Q 登录或创建账号,进入如下页面。在页面的开头就清晰描述 Amazon Q 的工作方式。点击【Create Application】,填写 Application 基本信息,点击【Create】进入下一步。
第二步
为应用程序选择索引器。有以下两种索引器:
- native retriever
- existing retriever
很遗憾,未能从官方文档中了解到这两种索引器的使用场景。但经过操作发现,native retriever 只能在当前应用下使用,existing retriever 一旦创建可以被多个应用使用。第一次使用我选择了 native retriever。
第三步
添加数据源,Amazon Q 提供了多种数据源,我选了其中的 Web crawler ,填写数据源名称、url 等关键信息。其他信息按照提示填写。特别注意 Sync scope,尽可能缩小范围,避免爬取诸多无用的页面,进而影响索引速度和内容相关性。
第四步
点击【Sync now】后,需完成两个步骤:
- 抓取页面内容
- 为页面创建索引
网页数量越多,完成以上两步的时间就越久。
比较耗时的步骤在于创建索引。所以尽可能缩小爬取范围。其中:
- rust_book1:rust 语言圣经中文版
- rust_book2:rust 语音官方文档(英文版)
- rust_book3:rust 语音官方文档(中文版)
- rust_book4:Rust语言实战(英文版)
- rust_book5:Rust语言实战(中文版)
第五步
点击【Preview web experience】进行预览,将会打开一个对话界面进行测试。也可以通过最后一步使用 IAM 集成符合 SAML 2.0 的外部身份提供商 (IdP) 的方式进行部署对外通过访问。
测试结果如下,确实如官方文档所言目前仅支持对英文文档进行索引,虽然能用多种语言进行对话,但英语对话的效果最佳。
总结
Amazon Q 旨在改变企业与数据交互的方式。该可以帮助用户解答特定于业务的问题,而不需要手动搜索。Amazon Q可以通过AWS管理控制台、公司文档页面、Slack等多个渠道访问,并保证数据隐私和安全。
想象在公司内的几个场景:
- 一个新人,想要了解公司的业务
- A 项目现在谁负责,都有谁参与
- A 项目 B 业务板块怎么操作,文档在哪
- ……
当有了 Amazon Q 这一切都会发生改变,我们期待的未来已来
本文参与了「构」向云端 | 亚马逊云科技 x 思否 2023 re:Invent 构建者征文大赛 ,欢迎正在阅读的你也加入。
授权声明:本篇文章授权活动官方亚马逊云科技文章转发、改写权,包括不限于在 Developer Centre,知乎,自媒体平台,第三方开发者媒体等亚马逊云科技官方渠道
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。