在您的联络中心中使用 Amazon Connect、Amazon Lex 和 Amazon Bedr
在您的联络中心使用 Amazon Connect、Amazon Lex 和 Amazon Bedrock 知识库部署生成性 AI 代理
作者:Vraj Shah、Chaitanya Hari、Adam Diesterhaft、Brian Yost 和 Marcelo Silva发布时间:2024 年 9 月 24 日于 Amazon Bedrock、Amazon Machine Learning、人工智能、生成性 AI、中级 (200)
关键要点
在本文中,我们讨论了如何在联络中心快速高效地部署生成性 AI 代理,以提高客服体验和解决方案的满意度。通过结合 Amazon Connect、Amazon Lex 和 Amazon Bedrock 知识库,DoorDash 成功应用了一个可以在 25 秒内响应 Dashers送货员问题的解决方案。通过这样的技术,我们能显著减轻现场客服的负担,提高客户满意度。以下是重要信息概述:
DoorDash 使用生成性 AI 以确保对常见问题的快速响应,从而减少对现场客服的依赖。该解决方案利用 Amazon Lex、Amazon Bedrock 和知识库,采用无服务器架构,确保高效处理。解决方案每天处理数十万通电话,实现了低延迟的自助服务,使 Dashers 能迅速获得帮助。“我们的目标是让 Dashers 能尽快高效地获得帮助,节省他们的时间和精力,同时增强他们对 DoorDash 自助服务能力的信任。” Chaitanya Hari,DoorDash 联络中心产品负责人
本文将介绍如何在 AWS 服务中部署生成性 AI 代理,以下是方案概述。
方案概述
以下是一个虚构的酒店连锁品牌 Example Corp Hospitality Group 的示例对话:
客户: 你好,我们正在寻找适合家庭度假的好地方。
代理: Example Corp Family Getaways 提供家庭友好的酒店和度假村,靠近主题公园、国家公园和历史遗迹等热门景点。度假村配备宽敞的住宿、适合各个年龄段的活动和多样的餐饮选择,以创造难忘的家庭回忆。
客户: 那里都在哪呢?
代理: Example Corp Family Getaways 在多个热门度假胜地提供家庭友好的度假村,包括佛罗里达州的奥兰多,加利福尼亚州的阿纳海姆,弗吉尼亚州的威廉斯堡,田纳西州的皮金福治,德克萨斯州的圣安东尼奥,亚利桑那州的斯科茨代尔,密苏里州的布兰森,威斯康星州的威斯康星峡谷,以及宾夕法尼亚州的赫尔西。
客户: 皮金福治听起来不错。
代理: 我们的皮金福治度假村为家庭提供享受大自然的机会,同时享受 Dollywood 和其他附近景点的乐趣。客人可以享用我们的室内水上乐园、小型高尔夫球场,以及在篝火旁烤棉花糖的夜晚体验。
客户: 他们有儿童菜单吗?
代理: Example Corp Family Getaways 在田纳西州的皮金福治具备家庭友好的餐饮选择,包括提供如比萨、鸡块和奶酪意粉等受欢迎的儿童菜单。
部署 Amazon Bedrock 知识库
可以使用提供的 CloudFormation 堆栈部署 Amazon Bedrock 知识库实例,以下是设置知识库的步骤:
登录到您的 AWS 账户,然后选择 启动堆栈 部署 CloudFormation 模板。提供堆栈名称,例如 contactcenterkb 提供现有 S3 桶的名称,例如 contactcenterkb(您的账户编号)。这是演示解决方案内容的存储位置。 不要指定 S3 前缀。 选择嵌入模型,例如 amazontitanembedtextv20。 选择 固定大小分块 的分块策略。 最大令牌数每块条目使用 600如果使用 Cohere 嵌入模型,则使用 512。这大约代表一整页文本。 重叠百分比使用 10。 将四个 索引详细信息 的条目保留为默认值索引名称、向量字段名称、元数据字段名称和文本字段名称。 选择 下一步。 在 配置堆栈选项 页面,选择 下一步。 在 审核并创建 页面,确认 IAM 权限消息,并选择 提交。
该堆栈部署大约需要 10 分钟。
上传示例内容并测试知识库
演示样本包含一个基于 LLM 的 hotelbot,可以回答有关虚构酒店连锁 Example Corp Hospitality Group 的问题。您需要将该酒店连锁的内容加载到指定的 S3 桶中。可以在堆栈的 输出 标签中找到 CloudFormation 堆栈使用的 S3 桶。
使用 AWS 命令行界面 AWS CLI或 AWS 管理控制台 上传以下来自 GitHub 仓库的内容部分 文件夹:
corporate
familygetaways luxurysuites partytimes seasideresorts waypointinns可以选择 PDF 版本或 Word 文档版本推荐使用 Word 版本。完成后,您 S3 桶的顶部级别应包含六个文件夹,每个文件夹中包含一份 Word 或 PDF 文档。
在 Amazon Bedrock 控制台中,选择导航窗格中的 知识库。 选择新创建的知识库以打开。会出现一条消息“一个或多个数据源尚未同步。”
选择数据源并选择 同步。同步过程应该只需一两分钟。
数据源同步后,您可以在 Amazon Bedrock 控制台上尝试各种问题的回答。请确保您已在 Amazon Bedrock 模型访问 页面启用组织批准的所有模型。
选择 LLM 模型,例如 Anthropic 的 Claude 3 Haiku 在 Amazon Bedrock,并开始提问!您可能想查看您上传的示例文档,以获取一些问题的灵感。
部署幻觉检测堆栈可选
如果您想使用可选的异步幻觉检测功能,请部署该堆栈。否则,请继续下一部分。您可以将此 CloudFormation 堆栈用于任何需要异步幻觉检测的 RAG 基础解决方案。
选择 启动堆栈 :提供堆栈名称,例如 contactcenterhallucinationdetection。 指定用于进行幻觉检测的 LLM。在撰写时,有七个推荐的 LLM 进行幻觉检测。对于演示解决方案,选择默认Claude V3 Sonnet。 可选地,创建一个 Amazon 密钥管理服务 (AWS KMS) 客户托管密钥 (CMK) 以加密 Amazon Simple Queue Service (Amazon SQS) 队列和 Lambda 函数的 Amazon CloudWatch 日志 日志组建议用于生产环境。
该堆栈中有两种类型的 Amazon CloudWatch 警报:
错误警报 针对 Lambda 函数中存在代码问题的幻觉检测工作警告警报 当 Lambda 函数实际发现幻觉时的警报两种警报类型都是可选的,但建议使用。
选择 是 启用或 否 禁用警报。 对于您启用的警报,您可以指定一个可选的电子邮件地址或分发列表,以接收有关警报的电子邮件通知。 选择 下一步。 在 配置堆栈选项 页面,选择 下一步。 在 审核并创建 页面,确认 IAM 权限消息并选择 提交。该堆栈大约需要一到两分钟进行部署。
堆栈完成后,您可以查看在 资源 标签中的资源。特别地,查看 Lambda 函数代码。
如果您为警报通知输入了电子邮件地址,您应该会收到确认订阅请求的电子邮件。确认这些以接收可能发生的警报的电子邮件通知。
部署 RAG 解决方案堆栈
如果您打算与 Amazon Connect 集成,请确保您的账户中有可用的实例。如果您还没有实例,可以 创建一个。接下来,完成以下步骤以部署 Amazon Lex 机器人和 Lambda 实现函数:
选择 启动堆栈 :
提供堆栈名称,例如 contactcenterragsolution。 为 Amazon Lex 机器人提供一个名称,例如 hotelbot。 指定要保留的对话轮数以保持上下文。此值可以根据不同的使用情况和数据集进行优化。在 hotelbot 演示中,尝试默认值 4。 可选地,指定 Amazon Lex 对话日志的现有 CloudWatch Logs 日志组 ARN。如果您打算部署对话分析堆栈,您需要此信息。创建日志组,如果尚未创建。 可选地,输入 Amazon Lex 机器人处理函数的 Lambda 提供的并发 单位的值。设置为非零数字时,可以防止 Lambda 冷启动,建议用于生产和内部测试。对于开发,建议输入 0 或 1。 可选地选择创建 KMS CMK,以加密 Lambda 函数的 CloudWatch 日志日志组建议用于生产。 如果您与 Amazon Connect 集成,请提供 Amazon Connect 实例的 ARN,以及堆栈将为您创建的新联系流程的名称。 提供从刚刚创建的知识库堆栈中获得的知识库 ID。您可以在知识库堆栈的 输出 标签中找到此信息。 提供知识库堆栈使用的 S3 桶也已在 输出 标签中提到。 如果您创建了幻觉检测堆栈,请输入 SQS 队列名称。您可以在幻觉检测堆栈的 输出 标签中找到该信息。 如果您为幻觉检测堆栈选择了 KMS 密钥,请输入 KMS 密钥 ARN。 选择 下一步。 在 配置堆栈选项 页面,选择 下一步。 在 审核并创建 页面,确认 IAM 权限消息并选择 提交。
该堆栈将需要几分钟才能完成。
要尝试 RAG 解决方案,请导航到 Amazon Lex 控制台并打开 hotelbot 机器人。该机器人只支持英语。选择导航窗格中的 意图 查看此示例机器人的意图。意图包括:
ip加速器安卓与酒店连锁及其各个品牌相关的问题的意图 包括 Accommodations、Amenities、CorporateOverview、Locations、Parking 等。Amazon Lex 将这些意图路由到 RAG 解决方案。技术上,这些意图可以省略,让 FallbackIntent 处理此类请求。然而,包含这些意图及其示例发声为 Amazon Lex 提供了有关您解决方案领域 “语言” 的信息,有助于优化语音转文本引擎并改善语音转写准确性。此外,包含这些意图对对话分析也很有用。 SwitchBrand 此意图旨在通过允许用户在对话中随时说例如 “其他酒店可以吗?” 来改善对话流。 Booking 演示将呼叫者路由到现场代理队列的示例。 SpeakToAgent 当呼叫者明确请求连接现场代理时使用此意图。 Welcome、Goodbye 和 Help 为启动和结束对话或询问机器人可以做什么而设置的对话支持意图。 FallbackIntent 标准意图,用于处理不匹配的意图。该示例解决方案中的此类请求也会路由到 RAG 解决方案,以使 LLM 根据知识库中的内容进行回答。 SelectKnowledgeBase 和 SelectLLM 允许用户指示 RAG 解决方案使用不同的知识库实例如果不止一个可用或不同的 LLM。这些意图是为测试目的而设计,通常仅应包含在非生产部署中。您可以在对话过程中随意测试任何可在 Amazon Bedrock 上使用的 LLM。您还可以在对话中切换到不同的知识库或 LLM如需。 ToggleLLMGuardrails 和 ToggleLLMContext 允许用户开启或关闭基于提示的 LLM 保护措施,和禁用或启用从知识库获取信息。这些意图是为测试目的而设计,通常应仅在非生产环境中使用。您可以在对话中选择关闭或打开这些设置。可以选择 Amazon Lex 控制台上的 测试 测试解决方案。
[](https//d2908q01vomqb2cloudfrontnet/f1f836cb4ea6efb2a0b1b99f41ad8b103eff4b59/2024/09/17/ML16870