开放能力
开发平台
行业应用
生态合作
开发与教学
资讯 社区 控制台
技术能力
语音技术
文字识别
人脸与人体
图像技术
语言与知识
视频技术
AR与VR
数据智能
场景方案
部署方案
行业应用
智能教育
智能医疗
智能零售
智能工业
企业服务
智能政务
信息服务
智能园区

选择节点

作用

  如果有多个选项,期望通过选择不同的选项来进行对话,可以使用选择节点。比如:问题或商品推荐,根据用户的选择,给出对应的结果;病人问诊场景,引导病人选择身体情况,根据不同情况给出最终答复。

实现需求

  • 机器人给用户推荐热门旅游城市,用户选择城市之后给出对应的回复。

用户:旅游城市

机器人:为您推荐如下热门城市:北京,重庆,香港,上海,深圳

情形1,选一个
用户:北京

机器人:北京的介绍如下

情形2,全选
用户:都想去

机器人:多个城市介绍如下

情形3,都不选
用户:不想去

机器人:好的,以后再为您推荐

配置方法

  • 流程图如下:

完整流程图

  • 拖拽一个选择节点,添加询问话术,该话术是进入节点后机器人主动询问的语句。定义获取选择结果的变量,该变量存储的结果是一个列表,用于在后面的连线节点做判断,还可用于在答复节点配置答复内容。

选择节点配置

  • 选择内容配置

    • 自定义内容

      • 编辑选项内容,选择内容为展示的选项;还可为选择内容补充附加信息,可进行选择和答复配置,附加信息为key-value形式;key为附加信息左侧数据,value为右侧数据。数据格式详见使用全局变量下的图片。

选项内容配置

  • 使用全局变量

    • 先使用自定义节点定义一个列表结构的全局变量,然后使用该变量。一个选项为列表中的一个字典数据。字典中,option必须配置,对应展示的选择内容;其他的key-value是附加信息,可选。

变量定义格式

  • 配置不同选择情况下连线节点的判断条件

    • 选一个:

      • 模式:编程模式
      • 判断方式:获取选择结果赋值的变量列表长度是否等于1
      • 写法:len(svc_vars['变量名']) == 1

      选一个连线节点编程模式配置

      • 模式:可视化模式
      • 判断方式:判断用户选择的选项是否为某一个选项内容,因为只有一个,所以下标为0

      选一个连线节点可视化配置

    • 全选:

      • 模式:编程模式
      • 判断方式:获取选择结果赋值的变量列表长度是否大于1
      • 写法:len(svc_vars['变量名']) > 1
    • 不选:

      • 模式:编程模式
      • 判断方式:获取选择结果赋值的变量列表长度是否等于0
      • 写法:len(svc_vars['变量名']) == 0

连线节点配置

  • 配置答复节点

    • 选一个:

      • 内容:使用变量信息作为答复内容
      • 写法:{$变量名[0].key},0为选中的列表元素,key为需要获取的数据名称
    • 全选:

      • 内容:使用变量信息作为答复内容
      • 写法:{$变量名[i].key},i为列表中元素下标,key为需要获取的数据名称
    • 不选:

      • 内容:自定义任意内容

答复节点配置

  • 保存发布之后按照配置对话。

    • 选一个

    选一个对话

    • 全选

    全选对话

    • 不选

    不选对话

注意

  • 选择节点中,选项内容与附加信息最多10个。
  • 附加信息为选项内容的补充信息,根据实际业务情况选择是否配置。
  • 选择结果赋值的变量是一个列表,列表中是一个或多个字典。获取字典中数据的基本格式:{$变量名[i].key},i为列表中元素下标,key为需要获取的数据名称。
  • 进行选择时,支持多种格式的话术:

    • 选一个:序数指代(例如:第一个、第2、最后一个,倒数第3个),模糊指代选项内容(例如:北京、就选北京吧),模糊指代附加信息内容(例如:天安门、想去天安门)
    • 不选:不要,不想去,都不要
    • 全选:全要,全部,所有的,选所有,选全部
  • 全选和不选的连线判断需使用编程模式。
  • 如果选一个的连线条件用的可视化,该连线的优先级需要比全选的低。

接下来

  接下来为大家介绍变量控制节点怎么使用。

上一篇
肯定否定节点
下一篇
变量控制节点