Bedrock 知识库加速客服团队应用 GenAI 能力

需求背景

随着人工智能技术的不断发展,大型语言模型(LLM)和信息检索技术已经成为提高客户服务效率的关键工具。其中检索增强生成(Retrieval-Augmented Generation, RAG)模型融合了知识库检索和自然语言生成的能力,可以帮助客服团队基于现有知识库快速回答客户咨询,提高工作效率和客户满意度。

然而,在实际应用中,业务团队往往面临着 IT 资源限制、传统软件工程思维以及高层决策者的疑虑等障碍。具体来说:

  1. 业务团队通常无法调动大量的 IT 资源来支持构建 RAG 系统;
  2. 传统软件工程思维往往将准确度视为上线的关键指标,导致对准确度要求过高;
  3. IT 立项阶段的价值说明难以说服高层决策者。

为了解决上述问题,我们尝试改变思维方式:

  1. 寻求开箱即用的 RAG 解决方案,降低实施成本和技术门槛;
  2. 将 RAG 定位为客服人员的智能助手(Copilot),帮助减轻工作负担,减少重复劳动,提高工作效率;
  3. 采用低成本、低风险的方式开始使用生成式人工智能(GenAI),逐步积累经验和效益证据。

因此,如果能够找到一种启动成本低、依赖路径少、不侵入现有工作流程的 GenAI 解决方案,将更有利于在实际环境中部署和使用。

为什么选择 Knowledge Base for Amazon Bedrock

1)Knowledge Base for Amazon Bedrock(后续简称 Amazon Bedrock 知识库)是一项完全托管的功能,可帮助您实施从数据摄取到检索和提示增强的整个检索增强生成(RAG)工作流程。

2)它可以将来自公司私有数据源的上下文信息提供给基础模型和代理,以提供更相关、更准确、更定制的响应。

3)您可以使用检索 API 从知识库获取相关结果,并使用 RetrieveAndGenerate API 直接将检索到的结果用于增强提示并生成响应。

4)从知识库检索到的所有信息均附有引文,可提高透明度并最大限度地减少幻觉。

在客服工作台方面,如果您正在使用 Zendesk,那么本文提到的定制的 Zendesk App 结合 Amazon Bedrock 知识库可以让您的团队在半天内拥有一个基于您自己的知识库的解决方案,并帮助提供基于工单的自动回复内容。

方案工作流和效果

工作流说明

  1. 根据工单内容使用 Claude 3 进行自动分类。
  2. 利用基于上下文的 RAG(检索增强生成)能力生成回复内容。
  3. 根据第一步的分类精确修改 RAG 的内容,使其内容更加准确。
  4. 提供翻译功能,帮助不同区域的客服人员快速理解内容。
  5. 利用知识库元数据过滤,结合标签等信息实现精准知识召回。

同时,我们会记录客服使用过程中的信息,帮助建立后期反馈机制并优化:

  1. 记录工单处理详细日志,包括使用情况和需要改进的地方。
  2. 利用 Amazon OpenSearch Service Dashboard 构建分析仪表板,帮助客户分析并持续优化知识库。

客服侧 Zendesk App 功能

Zendesk 是一个客户服务平台,通过使用 Zendesk,你可以处理来自各个渠道的客户消息。 Zendesk 可以通过 App 来扩展其能力。本方案中,定制的 Zendesk App 是集成 Amazon Bedrock 知识库的的一个入口。其他客服工作台或者应用入口完全可以参考借鉴本文提到的方案。

为了加速客户团队采纳 GenAI 能力,Account Team 与客户客服产品团队紧密配合,基于 Zendesk App Framework 开发了一个 Zendesk 扩展 App,该 App 提供交互界面供客服人员使用。App 源码已经托管在 Github 开源,大家可以自行 fork 修改使其更适合您的应用场景。当然您也可以下载已经打包好的 zip 版本直接安装到您的 Zendesk 客服工作台中(全部可以通过 Zendesk 管理员在界面上完成,只需要上传 zip 包并点击 install 按钮完成安装)。

具体安装步骤可以参考:Uploading and installing a private app | Zendesk Developer Docs

安装完成后,在 Task Bar 侧面栏找到我们的 App 并展开,如下:

App 主要提供工单分析、智能回复内容生成、反馈收集功能,常见操作流程如下:

  1. 根据工单内容进行意图识别(区分该工单是售前咨询、故障投诉等细分场景)。
  2. 自动读取当前工单,获取标题和内容信息。
  3. 通过点击”AI Suggest”按钮调用 Amazon Bedrock 知识库获取 AI 回复内容,并展示该回复相关的引用文档和 Chunk 等信息,供客服参考(步骤 1、2 可以根据需要多次进行)。
  4. 根据第一步识别的意图,改写内容。例如,对于售前座席,可以适当提供推荐能力;对于售后座席,确保回复内容的语气更具人文关怀,符合当地语言的表达方式。
  5. 针对咨询本身和回复内容提供多语言翻译功能,帮助不同区域客服人员快速理解(基于 Claude 3 Sonnet 模型提供翻译能力)。
  6. 获取工单标签如区域、产品型号等,构建元数据过滤器,结合 Amazon Bedrock 知识库元数据过滤能力实现精准召回。
  7. 客服点击”Use it”按钮,将生成的内容自动复制到回复窗口,并记录此次调用日志。
  8. 如果客服认为生成的内容尚待改进,可以点击”Need Improve”按钮提交反馈。

每一次客服人员采纳自动回复的内容或者点击 Need Improve,当前 ticket 的咨询和关联的文档详细信息会记录到日志中。这些日志可以导出供客服团队进一步优化文档。

使用一个月后效果反馈

  1. 上线第一周后进行统计,经过客服团队的实际使用,有 24% 的工单可直接采用生成的内容回复。
  2. 上线第三周后,经过持续调优,在工单辅助处理阶段增加工单意图识别和针对不同意图进行 Prompt 的优化调整,首回场景直接采用自动生成内容来回复工单的比例大于了 60%。
  3. 后续通过优化 Prompt 和引入历史记录分析,  可以持续提高直接采纳比例。

架构参考

  1. App 提供客服工作人员交互入口。
  2. Amazon Bedrock Proxy Server 提供调用 Amazon Bedrock Knowledge Base RetrieveAndGenerate 接口获取 RAG 响应。
  3. 将不同意图对应的 Prompt 保存在 Amazon DynamoDB 中,提供更为精细的生成式人工智能(GenAI)响应。
  4. 调用 Claude 3 提供翻译和回复改写能力。
  5. Amazon Bedrock 知识库文档源选择 Amazon S3 服务。
  6. 向量数据库选择 Amazon OpenSearch Serverless,并且我们将客服使用日志也存入同一个库。同时基于 Amazon OpenSearch Serverless 的 Dashboard 提供反馈分析能力。

安装部署

  1. 初始化 Amazon Bedrock 知识库并导入文档。
  2. 部署一个 BedrockProxy 的 http 服务,可以使用 CloudFormation 一键部署或者自行下载 https://github.com/nimysan/AIServer,以你习惯的方式部署。 Template 模版:https://github.com/nimysan/AIServer/blob/main/cloudformation/template.yaml
  3. 下载 Zendesk App 包,下载链接:https://github.com/nimysan/amazon-bedrock-zendesk-app/releases/tag/1.0.0
  4. 以管理身份登录 Zendesk 管理控制台,上传并安装该 App。具体操作细则可参考:Installing the app in Zendesk Support

整体部署过程大概可以在一个半个工作日时内完成。

当您的客服登录 Zendesk 服务台并打开一个 ticket 后,在右边的侧面工作栏就可以看到这个 App,单击打开就可以开始愉快地享受 GenAI 的高效率回复了。