Dialogflow CX:如何将会话参数用作表单参数?

Dialogflow CX: How to use a session parameter as a form parameter?

我想让我的聊天机器人查看目前它知道的会话参数。但是,有些是可选的。因此,虽然我可以在输入对话中简单地说明其中的大部分内容,但我想仅在已经填写的情况下说明其中的一些内容。这样做之后,我想转到下一页。 我的计划如下:

但是,我真的不知道如何让参数检查以前填写的会话参数。简单地在会话参数之后命名参数并不能解决问题。

不知道我是否完全理解你的问题:我是这么理解的。

  1. 您有一些 session.params 总是 存在 -> 您在输入对话框中说明它们。
  2. 你也有 session.params 有时 出现 -> 你想知道如何在对话中仅在它们被填充时陈述它们。

如果是这种情况,我可能会想出两个解决方案:

选项 1 假设页面名为 Recap。作为 Recap 的入口对话,您可以添加您在第一个项目符号中写的内容:“到目前为止,我知道 $session.params.something 和 $session.params.something -其他".

然后我会添加两个单独的条件路由:

  1. 首先检查可选参数是否全部填写。如果已经填充了一些可选参数,您可以在转到下一页之前在此处添加一个说明此可选参数的实现。

  2. 第二个只是跳到下一页,因为$session.params.optional会为空:注意按这个顺序排列!

选项 2 第二种选择可能是建立你自己的条件响应:所以去进入对话,然后添加对话选项,然后是条件响应。此块允许您编写自己的条件,例如:

if $session.params.optional != null
  So far I know that $session.params.something and $session.params.something-else. I also know that $session.params.optional
else
  So far I know that $session.params.something and $session.params.something-else.
endif