问题描述
我有一个定义为列表的参数。当我在“ {Agent Says””框中引用该参数时,例如quick start guide,我会在Agent响应文本中得到带有括号的列表。
实现响应文本:
那是$session.params.supported_toppings
的比萨。
代理模拟器响应: 那是[意大利辣味香肠]披萨。
我到处都是CX和ES的文档,但是在创建Webhook之外,我似乎找不到任何解压缩列表的方法(出于某种原因,我试图避免这样做)。有什么想法吗?
解决方法
我今天检查了引用参数时静态响应的行为,看来我们现在可以显示某个参数的值列表,而响应中没有方括号。
这是以下格式: $ session.params.parameter-name 我曾经在响应中显示列表。测试结果如下。
此外,对于Dialogflow ES Edition,它受支持。它使用格式 $ parameter-name 返回特定参数的值列表。这是ES代理的示例:
,检查会话参数引用后,格式应如下:$session.params.parameter-id[i]
有关更多信息,请参见此处:https://cloud.google.com/dialogflow/cx/docs/concept/parameter#session-ref
这是我最终完成的一个示例测试:
根据上面的屏幕截图,引用isList
参数的格式有效。
如果您对isList
参数有预期的值数量,则可以使用静态响应来实现:https://cloud.google.com/dialogflow/cx/docs/concept/fulfillment#static。您可以根据要返回的参数添加多个响应,如提供的示例所示。