简介
本文档介绍如何配置Dialogflow CX Virtual Agent。
先决条件
要求
Cisco 建议您了解以下主题:
- Webex联系中心(WxCC) 2.0
- Webex联系中心管理员对租户的访问
- Google Dialogflow CX
使用的组件
本文档中的信息基于以下软件版本:
本文档中的信息都是基于特定实验室环境中的设备编写的。本文档中使用的所有设备最初均采用原始(默认)配置。如果您的网络处于活动状态,请确保您了解所有命令的潜在影响。
地址和凭证
采用Google CCAI的Webex Contact Center简介
Webex Contact Center with Google CCAI是集成,允许将Google文本到语音转换、自然语言理解和虚拟座席技术与Webex Contact Center结合使用。
Dialogflow CX旨在构建涉及多个步骤和决策点的复杂、多回合的对话。它提供了用于创建对话流、管理情景、处理用户意图和实体以及与其他应用集成的工具。想象一下具有许多转折的对话以及您希望从何处深入跟踪交互内容的对话。这些类型的对话通常通过电话线传送到联系中心,在那里人们会提出所有类型的问题,虚拟座席需要接听并提供答案。这并不意味着不能使用Dialogflow Essentials(Dialogflow的另一个版本)构建复杂流,但您需要围绕它使用大量代码来构建一个完整的框架,以实现复杂的逻辑。但使用Dialogflow CX flow builder界面,它不再适用,因为图形界面使开发人员无需大量编码技能即可设计和构建对话式AI应用程序。
Webex Contact Center现在支持Dialogflow CX集成,通过本文档,您可以配置和测试解决方案。
此集成要求您在多个门户中进行配置:Google Cloud Platform和Google Dialogflow CX、Webex Control Hub和Webex Contract Center。
调配
目标
本部分的目的是向您介绍调配(Provisioning)流程,该流程需要您获取Webex Contact Center的Google CCAI许可证。
调配简介
出于计费目的,您需要使用Google CCAI调配Webex Contact Center。
Google提供以下API以集成Dialogflow虚拟代理和文本到语音技术:
- Dialogflow API
- 云语音到文本API
- 云自然语言API
- 云文本到语音API
这些API的使用需要付费帐户,因为API的使用不是免费的。 此过程需要几天,因此您不会完成此部分中的调配过程。有关下一个屏幕截图中的信息,您可以看到包含完成调配所需步骤的高级图。
如果您想了解有关调配过程的详细信息,请参阅为WxCC调配Google CCAI。
创建Dialogflow CX虚拟代理
目标
本部分介绍如何通过创建新的联系中心AI配置来导航Dialogflow CX和Webex Control Hub门户以创建新代理并将代理绑定到Webex环境。
任务1.创建新的虚拟代理
注意:Dialogflow CX中的Virtual Agent是一个对话代理,可以通过自然语言对话与用户交互。它可以经过设计和定制,可以处理各种任务和使用案例,包括用户支持、销售和潜在客户生成。它可以帮助企业实现用户服务和支持操作的自动化,缩短响应时间并提高用户满意度。
步骤1:使用您的用户帐户和密码登录Dialogflow CX门户。选择项目CL2024AMS。(如果您在登录时遇到任何困难,请清除您使用的浏览器上的catch和cookie。)
第二步:单击Create Agent。然后选择Build your own。
第三步:使用以下格式提供新代理的名称: {Your Name}_Virtual_Agent 。选择location global(全球服务,美国静态数据)。
任务2.分配您为对话配置文件创建的座席。
注意:Dialogflow Conversation profile是一组配置设置,用于定义与用户进行对话时虚拟代理的行为。
步骤1:在左上角,单击Menu图标。
第二步:从菜单选项中选择座席协助。
第三步:在下一个窗口中,单击DATA部分下的Conversation profile。现在,为您的分区创建新的对话配置文件。
第四步:使用以下格式为对话配置文件创建名称: {Your Name}_Conversational_Profile 。
第五步:向下滚动并启用此会话配置文件的虚拟代理。单击Agents字段并选择您在前一个任务中创建的代理,然后单击Create。
第六步:创建会话配置文件后,将配置文件ID复制到记事本中,或者只需知道在Webex Control Hub中配置AI配置时,您可以在此处根据需要获取会话配置文件ID(本节中的任务4)。
任务3.配置Google Contact Center AI连接器
(此任务仅供参考)
使用您的用户帐户登录Webex Control Hub,选择联系中心服务并打开连接器。您可以看到Google Contact Center AI卡。此连接器专门用于Dialogflow CX代理。只有具有Cisco Project权限的用户才能创建此连接器。出于安全原因,此部分的用户没有此类权限,因此已为您预配置此连接器。在演示中,可以使用Dialogflow-CX连接器。
任务4.创建联系中心AI配置
步骤1:在Webex Control Hub中,转到联系中心服务,选择功能,然后单击新建。
第二步:在下一个窗口中,选择Contact Center AI Config。
第三步:使用以下格式为功能指定名称: {Your Name}_WxCC__Virtual_Agent。选择Dialogflow CX作为Google Contact Center AI Connector,然后发布您之前在任务2中看到的对话配置文件ID。
第四步:现在,您可以看到功能已创建。
配置Dialogflow CX Virtual Agent
目标
本部分介绍如何配置Virtual Agent以便与呼叫方进行对话,以及如何确定是将呼叫直接发送到具有人工座席的队列,还是收集估计信息并将数据发送到Analyzer报告。
在下一个屏幕截图中,您可以看到此部分的流程功能图。
任务1.导航到Dialogflow CX Agent流生成器并自定义初始问候语。
步骤1:使用您的用户帐户和密码登录到Dialogflow CX门户。选择项目CL2024AMS。
第二步:选择之前创建的Virtual Agent。
第三步:在Dialogflow CX生成器中,单击“开始”页面。
注意:在Dialogflow CX中,页面是一组包含一个或多个相关会话拐点的指令。它代表会话流程中的一个步骤,可以包含各种类型的内容,包括文本响应、用户输入的提示、执行操作等。页面连接在一起以创建对话流,引导用户与Dialogflow CX代理进行对话。
第四步:在开始页面中,点击默认欢迎意向路由。在右窗口中,向下滚动,删除所有默认座席响应,然后单击该字段以输入座席对话框。
注意:路由是意图与对话中的特定页面或流之间的映射。路由根据用户输入和匹配的意图定义会话的流向。
第五步:提供您的自定义消息,让呼叫者知道他们与提供Webex Contact Center销售服务的组织进行了联系。您可以键入类似内容:Hello!感谢您的来电。在这里您对Webex Contact Center了如指掌。在Dialogflow CX中,不会自动保存更改,因此每次进行更改时都需要保存页面。
注:座席回应是座席在对话期间发回给用户或呼叫方的消息或操作。当用户或呼叫方向Dialogflow CX座席发送消息或发出请求时,该座席将分析输入并确定要发回的适当响应。
第六步:测试您刚创建的代理响应。单击Test Agent并键入问候消息,如Hello。
任务2.创建新页面以收集来电者姓名
步骤1:关闭开始页面和测试代理窗口,然后单击加号图标(+)以创建新页面。将页面命名为Caller_Name并确认创建。
第二步:连接Start页和Caller_Name页。为此,请单击开始页面上的默认欢迎意图路由。向下滚动右侧,并选择您希望对话进入下一页。
第三步:从下拉列表中选择Caller_Name页。不要忘记保存更改。
第四步:配置Caller_Name页以从呼叫方收集名称并将其存储在参数中。在Caller_Name页中,单击Entry Fulfillment,然后键入您要询问呼叫方名称的消息。单击Add和Save更改。
注意:在将呼叫移至新页面后,需要使用条目执行向主叫方提供消息,以便主叫方知道他们在对话中的位置并设置正确的期望。
第五步:在Caller_Name页上单击Parameters,键入Name作为参数的名称,从预配置的实体列表中选择sys.any ,然后单击Save。
注意:参数是指在对话期间从用户输入中提取的命名实体或值。参数可用于存储与用户请求相关的信息,如姓名、出生日期或首选语言。参数还可用于将数据传递到应用程序的其他部分,例如联系中心。
第六步:在Caller_Name页中配置路由。单击Route,在右窗口中向下滚动到Condition并设置条件$page.params.status ="FINAL"。
Click Save.通过设置此条件,可以期望在前一步中创建的Name参数填充值后,呼叫移动到下一页。例如,如果呼叫方说Nick,则呼叫可以向前移动。
注意:Dialogflow路由配置中的条件是定义何时必须触发路由的一条或多条规则。条件可以基于各种因素,如用户输入、上下文、参数和会话数据。
步骤 7.使用右上角的Test Agent选项测试流此时是否按照设计工作。
任务3.创建新页Agent_or_Estimate,并将其与Caller_Name页连接。
步骤1:在左下侧,单击以添加新页,将其命名为Agent_or_Estimate,并确认创建。
第二步:连接Caller_Name和Agent_or_Estimate页。打开Caller_Name页,选择上一步骤中创建的路由,在右侧向下滚动并选择页面Agent_or_Estimate。不要忘记保存更改。
请记住,在本部分的任务2中,您配置了条件,即参数一旦填满,就会触发操作。通过选择下一页指定操作,在本示例中,呼叫将转移到页Agent_or_Estimate。
第三步:配置Agent_or_Estimate页的条目实施。打开Agent_or_Estimate页,然后单击Entry Fulfillment。在“座席”响应类型中:$session.params.Name您好!请告诉我您是要与座席通话还是要创建估价?
不要忘记保存更改。
注:如果无法复制和粘贴建议的履行,只需在代理响应字段中开始键入,然后即可粘贴文本,然后删除不必要的文本。
第四步:测试此时是否正确配置了会话流。单击Test Agent,然后在Talk to Agent字段中键入Hello,然后键入您的姓名。
任务4.在“Agent_or_Estimate”页中配置“路由”以将呼叫移动到新页“What_Kind_Of_Agent”。
步骤1:打开Agent_or_Estimate页,单击Create New Route,然后单击Create New Intent。
注意:意图是用户所说或键入的内容与对话座席可执行的特定操作或响应之间的映射。意图帮助座席了解用户请求并确定要采取的相应响应或操作。
第二步:将名称Intent Agent_intent。提供3-5个培训短语,例如座席、代表、上报、实际人员。不要忘记保存页面更改。
第三步:创建新页面并将其命名为What_Kind_Of_Agent。
第四步:点击Agent_or_Estimate页面。添加新的路由,选择意图。
第五步:在路由设置中,向下滚动并选择操作以将呼叫移动到页面What_Kind_Of_Agent。
第六步:为了获得更好的通信体验,您需要添加no-input-default Event handlers,否则即使在您有机会提供输入之前,系统也检测不到任何输入。在Agent_or_Estimate页上,单击Add state handler,选择Event handlers,然后单击Apply。
注意:事件处理程序是在特定事件发生时触发的一种意图。例如,如果Virtual Agent未收到任何输入或未识别输入,则事件处理程序用于触发无输入意图,帮助继续会话。
步骤 7.单击Add New Event handlers,从No-input default列表中进行选择并保存更改。
任务5.配置估价分支的路由并将Agent_or_Estimate连接到新页面Estimate_Details
步骤1:创建Estimate_Intent。在Agent_or_Estimate页面上,点击加号图标(+)添加新的路由并创建新的意图。
第二步:将目的命名为Estimate_Intent并提供一些培训短语。至于可以添加估价、价格计算等语句的培训短语,我需要知道它的费用。保存意图。
第三步:使用名称Estimate_Details创建新页。触发Estimate_Intent时连接Agent_or_Estimate和Estimate_Details页。
第四步:单击Agent_or_Estimate页。添加新的路由,并选择Intent Estimate_Intent。
第五步:向下滚动一点,然后添加在触发Estimate_Intent后呼叫方听到的座席响应。您可以键入类似内容,让我收集一些估价信息。
第六步:一直向下滚动,并在触发意图后选择交易记录到页面Estimate_Details。保存页面配置。
任务6.使用参数和工艺路线配置Estimate_Details页
步骤1:与创建呼叫方名称的参数相似,请为呼叫方需要其预估的座席数创建参数。点击Estimate_Details页,添加Parameter,将其命名为Number_of_agents,然后从列表中选择标准Entity类型sys.number。
不要忘记保存更改。
第二步:为呼叫方配置条目执行,以了解虚拟代理正在查找的信息。您可以键入类似内容,请告诉我您计划在联系中心拥有多少座席。
注:如果您无法复制和粘贴建议的履行,只需在Agent Responses字段中开始键入,然后即可粘贴文本,然后删除不必要的文本。
第三步:在Estimate_Details页面上选择触发操作的条件。在Estimate_details页中,单击add new Route,在右窗口中向下滚动一点并配置条件 $page.params.status =“FINAL” 。
第四步:向下滚动更多内容,然后添加Virtual Agent响应。类型:我正在汇总座 $session.params.Number_of_agents 席的估价请求详细信息。
第五步:添加对话框选项,并从列表中选择Custom payload。
将此下一个语法发布到Custom payload部分并保存配置。
{
"Execute_Request": {
"Data": {
"Params": {
"Estimate_Agents_Count": "$session.params.Number_of_agents"
}
}
}
}
注意:在JSON数据格式中,变量是表示对象属性的键-值对。键是用于标识属性的字符串,值是与属性关联的数据。
自定义负载包含关键字Estimate_Agents_Count,并且值是参数 $session.params.Number_of_agents。此参数根据主叫方响应而更改。
第六步:在Route部分向下滚动更多内容并设置Transition到End Flow。
它在Dialogflow端终止会话,并将呼叫转移到WxCC,然后从虚拟代理处理路径继续。
步骤 7.此时,测试您的虚拟代理流。
任务7.使用路由配置Estimate_Details页。
步骤1:创建两个附加意图:TAC_Intent和Sales_Intent。单击Manage,从Resources列表中选择Intents,然后单击Create。
说出意图并提供一些培训短语。例如,对于TAC_Intent,您可以添加短语,例如:TAC工程师、技术支持。
对于Sales_Intent,您可以指定诸如“价格”、“销售”等内容。
第二步:为TAC队列添加路由。返回队列,然后单击What_Kind_Of_Agent页。然后单击Add New Route,并选择上一步中为TAC队列创建的意图。保存路由设置。
第三步:向下滚动,然后添加在触发意图后呼叫方听到的座席响应。
第四步:通过选择Live agent handoff(正在切换座席),添加对话框选项,以将呼叫移到当前座席。
通过选择此选项,呼叫将移出流生成器中的虚拟代理V2块的升级输出。
第五步:在实时代理切换负载字段中,您可以以JSON格式添加数据,稍后可以在WxCC流中解析这些数据。在这种情况下,需要添加Type_Of_Agent (TAC)。TAC,可帮助您做出到流中正确队列的路由决策。
{
"dialogflow.ccai.live-agent-escalation": {
"Type_Of_Agent": "TAC"
}
}
第六步:将呼叫移至WxCC流后,在Dialogflow端结束该流。
步骤 7.执行与配置Sales队列的路由相同的步骤。单击Add New Route。选择Sales_Intent并保存路由设置。
步骤 8添加座席响应和实时座席切换对话框选项。
步骤 9一旦触发意图并将呼叫移至WxCC流,则结束此页面的流。
步骤 10向What_Kind_Of_Agent页添加Entry Fulfillment,以便呼叫方知道虚拟座席期待的应答类型。单击Entry Fulfillment字段并键入,如果您想与技术支持工程师交谈或想聊聊销售,请允许我。
步骤 11测试虚拟代理。
在Webex Contact Center Management Portal中使用虚拟代理配置流
目标
在本节中,您可以看到如何使用Virtual Agent块在Webex Contact Center Flow Builder中构建数据流,该块将呼叫移动到与活动座席排队的队列中,或者如何估计可以在何处提取关于估计座席数量的数据并用于Analyzer报告的分支。
任务1.创建新流。
步骤1:在Webex Contact Center Admin门户中,打开路由策略模块和创建新流条目窗口。
第二步:调用数据流{Your Name}_Virtual_Agent_Flow(如果可能,在启用模式下)。
任务2.为Analyzer报告提取估计数据的已配置已处理路径。
步骤1:将Virtual Agent V2移动到流并将其与NewPhoneContact块连接。
第二步:点击Virtual Agent V2块,在块设置下选择之前创建的联系中心AI配置或使用预配置的Virtual AgentDan_User1_Virtual_Agent。 此外,单击Advanced Settings,并将Termination Delay时间从3秒增加到5秒。
注意:Termination Delay是必须设置的时间范围,该值允许在Dialogflow的虚拟座席移动到Webex Contact Center之前完成音频提示。例如,如果处于Dialogflow VA配置时呼叫进入Live agent handoff之前有较长的响应,则它会剪切未完成的响应,这样呼叫就会移动到队列。
第3步:(仅供参考)了解呼叫相关数据如何从Dialogflow移动到Webex Contact Center。
当对话从Dialogflow传输到WxCC时,它会创建一些输出变量,这些变量包含JSON格式的数据,在呼叫方与虚拟座席交互时已在Dialogflow门户中生成。其中一个输出变量是VirtualAgentV2.MetaData。单击流生成器中灰色区域的任意位置并向下滚动右侧窗口,即可查看它。此输出变量包含您在自定义负载中指定的数据。
此处的目标是提取关于呼叫方请求进行预估的座席数量的信息。在上一部分中,您已创建名称为Number_of_Agents的参数。
并且,您使用自定义负载配置路由,其中,一旦填充参数,参数值将分配给密钥Estimate_Agents_Count,然后呼叫将移到WxCC端。
第四步:配置Virtual Agent Handled路径以提取预估数据并将其与全局变量关联。通过分析VirtualAgentV2_MetaData变量中的JSON数据,您可以提取Number_of_Agents参数值的值,并将其分配给WxCC环境中的新变量。您还希望变量可报告,因此您需要使用全局变量。在WxCC流生成器中,点击灰色区域的任意位置,然后在右侧窗口中单击Add Global Variable。
需要在WxCC管理员门户中提前创建全局变量Estimate_Number_of_Agents。然后,您只需选择它并单击“添加”。这使此全局变量可用于您的流。
第五步:添加Parse节点。在分析节点中,选择VirtualAgentV2.MetaData作为输入变量,从列表中选择您在上一步中添加的全局变量作为输出变量,然后使用此下一个字符串来分析JSON数据$.Params.Estimate_Agents_Count。
第步:6.使用播放消息节点验证结果并通知呼叫方。添加Play Message节点,Enable Text-to-Speech功能,选择TTS连接器,然后从列表中选择Output Voice。
步骤 7.添加断开连接联系人节点。然后再次单击Play Message,并在TTS字段类型中添加此文本到语音消息,谢谢。已创建{{Estimate_Number_of_Agents}}代理的预估请求,您的团队很快即可与您取得联系。
删除Audio File选项并发布流。
任务3.已升级以将呼叫移动到具有活动座席的相应队列。
步骤1:创建流变量并将其命名为Queue_Routing。
第二步:添加Parse节点并将其配置为将Dialogflow的Type_Of_Agent变量的值分配给Queue_Routing流变量。
第3步添加Case节点并使用变量Queue_Routing进行配置。在链接中,说明配置值TAC和Sales,因为这两个值是从Dialogflow门户移出的。
第四步:添加播放消息节点以验证呼叫是否转到TAC队列。使用TTS配置Play Message节点并键入类似如下内容的文本:感谢您的等待。TAC工程师很快就可以与您联系。
第五步:对销售队列执行相同操作。通知呼叫方呼叫可以立即连接到销售座席。
第六步:添加队列联系人块,并使用TAC_Queue进行配置。
步骤 7.添加其他Queue Contact,并使用Sales_Queue进行配置。
步骤 8将案例节点上的默认输出指向与销售队列相关的播放消息。验证并点击发布流。
任务4.将流添加到入口点。
步骤1:转到入口点并选择您的入口点。单击三个点以编辑入口点。
第二步:选择流和其他必填字段并保存入口点。
第三步:为入口点配置入口点映射。
任务5.测试您的配置。
完成所有这些配置后,请呼叫与您的入口点相关的DN并测试集成。
相关信息