构建一个基于 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,集成与自动化,技术如何做 永久链接 评论 分享

关键要点
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 等内部和外部会议上发表演讲。在闲暇时间,她喜欢在海滩上长跑。