基础资源
企业版对话平台的设计逻辑基于基础资源与平台管理+四大对话引擎(即任务对话、问答、图谱、闲聊)的方式,实现引擎可拼插,基础资源与平台管理横行支撑的基础架构。因此基础资源模块对四大引擎所需的全局变量、渠道、接口指令、专业词库等可以进行统一的配置和管理。
在新画布版本中,对话平台设计逻辑基于基础资源与平台管理和中控对话引擎(即任务对话、FAQ问答、知识库问答、表格问答)的方式。
全局变量
全局变量顾名思义可以用于整个平台,在整个平台其命名具有唯一性。它主要用来在一次会话中跨对话轮次保存数据和信息,可供任务式和问答中使用。为了方便使用,在任务对话的流程画布上还提供了变量管理的快捷方式。
在新画布版本中,预置了以下系统变量,用于在会话过程中记录必要的内容。
全局变量可以用来在一次会话中(session)保存一些用户输入或业务系统返回的信息,它可以在任务式会话、问答中被使用,进行节点赋值、webhook回传或者以占位符的形式({%&变量名%})与回复内容拼接在一起输出给用户。
接口指令
老画布版本接口指令主要用来与业务系统对接,接口(webhook)定义对接协议,指令用来定义业务系统支持的动作内容。
在构造智能客服过程中,需要通过对接部分业务系统来完成参数校验等,进而完成业务咨询、业务办理等与业务系统强相关的业务动作。在对话过程中,对接业务系统有两种方式,一种是跳转登陆页、收集按键等异步操作,通过core query接口中返回特定的action(指令),在完成指定的业务动作后,再通过core query接口传入约定好的特殊字符串或者context值来告知企业版平台业务处理的结果;另外一种是业务咨询(如余额查询)、业务办理(如转账)等,可通过webhook来完成业务系统的对接,通知节点中配置指令来告知业务系统执行动作,并返回给webhook相应结果。webhook作为与业务系统对接的适配层,按照webhook接口说明进行开发,负责对接业务系统,完成相应的业务动作,如参数校验、余额查询、转账等。
指令可以关联全局变量作为传入/传出参数。但这种关联局限在定义层面,不会对业务系统有任何约束和限制。业务系统实际通过会话接口中的context企业版进行数据交换。
接口
接口主要用来与业务系统或者第三方适配层进行对接,产品目前只支持对接单一地址。多数据中心版允许对接不同的数据中心。
填写响应的基本信息,并填写约定好的协议参数即可
在某一节点点击使用【启用webhook】后,当任务式会话执行到该节点时,平台会尝试通过接口处配置的服务地址获取相关的回传信息,回传参数中value会覆盖该节点配置的回复(为空则不覆盖),回传的context中的变量值则会与本地的context中的变量值进行合并(同名变量的值以最后被赋值的为准;在一个节点中先执行的是节点中的变量赋值,然后才从webhook中获取回传的变量值,所以一般情况下,在一个节点内如果有启用webhook,同名变量最终值是接口回传的值)。
指令
指令则是用来表明在对话过程中需要定义的一系列动作。在节点中选择了某个指令并且勾选webhook,那么该指令会通过接口传输到对应业务系统/适配层,如果不勾选指令会直接随会话接口透传出来供需要的模块/系统使用。
平台还支持对指令进行变量关联,关联以后在平台上使用指令时可以同时显示绑定的变量,便于配置人员进行配置和调试。
接口指令的与业务系统对接的过程详见文档:https://cloud.baidu.com/doc/ICS/s/9jzjkdwe0
动作指令
新画布版本采用动作指令方式,指令可以关联全局变量作为传入/传出参数。但这种关联局限在定义层面,不会对业务系统有任何约束和限制。
专业词库
专业词库主要用来定义一些业务或者行业专业词库,其有两个作用,一是在此处定义的词汇不会在自然语言处理过程中被分词,二是在语义识别过程中可以支持意图和FAQ识别规则模板的引用配置。
例如上图中,如果将租车术语的词库ID配置一个问答“租车保险怎么办理?”,配置模板为“[$rent_car]怎么办理?”那么当用户表述交强险怎么办理时,同样也会命中该问答。
敏感词库
敏感词库主要用来定义业务或者通用的敏感词,类似于黄反词、政治敏感词、不文明用语等;敏感词库的设置主要控制:
1、管控运营人员维护回复给终端用户的内容不要包含敏感词汇
2、用户问法触发敏感词时可以根据配置的策略进行特殊的处理或者回复
渠道管理
通过渠道管理,可以针对性地对渠道中不同维度组合来源的用户设置不同的答案。一个Agent下最多支持3个维度,不同维度中的维度值组成最终的渠道值,示例:维度为【地域】与【应用端】,维度值可为【武汉】与【app】,渠道值可为【武汉-app】、【北京-app】等。
渠道管理分为"基本维度"和"特殊渠道值设置",基本维度用于管理基本的维度信息,包括维度的新建、编辑、删除、继承性以及下级维度值的设定。
点击“添加维度”按钮,填写维度编号、维度名称、描述、并选择此渠道下的问答中未设置该维度答案时是否允许继承上一级维护的答案。
添加并维护维度值后,在会话引擎的配置模块(目前只支持问答)就可以单独设置该渠道值的答案,当最终业务终端调用接口时附上了此渠道值对应的维度编号组合,平台即会返回配置为此渠道值的答案。
不同的维度之间可以设定优先继承的维度,此设置决定了当渠道包含多个维度时,不同维度之间优先继承哪个维度,例如第1继承优先级选择了"示意维度",第2继承优先级选择了"维度1",当问答库没有维护对应渠道值的特殊答案时,会优先继承第1优先级维度中设置好的维度所属的上级维度配置的答案。
特殊渠道值用于管理渠道值的上线/下线,并设置无通用答案时是否采用通用答案进行回复。
最终业务端调用接口回传的渠道值为下线的渠道值时,会回复问答库中设置的通用答案。移除某渠道值的特殊设置后,此渠道值会恢复到上线状态。
第三方服务
第三方对话引擎
第三方对话引擎可接入完整的对话服务能力,对query进行识别理解且可做出相应答复;系统支持通过第三方引擎的方式接入其他的对话服务能力。其接入方式类似于webhook。配置完成后,即可调用第三方引擎。但还需要在Bot回复优先级中配置该引擎的回复策略,中控才会在统一调度时该符合情况的回复进行输出。
第三方理解模型
第三方理解模型是仅对query进行识别理解,但不做相应答复,支持用户添加第三方实体、意图、情绪、态度模型,模型添加完成后,需在对应Bot中选择模型生效并对融合优先级排序,方能在对话中识别生效;
Bot设置-基本设置-第三方理解模型,可对模型进行选择生效和融合优先级设置;
选择生效模型:可按照创建的第三方理解模型类型选择需要生效的模型,同一类型最多生效3个模型,默认状态下不勾选;
融合优先级设置:第三方理解模型识别策略,用户可将选择生效的各类型第三方理解模型以及平台识别结果按照优先级排序,然后按照优先级进行识别结果的融合,最终以融合后的结果进行返回;
第三方大模型对话引擎
为了扩大平台的开放性,支持支持接入各种大模型能力,并且支持prompt配置以及流式/非流式交互选择等。
在第三方服务中,存在第三方大模型对话引擎,用户可在此处对使用的第三方引擎进行管理。
在点击新建按钮后,即可添加大模型对话能力,以下为重点字段介绍:
- 引擎ID:该引擎存储在系统中大模型引擎id
- 引擎名称:该引擎存储在系统中大模型引擎名称
- 对话方式:引用的大模型能力交互方式是否为流式/非流式
- URL地址:需要请求的URL地址
后续,进入到BOT管理-回复优先级页面在大模型层可以新增自定义规则
可在此配置prompt以及错误话术配置:
- Prompt设定:若只需传入query,可不填写Prompt 内容;若有Prompt设定需求,将用户query与文本使用{ }隔开,如:作为一位AI专家,请回答以下内容{query},并且回复内容在100字以内。
- 错误话术配置:若大模型返回的首句(流式)/包含(非流式)以下内容,则认为其回复不正确;若不配置,接口返回任何内容,则认为其已解决用户问题;
满意度评价
新画布支持满意度评价模板设置,一个租户中可配置一个或多个评价模板,不同的bot按照实际情况可引用不同的评价模板,按照业务实际情况可在FAQ问答、新画布动作指令中配置满意度执行指令,来满足满意度评价诉求。
满意度评价模板可按照实际业务情况配置1-10级评价,同时可按需设置是否开启评价详情,用于用户反馈更详细的评价内容。
在新画布中配置触发满意度评价,当要结束bot与用户对话,添加动作-指令,在指令中选择system_usersatisfaction内置动作指令
在FAQ问答中配置触发满意度评价,
在bot中配置满意度评价,开启满意度评价后,选择bot绑定的评价模板,当bot对话过程中触发system_usersatisfaction指令,则输出bot绑定的满意度评价模板