构建一个基于 Amazon Bedrock 知识库和 AWS CloudFormation 的端到端


使用 Amazon Bedrock 知识库和 AWS CloudFormation 构建端到端的 RAG 解决方案

作者 Sandeep Singh Mani Khanuja 和 Yanyan Zhang 发表于 2024 年 8 月 5 日,发布于 高级(300),Amazon Bedrock,Amazon 机器学习,Amazon Titan,AWS CloudFormation,生成式 AI,集成与自动化,技术如何做 永久链接 评论 分享

构建一个基于 Amazon Bedrock 知识库和 AWS CloudFormation 的端到端

关键要点

RAG检索增强生成是一种先进的构建问答系统的方法,结合了检索和基础模型的优势。本文展示了如何使用Amazon Bedrock 知识库和AWS CloudFormation无缝自动化端到端 RAG 解决方案的部署。解决方案的主要组件包括知识库、检索系统和生成系统。通过快速设置 RAG 系统,组织能够更有效地从数据中获取洞见。

解决方案概述

该解决方案提供了一种自动化的端到端 RAG 工作流部署,使用 Amazon Bedrock 知识库。我们利用 AWS CloudFormation 设置所需的资源,包括:

AWS 身份与访问管理 (IAM) 角色Amazon OpenSearch 无服务器 集合和索引具有相关数据源的知识库

RAG 工作流使您能够使用存储在 Amazon Simple Storage ServiceAmazon S3存储桶中的文档数据,并将其与 Amazon Bedrock 提供的强大自然语言处理能力结合起来。该解决方案简化了设置过程,使您能够快速部署并开始使用选定的基础模型查询数据。

前提条件

为实施本文提供的解决方案,您需要具备以下条件:

一个有效的 AWS 账户 并对基础模型、Amazon Bedrock 和 OpenSearch 无服务器有一定了解。一个支持格式如 txt、md、html、doc/docx、csv、xls/xlsx、pdf的文档存储在 S3 存储桶中。在 Amazon Bedrock 中启用 Amazon Titan 嵌入模型 G1Text。您可以在 Amazon Bedrock 控制台的 模型访问 页面确认它是否已启用。如果启用,访问状态将显示为 已授予访问权限。

设置解决方案

当前提条件完成后,您可以设置解决方案:

鲸鱼加速器官网版克隆包含解决方案文件的 GitHub 仓库:

bash git clone https//githubcom/awssamples/amazonbedrocksamplesgit

进入解决方案目录:

bash cd knowledgebases/featuresexamples/04infrastructure/e2eragdeploymentusingbedrockkbcfn

运行 sh 脚本,创建部署存储桶,准备 CloudFormation 模板,并将准备好的 CloudFormation 模板和所需工件上传到部署存储桶:

bash bash deploysh

在运行 deploysh 时,如果您提供一个存储桶名称作为参数,它将使用指定的名称创建一个部署存储桶;否则,它将使用默认名称格式:e2eragdeployment{ACCOUNTID}{AWSREGION}。

如以下截图所示,如果您在 Amazon SageMaker 笔记本实例中完成前述步骤,可以在终端运行 bash deploysh,这样会在您的账户中创建部署存储桶账户编号已被隐藏。

脚本完成后,记下主模板的 S3 URL。

在 AWS CloudFormation 控制台中创建新堆栈。

对于 模板来源,选择 Amazon S3 URL 并输入您之前复制的 URL。

选择 下一步。

提供堆栈名称,并根据您的用例指定 RAG 工作流的详细信息,然后选择 下一步。

保持其他默认设置,选择 下一步 进行后续页面。

查看堆栈详细信息并选择确认复选框。

选择 提交 开始部署过程。

您可以在 AWS CloudFormation 控制台上监控堆栈的部署进度。

测试解决方案

当部署成功时完成可能需要 710 分钟,您可以开始测试解决方案。

在 Amazon Bedrock 控制台中,导航到已创建的知识库。选择 同步 以启动数据导入作业。数据同步完成后,选择您要用于检索和生成的基础模型在使用之前需要在 Amazon Bedrock 中授予该模型的访问权限。开始使用自然语言查询您的数据。

就这样!现在您可以使用 Amazon Bedrock 驱动的 RAG 工作流与您的文档进行交互。

清理工作

为避免未来产生费用,请删除本方案中使用的资源:

在 Amazon S3 控制台中,手动删除您为模板部署创建的存储桶中的内容,然后删除该存储桶。在 AWS CloudFormation 控制台中,选择导航窗格中的 堆栈,选择主堆栈,选择 删除。

当您删除堆栈时,该堆栈创建的知识库将被删除。

结论

在本文中,我们介绍了一种使用 Amazon Bedrock 知识库和 AWS CloudFormation 部署端到端 RAG 工作流的自动化解决方案。借助 AWS 服务的强大功能和预配置的 CloudFormation 模板,您可以快速搭建强大的问答系统,而无需面临构建和部署 RAG 应用程序单个组件的复杂性。这种自动化部署方法不仅节省了时间和精力,而且提供了一致和可复现的设置,使您能够专注于利用 RAG 工作流从数据中提取有价值的见解。

尝试一下,看看它如何简化您的 RAG 工作流部署并提升效率。请随时与我们分享您的反馈!

关于作者

Sandeep Singh 是亚马逊网络服务的高级生成式 AI 数据科学家,他帮助企业通过生成式 AI 创新。他专注于生成式 AI、机器学习和系统设计,并成功交付了最先进的 AI/ML 驱动的解决方案,以解决各行各业的复杂商业问题,优化效率和可扩展性。

Yanyan Zhang 是亚马逊网络服务的高级生成式 AI 数据科学家,她在这里从事尖端 AI/ML 技术方面的工作,并帮助客户利用生成式 AI 实现预期结果。她对探索该领域的新前沿充满兴趣,并不断努力推动边界。工作之余,她喜欢旅行、锻炼和探索新事物。

Mani Khanuja 是一位技术主管 生成式 AI 专家,著有《应用机器学习与 AWS 高性能计算》一书,并在女性制造业教育基金会董事会担任成员。她领导各种领域的机器学习项目,如计算机视觉、自然语言处理和生成式 AI。在 AWS reInvent、女性制造业西部会议、YouTube 网络研讨会和 GHC 23 等内部和外部会议上发表演讲。在闲暇时间,她喜欢在海滩上长跑。