在未来几年,生成式AI将彻底重塑用户体验,推动这一变革的关键之一是引入AI助手,利用智能工具帮助用户轻松应对日益复杂的数字环境。在本文中将展示如何构建基于上下文的AI助手解决方案。该解决方案结合了Amazon Bedrock Knowledge Bases、Amazon Lex、Amazon Connect和WhatsApp,通过一个用户熟悉且便捷的界面,为用户提供智能支持。
通过将公司私有数据源导入Amazon Bedrock Knowledge Bases,可以为基础模型(FM)和AI助手提供上下文信息,实现检索增强生成(RAG)。该解决方案与Amazon Lex和Amazon Connect的原生兼容性简化了特定领域知识的整合,助力构建对话式AI应用。通过自动化的文档摄取、分块和嵌入,无需手动配置复杂的向量数据库或自定义检索系统,极大地降低了开发的难度,并节省了大量时间。
此方案能够提升基础模型响应的准确性,减少“幻觉”现象的出现,因为数据已经过验证,并且能够确保对话内容的高度相关性。与传统的自定义知识管理系统相比,该方案不仅减少了开发资源的消耗,还降低了运营成本,提升了整体的成本效益。借助AWS无服务器架构,解决方案具有良好的可扩展性,可以快速应对不断增长的数据量和用户查询量。
此外AWS 强大的安全基础设施为数据隐私保护和合规性提供了保障。由于知识库持续更新,AI 助手始终能够获取最新的信息。通过使用Amazon Bedrock Knowledge Bases,企业可以将复杂的知识管理与检索交由AWS处理,自己则专注于开发增值的AI应用,加快部署过程,从而打造更准确、更强大的AI解决方案。
AWS官网地址:https://www.amazon.com/
一、前提条件
要实施此解决方案,需要满足以下条件:
1、拥有在 Amazon Bedrock、Amazon Lex、Amazon Connect 和 AWS Lambda 中创建资源的权限。
2、获得在 Amazon Bedrock 上启用 Anthropic Claude 3 Haiku 模型的权限。
3、拥有与 Amazon Connect 集成的 WhatsApp 企业账户。
4、准备好产品文档、知识文章或其他相关数据,这些内容需要以兼容格式(如 PDF 或文本)导入到知识库。
二、AWS解决方案概述
该解决方案结合了多个AWS AI服务来构建并部署一个功能强大的AI助手:
1、Amazon Bedrock:作为一项全托管服务,它通过单一API提供来自AI21 Labs、Anthropic、Cohere、Meta、Mistral AI、Stability AI和Amazon Titan等顶级AI公司的高性能基础模型,以及强大的功能支持,帮助客户构建高安全性和隐私性保障的生成式AI应用。
2、Amazon Bedrock Knowledge Bases:通过将私有数据源导入Amazon Bedrock Knowledge Bases,为AI助手提供上下文信息,增强生成式AI响应的准确性。
3、Amazon OpenSearch Service:作为Amazon Bedrock Knowledge Bases的原生向量存储系统,提供高效的检索能力。
4、Amazon Lex:用来构建AI助手的对话界面,支持定义意图(Intent)和槽位(Slot),实现复杂的对话逻辑。
5、Amazon Connect:作为呼叫中心解决方案,支持与WhatsApp等渠道的集成,允许用户通过这些流行的消息应用与AI助手互动。
6、AWS Lambda:用于运行代码并集成各项服务,实现LangChain智能体(Agent)的核心逻辑处理。
7、Amazon API Gateway:接收来自WhatsApp的传入请求,并将请求路由至AWS Lambda以进行后续处理。
8、Amazon DynamoDB:用于存储接收到的消息和生成的响应,便于记忆对话历史,确保更加个性化的对话体验。
9、Amazon SNS:用于路由Amazon Connect传出的响应消息,确保信息传递的及时性。
10、LangChain:为构建LangChain Agent提供了一个强大的抽象层,帮助基础模型基于上下文进行推理,以生成更精确的响应。
11、LangSmith:通过将Agent追踪上传至LangSmith,增强AI助手的可观察性,支持调试、监控、测试和评估,确保对话质量和系统性能的持续优化。
下图展示了该解决方案的架构:
三、流程概述
下图右侧的红色数字展示了数据摄取的过程:
1、上传数据到Amazon S3:将文件上传到Amazon Simple Storage Service (Amazon S3) 存储桶,作为数据源。
2、触发Lambda函数:新文件的上传触发Lambda函数的执行。
3、调用知识库同步操作:Lambda函数调用知识库的数据同步操作。
4、生成并存储嵌入:Amazon Bedrock Knowledge Bases 从 S3获取数据,分块处理后,使用选择的基础模型生成嵌入,并将其存储在Amazon OpenSearch Service中。
下图左侧的数字展示了消息传递的流程:
1、用户发起通信:用户通过WhatsApp向托管的Webhook发送消息。
2、消息路由:Amazon API Gateway将用户消息路由到执行的Lambda函数处理程序
。
3、记录用户信息:入站消息处理程序将用户的联系信息保存到Amazon DynamoDB中。
4、新用户与老用户的处理:首次访问的用户,入站消息处理程序会在Amazon Connect中创建新会话,并将信息存入DynamoDB。对于老用户,则会使用已有的Amazon Connect会话。
5、消息转发与处理:Amazon Connect将用户消息转发至Amazon Lex,后者进行自然语言处理。
6、调用LangChain AI助手:Amazon Lex触发LangChain AI助手,该助手由Lambda函数实现。
7、检索对话历史:LangChain AI助手从DynamoDB中检索对话历史记录。
8、获取相关上下文信息:LangChain AI助手使用Amazon Bedrock Knowledge Bases获取相关的上下文信息。
9、生成提示并调用模型:LangChain AI助手编译提示,结合上下文数据和用户查询,提交给在Amazon Bedrock上运行的基础模型进行处理。
10、返回并传递响应:Amazon Bedrock返回模型响应,LangChain AI助手将其转发至 Amazon Lex,Amazon Lex再将其传递到Amazon Connect。
11、发送用户响应:Amazon Connect将响应发送至Amazon Simple Notification Service (Amazon SNS),触发出站消息处理程序。
12、从DynamoDB获取联系人信息:出站消息处理程序从DynamoDB检索相关聊天联系人信息。
13、发送WhatsApp 消息:通过Meta的WhatsApp API,出站消息处理程序将响应内容发送给用户。
四、使用AWS产品部署AI助手的步骤
部署此 AI 助手包含三个主要步骤:
1、创建Amazon Bedrock知识库:从产品文档、常见问题、知识文章等数据源中提取相关信息,构建知识库,以供AI助手使用。这些数据应覆盖AI助手所需的核心场景和主题。
2、创建LangChain Agent:LangChain Agent由Lambda函数实现,它使用知识库作为主要的数据源进行信息查找。可以通过提供的AWS CloudFormation模板自动部署Agent以及相关资源。
3、创建并配置Amazon Connect实例与WhatsApp集成:Amazon Connect实例与WhatsApp的集成让用户能够通过WhatsApp与AI助手交互。此集成将有助于提升用户体验,因为WhatsApp是全球使用广泛的通讯平台。
解决方案部署
本文提供了一个预构建的AWS CloudFormation模板,供在AWS账户中快速部署所需资源。
1、登录AWS控制台(如果尚未登录)。
2、点击以下Launch Stack(启动堆栈) 按钮,进入AWS CloudFormation控制台以创建新的堆栈。
3、配置以下参数:
- StackName:堆栈名称,如WhatsAppAIStack。
- LangchainAPIKey:通过LangChain获取的API密钥。
4、选择相应区域,点击Launch Stack,并根据需要选择模板URL或AWS CDK堆栈进行自定义。可选择通过GitHub进行自定义或更新现有堆栈。
5、勾选确认创建IAM资源的复选框,点击Create Stack(创建堆栈)。
6、等待约10分钟以完成堆栈创建。在此过程中,会自动创建以下资源:
- LangChain Agent
- Amazon Lex机器人
- Amazon Bedrock知识库
- 向量存储(Amazon OpenSearch Serverless)
- Lambda 函数(用于数据摄取和提供程序)
- 数据源(Amazon S3存储桶)
- DynamoDB
- Parameter Store(用于存储LangChain API密钥)
- IAM 角色与权限
7.、将文件上传至为WhatsApp创建的数据源(Amazon S3 存储桶)。上传后数据源将自动同步。
8、要测试AI助手,可以登录Amazon Lex控制台,选择新创建的助手,选择English(英语),点击Test(测试) 并发送一条消息。
五、创建Amazon Connect实例并集成WhatsApp
配置 Amazon Connect 与 WhatsApp 企业账户集成,并为 AI 助手启用 WhatsApp 频道:
1、登录到AWS控制台,导航至Amazon Connect。
2、如果尚未创建Amazon Connect 实例,请先创建一个。在Distribution settings(分配设置)中,复制Instance ARN,该值在关联WhatsApp企业账户时会用到。
3、选择实例,在导航栏选择Flows(工作流),并创建新的工作流。
4、在工作流中,选择Amazon Lex,并添加创建的Amazon Lex机器人。
5、在工作流中配置Text-to-speech or chat text(文本转语音或聊天文本)组件,添加如“Hello, how can I help you today?”的欢迎信息。
6、配置完工作流后,添加一个Disconnect(断开)组件,并将流程连接到该组件。完成后,点击Publish(发布)。
7、在 Overview(概览)中,复制工作流的Amazon Resource Name (ARN),在配置 WhatsApp集成时将需要此ARN。
六、测试解决方案
通过WhatsApp与AI助手互动:
七、清理资源
为避免持续费用,请在操作完成后删除相关资源:
1、删除 AWS CloudFormation 堆栈。
2、删除 Amazon Connect 实例。
相关推荐:
《Stable Diffusion快速部署(Amazon EC2)》
-
广告合作
-
QQ群号:707632017