GenAI 用于客户支持 — 第 1 部分:构建我们的概念验证

作者:来自 Elastic Chris Blaisure

欢迎来到 Inside Elastic 博客系列,我们将展示 Elastic 的内部运营如何解决实际业务挑战。本系列将揭示我们将生成式 AI(gererative AI - GenAI)集成到客户成功和支持运营中的历程,让你了解我们流程的幕后情况。我们在构建此功能的同时,也在博客中介绍它,我们很高兴你能加入我们的行列!

生成式人工智能:下一个前沿

OpenAI 的生成式人工智能工具于 2022 年底推出,为人工智能生成内容开辟了无限可能。企业领导者迅速寻求利用这项技术应对其独特挑战的方法。在听到 Elastic 领导者提出以下问题后,我们的客户成功和支持团队的运营尤其如此:

  • 生成式人工智能如何提高客户支持效率和效力?
  • 生成式人工智能如何增强客户体验和满意度?
  • 生成式人工智能如何与现有的客户支持系统和流程集成?
  • 生成式人工智能如何帮助自动执行重复性任务并腾出支持代理的时间进行更复杂和战略性的活动?

负责定制内部工具的现场工程团队开始研究生成式人工智能,并在场外开会集思广益,探讨潜在的应用。鉴于我们是 Elastic,我们了解我们产品的搜索功能以及我们如何集成到更大的人工智能技术堆栈中。然而,仅靠技术并不能回答上述任何问题。

在讨论生成式 AI 的可能性时,我们确定了两种支持工作流程,我们认为这两种工作流程可以使我们的内部团队受益,从而让我们的客户受益:

  • 自动案例摘要:我们的支持工程师花费大量时间提供案例摘要,以便升级或将案例从一位工程师转移到另一位工程师。我们的假设是,我们可以使用生成式 AI 来自动化此过程,并提高我们支持团队的效率和效力,改善问题解决率,并提高整体客户满意度。
  • 起草初步答复:服务水平协议是我们支持服务的主要优势,确保及时响应至关重要。我们不确定大型语言模型 (LLM) 是否足够智能,可以提供准确、相关的响应,但我们确信,从此过程中获得的经验对于决定下一个用例至关重要。

有了这一决定,我们决定构建一个可扩展的概念验证,使我们能够为部分用户实施这些工作流程,同时包括用于评估和改进质量的反馈机制。

构建反馈概念验证

就背景而言,我们的现场工程团队已在 Google Cloud Platform 之上构建了我们系统的基础设施,并使用 Salesforce Service Cloud 为我们的案例管理提供支持。这种现有设置使我们可以直接将初始概念验证与 Vertex AI 集成,Vertex AI 已在内部启用并符合我们的安全和隐私政策。

当然,我们知道 Elastic 将在我们的设计中发挥作用(后续博客将谈到这一点),但在这个初始阶段,我们专注于 LLM 本身并将生成文本应用于概述的工作流程。第一个架构如下所示:

创建案例摘要

从总体上讲,我们希望保持自动化的简单性。我们要求 CRM 团队在所有案例上添加一个自定义按钮,该按钮将调用外部端点。该外部端点是一个 Google Cloud Function,它执行以下操作:

1. 该函数接受 Salesforce 唯一案例 ID 作为输入,并以文本形式检索案例详细信息。

2. 然后,检索到的文本将与以下工程提示一起自动发送到 Vertex AI:

Write the summary of the following customer agent conversation in a paragraph? \Considering the conversation below, what are the pending actions by the Agent? Keep the response short.\Use only the information from the conversation below:"""${text}"""Provide the answers in the dictionary format : {Summary:[], Pending Actions:[]}`;

3. AI 生成的回复通过 Salesforce Chatter Post 发布到案件中。

基本上就是这样!唯一的例外是长期案件,我们必须将文本分解为摘要的摘要。一旦我们确定了设计,我们就会在一个星期内完成并运行。

自动生成草稿初始回复

虽然比案例摘要稍微复杂一些,但自动生成回复以供我们的支持工程师审查相对简单。我们利用现有的自动化功能处理所有新创建的案例,并调用新的 Google Pub/Sub 队列来分别处理所有传入请求。Pub/Sub 执行以下任务:

1. 它将案例 ID 存储在队列中,以便在资源可用时使用。

2. 在执行时,它将案例 ID 传递给另一个 Google Cloud Function,该函数将仅提取客户的初始请求作为文本。

3. 然后,检索到的文本将与以下工程提示一起自动发送到 Vertex AI:

You are an expert Elastic Support Engineer, using only Elastic products, provide a \response with resolution to this email by a customer:"""${text}"""`;

4. AI 生成的回复通过 Salesforce Chatter Post 发布到案例中。

同样,这是一种简单的方法来获取初始草稿回复,该回复可扩展到我们正在查看的案例子集。 这花了我们几天时间来修改现有代码和附加的 Pub/Sub 功能,大约花了两周时间完成。

使用 Vertex AI 作为我们这个概念验证的 LLM 是一个轻松的决定。 我们知道我们有很多与 LLM 准确性相关的事情需要考虑(见下文),但将其与我们现有的基础设施连接起来的便利性使这个过程更快。 与搜索非常相似,AI 生成的回复的相关性是一个更深入的对话,我们知道我们接下来会解决这个问题。

获取用户反馈

前面提到的 Salesforce Chatter 帖子的示例:

在草稿回复和案例摘要这两个用例中,决定使用 Salesforce Chatter 来提供 AI 生成的文本是基于这样的想法:我们可以使用标准的 Chatter 功能来 “点赞” 以识别积极情绪,并使用线程响应来获取主观反馈。这是流程中的关键步骤,减少了反馈循环中的摩擦,因为用户可以在同一个操作系统中处理案例并提供反馈。

有更复杂的技术可用于评估 LLM 准确性,尤其是当 Elasticsearch 提供上下文时。尽管如此,我们还是故意避免进行概念验证,因为我们的数据量是可管理的,而且我们希望审查每一条评论。

客观评估结果并做出决策

Days Open44
Generated Content940
Feedback217
Positive Sentiment15.67%

最初的用户反馈产生了约 16% 的积极回应率,低于预期。查看主观反馈后发现,LLM 缺乏对我们产品的深入了解,这阻碍了其解决技术支持查询的能力。该模型在通用摘要和不需要特定产品知识的响应方面表现更好。这凸显了内容方面的差距,因为 LLM 是在公共数据上进行训练的,缺乏对关键数据源(如我们的产品文档和内部知识库文章)的访问权限。

根据这些数据,我们决定添加两个新的设计原则:

  • 优化输入数据:我们认识到需要更明确的输入体验,以便向 LLM 提供更清晰、更直接的问题,从而提高响应质量。这相当于数据工程中的 “垃圾进,垃圾出”说法。
  • 设置更高的准确度/情绪阈值:技术支持需要高精度,因此我们的目标是 >80% 的基准,并开发了系统来衡量和提高各个阶段的准确性。

在这些原则的指导下,我们决定最佳体验是将这些和所有其他潜在功能整合到统一的聊天界面中。这应该有助于以一致的方式管理输入,以实现更好的工作流程和响应。此外,我们知道下一次演进需要包括 Elasticsearch,以通过检索增强生成架构提高响应准确性。这应该使我们能够大规模评估准确性并显著提高我们响应的准确性。

解决业务问题

基于这种数据支持的理解,我们了解大型语言模型如何响应我们的特定工作流程,并决定将解决方案集成到聊天机器人中,我们重新审视了业务领导提出的问题:

  • 生成式人工智能如何提高客户支持的效率和效果?
    • 我们相信我们可以构建一个自助式聊天机器人体验,以回答与支持相关的产品问题。支持代理使用聊天机器人将加快他们的分析和调查速度,从而减少平均解决问题的时间。此外,新加入者可以从聊天机器人而不是团队的其他成员那里学习。这可以减少入职时间,并为目前正在回答这些问题的现有团队成员创造能力。
  • 生成式人工智能如何增强客户体验和满意度?
    • 与数千家支持组织合作的技术服务行业协会 (TSIA) 经过多年的研究,证实客户更喜欢自助服务而不是辅助支持。展示类似的自助聊天机器人可以提高用户体验和客户满意度,因为实时、相关的响应可以将客户响应时间缩短至几毫秒,并且不需要阅读大量文档。
  • 如何将生成式人工智能与现有的客户支持系统和流程集成?
    • 我们才华横溢的开发人员团队可以在客户提出这些问题时轻松将聊天体验集成到我们的自定义支持门户中,并利用 Elasticsearch 进行知识内容搜索。
  • 生成式人工智能如何帮助自动执行重复性任务并释放支持代理(support agent)的时间以进行更复杂和更具战略性的活动?
    • 支持代理不断搜索产品文档、内部支持内容和知识文章以寻找答案。自然语言聊天是这些搜索活动的演变,它提供上下文相关的响应,而不是推荐要阅读的信息。仅在搜索时间上获得的效率就将释放支持代理的时间以进行其他增值战略活动。

经过几个月的数据收集,我们向利益相关者展示了基于聊天的支持 AI 助理的发现、设计和计划,根据上述结果进行了调整,并从概念验证转向了已获批准的项目。

我们的客户和社区是我们所做的一切的核心。在构建任何内部或外部体验时,我们始终将客户放在第一位。投资于这一过程使我们能够制定明智的计划并加以执行,始终将客户放在首位。

下一步是什么?

我们的现场工程团队现在专注于开发可扩展、安全且准确的支持 AI 聊天助手。本博客系列将继续定期更新,每期都会重点介绍我们构建过程的不同方面。请继续关注更多见解和灵感,以用于你自己的生成 AI 项目。

先睹为快我们当前的架构:

接下来阅读:生产中的 RAG:使你的生成式 AI 项目投入运营。

本文中描述的任何特性或功能的发布和时间均由 Elastic 自行决定。任何当前不可用的特性或功能可能无法按时交付或根本无法交付。

在这篇博文中,我们可能使用或提及了第三方生成式 AI 工具,这些工具由其各自的所有者拥有和运营。Elastic 无法控制第三方工具,我们对其内容、操作或使用不承担任何责任,也不对你使用此类工具可能产生的任何损失或损害承担任何责任。在使用 AI 工具处理个人、敏感或机密信息时,请谨慎行事。你提交的任何数据都可能用于 AI 培训或其他目的。我们无法保证你提供的信息将得到安全或保密。在使用任何生成式 AI 工具之前,你应该熟悉其隐私惯例和使用条款。

Elastic、Elasticsearch、ESRE、Elasticsearch Relevance Engine 和相关标志是 Elasticsearch N.V. 在美国和其他国家/地区的商标、徽标或注册商标。所有其他公司和产品名称均为其各自所有者的商标、徽标或注册商标。

原文:GenAI for customer support — Part 1: Building our proof of concept | Elastic Blog

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/37608.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

ctfshow web入门 sqli-labs web517--web524

web517 注入点id ?id-1’union select 1,2,3– 确认是否能够注入 ?id-1union select 1,database(),3-- 爆出库名 security爆出表名 ?id-1union select 1,(select group_concat(table_name) from information_schema.tables where table_schemasecurity),3-- emails,refer…

使用辅助编程的一些思考

1 引子 最近使用辅助编程比较频繁,也在思考: 它的出现对程序员来说是利大于弊还是弊大于利。对非程序员来说,有了辅助编程是否就能达到程序员的水平?目前,辅助编程还不能解决哪些问题呢? 1.1 使用场景 …

CSS中 transform: scale , transform-origin 属性

scale() 函数 scale() 函数接受一个或两个参数,分别表示在 X 轴和 Y 轴上的缩放比例。如果只提供一个参数,那么 X 轴和 Y 轴都将按相同的比例缩放。 scale(sx, sy) sx 是 X 轴的缩放因子。sy 是 Y 轴的缩放因子。如果省略,则默认为 sx 的值…

分享一些面试经验

计算机类面试准备指南 目录 简介简历准备 个人信息教育背景工作经历项目经验技能清单证书与奖励 技术知识复习 编程语言数据结构与算法计算机基础知识系统设计 面试题型 行为面试技术面试在线编程测试系统设计面试 面试技巧 自我介绍回答技巧沟通技巧常见问题应对 模拟面试 单…

几个常见的FPGA问题之序列发生器、编码器、D触发器

几个常见的FPGA问题之序列发生器、编码器、D触发器 语言 :Verilg HDL 、VHDL EDA工具: Vivado 几个常见的FPGA问题之序列发生器、编码器、D触发器一、引言二、背景1、序列发生器(Sequence Generator)2、编码器(Encoder)3、D触发器(D Flip-Flop)二、问题及解决方案1. 序…

二进制方式部署consul单机版

1.consul的下载 mkdir -p /root/consul/data && cd /root/consul wget https://releases.hashicorp.com/consul/1.18.0/consul_1.18.0_linux_amd64.zip unzip consul_1.18.0_linux_amd64.zip mv consul /usr/local/bin/ 2.配置文件 // 配置文件路径: /roo…

将深度相机的实时三维坐标数据保存为excel文档

一、如何将数据保存为excel文档 1.excel文件库与相关使用 (1)导入相应的excel文件库,导入前先要进行pip安装,pip install xlwt import xlwt # 导入用于创建和写入Excel文件的库 (2) 建立一个excel文档,并在第0行写…

公司面试题总结(八)

43.Vue 组件之间的通信方式都有哪些 ⚫ 通过 props 传递:父组件传递数据给子组件 ◼ 子组件设置 props 属性,定义接收父组件传递过来的参数 ◼ 父组件在使用子组件标签中通过字面量来传递值 ⚫ 通过$emit 触发自定义事件:子组件传递数…

使用Java连接数据库并且执行数据库操作和创建用户登录图形化界面(1)

创建一个Java程序,建立与本机mysql服务器上student数据库的连接,实现在tb_student学生表上插入一条学生信息:学号21540118,姓名王五,性别男,出生日期2003-12-10,所在学院5。 使用JDBC连接数据库后实现数据库插入操作代码如下: import java.sql.Connection; import ja…

web安全渗透测试十大常规项(一):web渗透测试之Fastjson反序列化

渗透测试之Java反序列化 1. Fastjson反序列化1.1 FastJson反序列化链知识点1.2 FastJson反序列化链分析1.3.1 FastJson 1.2.24 利用链分析1.3.2 FastJson 1.2.25-1.2.47 CC链分析1.3.2.1、开启autoTypeSupport:1.2.25-1.2.411.3.2.2 fastjson-1.2.42 版本绕过1.3.2.3 fastjson…

IO多线程

文章目录 C#中的IOC#中的多线程IO与多线程的关系注意事项示例代码注意事项和解释 在C#中,IO(输入/输出)和多线程是两个强大的功能,它们各自在处理文件、网络、数据库等IO操作时,以及提高程序并发性和响应能力方面发挥着…

C++调试技巧总结

1.调试准备 常用调试 Crash调试 调试信息: Windows系统:符号单独PDB文件/链接时生成,从外部的符号服务器下载。(微软) LInux: 调试符号与目标模块在一个文件内,编译时产生调试信息。模块发布时…

手机数据恢复篇:如何在OPPO中恢复永久删除的视频?

说到丢失重要的记忆,如何在OPPO设备中恢复永久删除的视频是一个经常困扰许多用户的话题。意外删除重要视频的情况并不少见,对许多人来说,意识到它们已经消失可能很困难。但是,在正确的指导、方法和工具的帮助下,可以找…

运行CDN

背景 CDN代码,调试运行 日常 git clone代码配置虚拟环境 puthon3.8,pip install r requirements.txt改项目数据集路径,在hico.py文件里面 # PATHS {# train: (root / images / train2015, root / annotations / trainval_hico.json),# val: …

性能优化:Java垃圾回收机制深度解析 - 让你的应用飞起来!

文章目录 一、什么是垃圾回收二、Java 内存区域划分三、垃圾回收算法1. 标记-清除(Mark-Sweep)算法2. 复制(Copying)算法3. 标记-整理(Mark-Compact)算法4. 分代收集(Generational Collecting&a…

C#面:C#如何在同一个类中实现多个具有相同方法名的接口?

在C#中,一个类可以实现多个具有相同方法名的接口。为了实现这种情况,你需要在类声明中使用逗号分隔的接口列表。然后,你需要在类中实现每个接口的方法。 下面是一个示例代码,演示了如何在同一个类中实现多个具有相同方法名的接口…

[XYCTF新生赛2024]-PWN:EZ2.0?(arm架构,arm架构下的系统调用)

查看保护 查看ida 完整exp: from pwn import*pprocess(./arm) premote(gz.imxbt.cn,20082) svc0x0001c58c mov_r2_r4_blx_r30x00043224 pop_r70x00027d78 pop_r40x000104e0 pop_r30x00010160 pop_r10x0005f824 pop_r00x0005f73c sh0x0008A090payloadba*0x44 payloa…

cesium使用cesium-navigation-es6插件创建指南针比例尺

cesium-navigation-es6 是一个为 Cesium.js 提供导航控件的库,它提供了一些常见的用户界面组件,用于在 Cesium 场景中实现用户导航和交互。下面将介绍如何在项目中使用 cesium-navigation-es6。 使用步骤 1. 安装 cesium-navigation-es6 首先&#xf…

R-CNN系列和YOLO系列的区别

R-CNN(Region-based Convolutional Neural Networks)和YOLO(You Only Look Once)都是流行的物体检测算法,它们在设计和实现上有一些显著的区别: 检测方式: R-CNN系列(包括Faster R-C…

【INTEL(ALTERA)】NIOS II调试器中的重新启动按钮不起作用

目录 说明 解决方法 说明 在 Nios II SBT 调试Eclipse时,如果单击 重新启动 图标, 执行被暂停, 以下错误消息: Dont know how to run. Try "help target." 解决方法 终止程序,再次下载,并启…