构建一个端到端的 RAG 解决方案,使用知识库,适用于 Amazon Bedrock 和 AWS C
使用知识库构建端到端的 RAG 解决方案:针对 Amazon Bedrock 和 AWS CDK
关键要点
本文展示如何利用 Amazon Bedrock 的知识库与 AWS CDK 安排一个全自动的 RAG检索增强生成解决方案。RAG 模型结合了信息检索与文本生成的能力,简化了相关问题解答系统的构建过程。解决方案可扩展,集成强大的自然语言处理功能。Retrieval Augmented GenerationRAG是一种先进的问答系统构建方法,结合了检索与生成语言模型的优势。RAG 模型会从大量文本库中检索相关信息,然后利用生成语言模型根据检索到的信息合成答案。
开发和部署端到端 RAG 解决方案的复杂性涉及多个组件,包括知识库、检索系统和生成语言模型。构建和部署这些组件可能会很复杂且容易出错,尤其是在处理大规模数据和模型时。
本篇文章将演示如何使用 Amazon Bedrock 的知识库 和 AWS 云开发工具包AWS CDK自动化部署端到端的 RAG 解决方案,使组织能够快速建立强大的问答系统。
方案概述
该解决方案实现了使用 Amazon Bedrock 的知识库自动化端到端 RAG 工作流程的部署。通过 AWS CDK,解决方案设置了必要的资源,包括 AWS 身份与访问管理IAM角色、Amazon OpenSearch Serverless 集合与索引,以及知识库及其相关数据源。
RAG 工作流程使您能使用存储在 Amazon 简单存储服务Amazon S3桶中的文档数据,并将其与 Amazon Bedrock 提供的基础模型FMs强大的自然语言处理NLP功能集成。此解决方案通过编程方式简化了基础设施的设置过程,您可以部署模型并开始使用所选的基础模型查询数据。
前提条件
要实施本文提供的解决方案,您需要以下条件:
一个活跃的 AWS 账户,并熟悉基础模型、Amazon Bedrock 和 Amazon OpenSearch 服务。启用您拟实验的所需模型的模型访问。已设置 AWS CDK。如需安装说明,请参考 AWS CDK 工作坊。已设置含有支持格式文档的 S3 桶txt md html doc/docx csv xls/xlsx pdf。在 Amazon Bedrock 中启用 Amazon Titan Embeddings V2 模型。您可以在 Amazon Bedrock 控制台的 模型访问 页面确认其是否已启用。如果启用,访问状态将显示为 访问权限已授予。设置解决方案
完成前提步骤后,您可以设置解决方案:
克隆包含解决方案文件的 GitHub 存储库:
bashgit clone https//githubcom/awssamples/amazonbedrocksamplesgit
导航到解决方案目录:
bashcd knowledgebases/featuresexamples/04infrastructure/e2eragusingbedrockkbcdk
创建并激活虚拟环境:
bashpython3 m venv venvsource venv/bin/activate
激活虚拟环境的方法会因操作系统而异;请参阅 AWS CDK 工作坊 获取其他环境的激活方式。
虚拟环境激活后,安装所需的依赖项:
bashpip install r requirementstxt
现在,您可以准备代码的 zip 文件并合成 AWS CloudFormation 模板。
在终端中导出您的 AWS 凭证以供角色或用户使用 ACCOUNTID。角色需要具备 CDK 部署所需的所有权限:
bashexport AWSREGION=ltregiongt # 与上述的 ACCOUNTREGION 相同export AWSACCESSKEYID=ltaccesskeygt # 设置为您的角色/用户的访问密钥export AWSSECRETACCESSKEY=ltsecretkeygt # 设置为您的角色/用户的秘密密钥
创建依赖关系:
bash/preparesh

如果您是第一次部署 AWS CDK,请运行以下命令:
bashcdk bootstrap
要合成 CloudFormation 模板,请运行以下命令:
bashcdk synth
由于此部署包含多个堆栈,您需要按照特定顺序依次部署它们:
bashcdk deploy KbRoleStackcdk deploy OpenSearchServerlessInfraStackcdk deploy KbInfraStack
部署完成后,您可以通过访问 AWS CloudFormation 控制台查看已部署的堆栈,也可以在资源标签下查看知识库的详细信息即名称、ID。
测试解决方案
现在您已经使用 AWS CDK 部署了该解决方案,可以通过以下步骤进行测试:
express加速器软件在 Amazon Bedrock 控制台,选择导航页面上的 知识库。选择您创建的知识库。选择 同步 以启动数据导入作业。导入作业完成后,选择您想用于检索和生成的基础模型。在使用之前,需要确保已在 Amazon Bedrock 中授予该基础模型的访问权限。开始使用自然语言查询您的数据。至此,您就可以使用由 Amazon Bedrock 提供的 RAG 工作流程与您的文档进行互动。
清理
为了避免在 AWS 账户上产生未来的费用,请完成以下步骤:
删除已配置的 S3 桶中的所有文件。在终端运行以下命令,以删除使用 AWS CDK 配置的 CloudFormation 堆栈:
bashcdk destroy all
结论
在本篇文章中,我们展示了如何快速部署使用知识库的端到端 RAG 解决方案,利用 Amazon Bedrock 和 AWS CDK 实现了这一过程。
该解决方案简化了设置必需基础设施的过程,包括 IAM 角色、OpenSearch Serverless 集合与索引、知识库及其相关数据源。通过 AWS CDK 实现的自动化部署过程,最小化了手动配置和部署 RAG 解决方案各个组件时的复杂性和潜在错误。借助 Amazon Bedrock 提供的基础模型的强大功能,您可以无缝集成文档数据与先进的 NLP 功能,使您能够高效地检索相关信息并为自然语言查询生成高质量的答案。
该解决方案不仅简化了部署过程,还有助于以一种可扩展和高效的方式利用 RAG 的能力创建问答系统。通过以编程方式修改基础设施,您能够快速调整解决方案以满足组织的特定需求,使其成为需要准确和上下文信息检索与生成的广泛应用中有价值的工具。
作者介绍
Sandeep Singh 是亚马逊网络服务AWS的高级生成 AI 数据科学家,帮助企业利用生成 AI 创新。他专注于生成 AI、机器学习和系统设计,成功交付了针对复杂商业问题的先进 AI/ML 解决方案,优化效率和可扩展性。
Manoj Krishna Mohan 是亚马逊的机器学习工程师,专注于使用 Amazon SageMaker 构建 AI/ML 解决方案。他热衷于为客户开发即用的解决方案,持有北卡罗来纳大学的计算机科学硕士学位,专注于数据科学。
Mani Khanuja 是技术负责人 生成 AI 专家,《应用机器学习与 AWS 高性能计算》一书的作者,也是女性制造业教育基金会董事会成员。她领导多个领域的机器学习项目,如计算机视觉、自然语言处理及生成 AI,并在多场内部和外部会议上演讲。
如有任何疑问,欢迎您在下方留言交流!
让我们来设计架构吧!容器入门 架构博客
云原生应用与容器的架构设计作者 Luca Mezzalira Federica Ciuffo Laura Hyatt Vittorio Denti Zamira Jaupaj日期 2023年4月26日出处 Amazon Elastic Kubernetes Service、Architecture、...
声称联合国民航组织的黑客攻击正在调查中 传媒
联合国民航组织调查潜在数据泄露事件关键要点联合国国际民用航空组织ICAO正在调查natohub声称从其机构窃取了42000条用户数据的事件。被盗信息包括个人姓名、出生日期、性别、电话号码、邮箱地址、住址、教育背景和就业信息。此次调查是因为natohub过去曾攻击过美国国防部和海军陆战队以及联合国。联...