首页开发教程利用AWS打造AI聊天助手

利用AWS打造AI聊天助手

2024-12-04 69

在未来几年,生成式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助手的可观察性,支持调试、监控、测试和评估,确保对话质量和系统性能的持续优化。

下图展示了该解决方案的架构:

利用AWS打造AI聊天助手

三、流程概述

下图右侧的红色数字展示了数据摄取的过程:

1、上传数据到Amazon S3:将文件上传到Amazon Simple Storage Service (Amazon S3) 存储桶,作为数据源。

2、触发Lambda函数:新文件的上传触发Lambda函数的执行。

3、调用知识库同步操作:Lambda函数调用知识库的数据同步操作。

4、生成并存储嵌入:Amazon Bedrock Knowledge Bases 从 S3获取数据,分块处理后,使用选择的基础模型生成嵌入,并将其存储在Amazon OpenSearch Service中。

下图左侧的数字展示了消息传递的流程:

利用AWS打造AI聊天助手

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。

利用AWS打造AI聊天助手

六、测试解决方案

通过WhatsApp与AI助手互动:

利用AWS打造AI聊天助手

七、清理资源

为避免持续费用,请在操作完成后删除相关资源:

1、删除 AWS CloudFormation 堆栈。

2、删除 Amazon Connect 实例。

相关推荐:

亚马逊VPS部署LAMP Web应用程序教程

Stable Diffusion快速部署(Amazon EC2)

AWS S3使用教程

  • 广告合作

  • QQ群号:707632017

温馨提示:
1、本网站发布的内容(图片、视频和文字)以原创、转载和分享网络内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。邮箱:2942802716#qq.com(#改为@)。 2、本站原创内容未经允许不得转裁,转载请注明出处“站长百科”和原文地址。

相关文章