- AWS 解决方案库›
- AWS 上高速 RAG 聊天机器人的指南
AWS 上高速 RAG 聊天机器人的指南
概览
重要:本指南要求使用 AWS Cloud9,新客户不再可用。AWS Cloud9 的现有客户可以继续照常使用和部署本指南。
本指南演示了如何使用 AWS 人工智能(AI)服务和开源框架,通过 Amazon Aurora PostgreSQL 和 pgvector 开源扩展来构建高性能检索增强生成(RAG)聊天机器人。Pgvector 配置为向量数据库,支持使用分层可导航小世界(HNSW)索引算法进行高效的向量搜索。聊天机器人允许用户上传 PDF 文件、以自然语言提问并根据文件内容获得答案。借助 Aurora 的可扩展性、可用性和成本效益,您可以在全球范围内运行自然语言处理聊天机器人。
工作原理
这些技术细节包含一张架构图,用于说明如何有效使用本解决方案。该架构图展示了关键组件及其相互作用,并逐步概述了架构的结构和功能。
Well-Architected 支柱
上面的架构图是按照 Well-Architected 最佳实践创建的解决方案示例。要做到完全的良好架构,您应该遵循尽可能多的 Well-Architected 最佳实践。
Amazon Bedrock 让您可以轻松访问多个 FM。在本指南中,我们通过 Amazon Bedrock 使用 Amazon Titan 嵌入模型为文本块生成向量嵌入。对于对话式聊天机器人,我们使用 Anthropic Claude 3 LLM。
此外,还提供了一个 CloudFormation 脚本,用于创建此指南的所有必要先决条件,只需单击一下即可部署。
AWS Secrets Manager 安全地存储数据库用户证书,防止未经授权的访问和密码篡改问题。Secrets Manager 还提供其他安全功能,例如自动密钥轮换和跨 AWS 区域轻松复制密钥,以及对密钥使用情况的审计和监控。
此外,A urora 存储集群使用 AWS 密钥管理服务 (AWS KMS) 密钥进行加密。这些服务共同降低了安全漏洞的风险。
Aurora 配备 pgvector 扩展,提供向量存储和搜索功能,以及关系数据库的弹性功能。Aurora 集群在三个可用区(AZ)中存储六个数据副本,为数据提供高可用性。如果可用区(AZ)或实例失效,Aurora 将自动失效转移到另一个 AZ 中的副本。Aurora 还持续将数据备份到亚马逊简单存储服务 (亚马逊 S3)。
亚马逊 Titan 文本嵌入 v2 针对高准确性进行了优化,非常适合语义搜索的使用。当从 1024 个维度减少到 512 个维度时,Titan 文本嵌入 V2 可保持大约 99% 的检索准确性。具有 256 个维度的向量可保持 97% 的准确性。这意味着您可以节省 75% 的向量存储(从 1024 个维度减少到 256 个维度),并保持较大向量提供的大约 97% 的准确度。
借助 Amazon Bedrock 上提供的 Amazon Titan 文本嵌入模型,可以轻松使用模型并根据使用案例切换模型。最后,Amazon Titan 文本模型有助于确保 RAG 流程为 LLM 检索到最相关的信息,从而得出更准确的答案。
Amazon Bedrock 提供两种定价计划供您选择:按需定价和预置吞吐量定价。按需模型允许您按使用量付费使用 FM,这是一种经济高效的模式,并且可以让您根据需要灵活地尝试不同的模型。
在本指南中,我们使用临时资源,例如集成开发环境 (IDE) 的 AWS Cloud9 实例,而不是专用的亚马逊弹性计算云 (Amazon EC2) 实例来降低成本。此外,我们在A urora 数据库集群中使用了 AWS Graviton Pro cessor实例类型,该集群的能耗比具有相同性能的同类亚马逊EC2 实例减少了60%。
实施资源
为部署做好准备了吗? 查看 GitHub 上的示例代码,了解详细的部署说明,以根据需要按原样部署或进行自定义部署。
相关内容
利用 pgvector 和 Amazon Aurora PostgreSQL 进行自然语言处理、聊天机器人和情感分析
这篇博文演示了如何使用 LangChain 和 Streamlit 构建用于问答的交互式聊天机器人应用程序,并利用 pgvector 及其与 Aurora Machine Learning 的原生集成进行情感分析。
免责声明
示例代码;软件库;命令行工具;概念验证;模板;或其他相关技术(包括由我方人员提供的任何前述项)作为 AWS 内容按照《AWS 客户协议》或您与 AWS 之间的相关书面协议(以适用者为准)向您提供。您不应将这些 AWS 内容用在您的生产账户中,或用于生产或其他关键数据。您负责根据特定质量控制规程和标准测试、保护和优化 AWS 内容,例如示例代码,以使其适合生产级应用。部署 AWS 内容可能会因创建或使用 AWS 可收费资源(例如,运行 Amazon EC2 实例或使用 Amazon S3 存储)而产生 AWS 费用。
找到今天要查找的内容了吗?
请提供您的意见,以便我们改进网页内容的质量。