如何在Watson Assistant的option响应中展示$Detected_Foci动态数组值
Watson Assistant 动态将上下文数组转为Option响应的实现方法
- 首先进入识别出@Focus实体后的对应对话节点,打开响应配置面板,将默认的文本响应类型切换为**选项(option)**类型
- 无需手动添加静态选项,在option配置的「源」字段中选择「表达式」,输入以下SpEL遍历代码:
<? $Detected_Foci.[{ "label": @, "value": { "input": { "text": @ } } }] ?>
- 表达式逻辑说明:
$Detected_Foci.[]是Watson Assistant内置的数组遍历语法,会逐个读取数组内的元素- 遍历过程中当前元素用
@指代,上述代码直接将数组取值同时作为选项的显示文本(label)和用户点击后提交给助手的输入文本,你可根据业务需求自定义value的返回结构
- 异常兼容处理:
可在该节点前新增一个条件判断分支,先校验
<? $Detected_Foci.size() > 0 ?>,条件成立时走option响应分支,不成立时返回兜底提示,避免出现无选项展示的异常情况
验证示例:当$Detected_Foci取值为["Sales contract law", "Contract law"]时,上述配置会自动生成两个对应文本的选项,用户点击即可触发对应回复逻辑。
内容的提问来源于stack exchange,提问作者Aymal Khan
相关产品推荐
相关产品推荐

