变量管理

变量可以十分灵活地用于用户当前对话流中,可以通过服务节点进行赋值,并在其他节点中使用${botVar.全局变量名}进行引用。

创建变量

路径:多轮对话>变量管理

操作:在变量管理内,创建和管理机器人全局变量

image.png

变量调用示例:

在输入框中输入“$”符号即可出现变量的提示信息,“botVars.”的前置符号即为全局变量。

image.png

image.png

image.png

image.png

表达式配置说明

在配置变量赋值时,可能需要一些系统设定的参数:环境参数、服务返回参数、系统参数。

这里主要说明一下每种参数的具体含义。

image

  • 环境参数

    image

    ${envVars['CURRENT_QUERY']}:用户QUERY。

    ${envVars['APP_ID']}:机器ID。

    ${envVars['SENDER_ID']}:C端用户ID。

    ${envVars['SENDER_NICK']}:C端用户名称。

    ${envVars['SESSION_ID']}:会话ID。

    ${envVars['CHAT_ID']}:请求 ID。

    ${envVars['VENDOR_PARAM']}:随路数据。

    ${envVars['EMOTION_POLARITY']}:情绪极性。

    ${envVars['EMOTION_NAME']}:情绪名称。

    ${envVars['CURRENT_DATE']}:当前日期。

    ${envVars['CURRENT_TIME']}:当前时间。

    ${envVars['CURRENT_TURN']}:当前对话轮数。

  • 服务返回参数

    image

    ${svcVars['functionOutput']}:全局服务返回结果。

  • 系统函数

    image

    ${sysGetRandom(n)}:返回指定范围[1,n]内的随机数字。

    ${sysFormatDate('format')}:按自定义格式输出时间。

    ${sysAddDate(day)}:基于当前时间增加若干天输出,格式yyyy-MM-dd。

    ${sysAddTime(second)}:基于当前时间增加若干秒输出,格式HH:mm:ss。

    ${sysUnescapeJson('str')}:解码JavaScript中被转义的字符串。

    ${sysIntervalDays('startDate','endDate')}:计算开始与结束时间间隔,格式yyyy-MM-dd。

    ${sysIntervalSeconds('startTime','endTime')}:计算开始与结束时间间隔,格式HH:mm:ss。

    ${sysFormatStrDate('source','format')}:时间格式转换,将原有yyyy-MM-dd HH:mm:ss格式的时间转换成自定义格式。