本指南将演示如何将检索增强生成(RAG)功能与 AWS 服务结合使用,以构建生成式人工智能应用程序。大型语言模型(LLM)是一种生成式人工智能,通常是离线训练的,这使得随着模型训练后产生更多数据,模型相关性也随之降低。通过本指南,您可以使用 RAG 从多个数据来源检索数据,包括来自 LLM 外部的数据。可以将数据添加到 LLM 模型中,从而在文本和语音界面上生成更准确、更像人类的响应。 

请注意:[免责声明]

架构图

[文本]

下载架构图 PDF 

Well-Architected 支柱

当您在云中构建系统时,AWS Well-Architected Framework 可以帮助您了解所做决策的利弊。框架的六大支柱使您能够学习设计和操作可靠、安全、高效、经济高效且可持续的系统的架构最佳实践。使用 AWS 管理控制台中免费提供的 AWS Well-Architected Tool,您可以通过回答每个支柱的一组问题,根据这些最佳实践来检查您的工作负载。

上面的架构图是按照 Well-Architected 最佳实践创建的解决方案示例。要做到完全的良好架构,您应该遵循尽可能多的 Well-Architected 最佳实践。

  • 本指南中使用了 Amazon KendraAmazon LexLambdaDynamoDBAmazon SageMaker,来提升您的运营卓越性。Amazon Kendra 提高了访问企业内容的效率和精确度,可快速提供准确的结果。通过与 Amazon Lex 配合使用,它提供了流畅的对话界面,简化了用户的查询和意图处理操作。Lambda 提供敏捷且可扩展的用户交互管理,而在 Lambda 中集成 LangChain 编排工具可促进服务之间的有效协调,简化操作。此外,DynamoDB 能够可靠地存储对话,这意味着不会有重复的交互。最后,SageMaker 的 LLM 有助于提供与上下文相关的回复,增强操作的一致性并改善用户体验。

    这些服务已整合,可确保您的运营保持简化、高效,并能够持续交付预期成果。从使用 Amazon Kendra 进行精确的内容检索,到由 LangChain 管理的结构化编排,每个组件都旨在减少运营开销,最大限度地减少错误,并促进打造一个不断提高效率和响应能力的系统。

    阅读《卓越运营》白皮书 
  • Amazon KendraAmazon LexLambdaCloudFrontDynamoDBSageMaker 为安全的用户交互和数据管理提供了一种全面的集成方法。从 Lambda 中的受控访问到 DynamoDB 中的加密存储,再到 Amazon Kendra 中的安全数据索引,它们固有的安全机制支持了一个安全、响应迅速且高效的用户体验。例如,Amazon Kendra 可以安全地收集和组织来自互联网的内容,从而保证数据的准确性。此外,用户可以选择使用受保护的环境 Amazon Lex Web UI 与聊天机器人通信。当由 Amazon Lex 调用时,Lambda 可充当保护用户请求的桥梁,处理来自 Amazon Lex UI、由 CloudFront 交付的查询,并发回答案。Lambda 还与 Amazon Kendra 建立了安全链接,以提取相关详细信息,并与 SageMaker 中的 LLM 协作生成响应。此外,所有对话都安全地保存在 DynamoDB 中,从而确保持久的数据保护。最后,在 Lambda 中,LangChain 编排工具确保了 Amazon LexAmazon KendraSageMaker 的 LLM 之间的安全协调。

    阅读《安全性》白皮书 
  • AWS CloudFormationAmazon KendraAmazon LexLambdaCloudFrontDynamoDBSageMaker 共同协作,增强工作负载的可靠性。具体而言,使用 CloudFormation 可以帮助您使用最佳实践设置系统,确保可靠的资源管理,而 Amazon Kendra 则通过可靠的索引提供稳定的数据检索。借助 Amazon Lex,您可以准确解释用户意图,并结合 Lambda 确保响应的可扩展性和持续性。此外,DynamoDB 可以安全地存储对话,而 SageMaker 的 LLM 可确保对用户查询的不间断响应。

    选择这些服务是为了确保系统具有弹性、可扩展性,并且可以高效地从故障中恢复。从利用 CloudFormation 实现快速恢复的基础设施即代码实践,到确保一致性能的服务之间的无缝编排,每个组件都经过集成,以维护 AWS 设定的最高可靠性标准。

    阅读《可靠性》白皮书 
  • 为本指南选择的服务可通过多种方式帮助改善您的表现。首先,Amazon Kendra 改进了 RAG 流程以获取相关内容。其次,Amazon Lex 为用户提供了一种简单的方式来提问和理解用户意图。此外,Lambda 还提供快速响应,而 DynamoDB 可以高效地存储和提取对话,从而减少延迟。最后,在 SageMaker 中使用正确的 LLM,用户可以更快地获得答案,从而获得更好的体验。

    阅读《性能效率》白皮书 
  • Amazon KendraSageMakerAmazon LexCloudFrontDynamoDB 提供了许多节省成本的功能。其一,Amazon KendraSageMaker 根据实际需求调整资源,确保您只为实际用量付费。此外,SageMaker 的定价很灵活,可以自动扩展。其二,Amazon Lex 可让您创建聊天界面,而无需管理基础设施。其三,DynamoDB 提供灵活的付款方式,可改善成本管理。之所以选择这些服务,是因为它们为资源管理和计费提供了高效的机制。它们的动态扩展、即用即付模式和其他量身定制的功能,例如 CloudFront 中的缓存和 DynamoDB 中的灵活付款选项,都与成本优化的目标无缝对接。

    阅读《成本优化》白皮书 
  • 本指南中部署的每项服务都是由于其无服务器和托管性质而选择的,从而消除了对物理硬件的需求。通过使用 LambdaAmazon Lex 等无服务器服务,您可以在不使用物理服务器的情况下自动调整需求,从而减少能耗。Amazon KendraSageMaker 等服务无需手动设置或维护即可高效运行。DynamoDB 可以保存对话并防止重复计算,从而节省资源。总而言之,这种方法是环保的,可以帮助您与当前的可持续发展目标保持一致。 

    阅读《可持续性》白皮书 

实施资源

示例代码为起点。它经过行业验证,是规范性但不是决定性的,可以帮助您开始。

AWS 机器学习
博客

Quickly build high-accuracy Generative AI applications on enterprise data using Amazon Kendra, LangChain, and large language models

这篇文章演示了如何通过将 Amazon Kendra 的功能与 LLM 相结合来实现检索增强生成(RAG)工作流程,从而创建可提供基于企业内容的对话体验的先进 GenAI 应用程序。 

免责声明

示例代码;软件库;命令行工具;概念验证;模板;或其他相关技术(包括由我方人员提供的任何前述项)作为 AWS 内容按照《AWS 客户协议》或您与 AWS 之间的相关书面协议(以适用者为准)向您提供。您不应将这些 AWS 内容用在您的生产账户中,或用于生产或其他关键数据。您负责根据特定质量控制规程和标准测试、保护和优化 AWS 内容,例如示例代码,以使其适合生产级应用。部署 AWS 内容可能会因创建或使用 AWS 可收费资源(例如,运行 Amazon EC2 实例或使用 Amazon S3 存储)而产生 AWS 费用。

本指南中提及第三方服务或组织并不意味着 Amazon 或 AWS 与第三方之间存在认可、赞助或从属关系。AWS 的指导是一个技术起点,您可以在部署架构时自定义与第三方服务的集成。

此页内容对您是否有帮助?