DialogFlow:在意图之间以及从先前上下文到当前上下文传递参数的简单方法?(不使用填充)

Tao*_*Tao 2 dialogflow-es

您好,我\xe2\x80\x99m 寻找在意图和上下文之间传递值的简单解决方案。

\n

I\xe2\x80\x99ve 尝试为意图 A 设置输出上下文 (c1),并使用 c1 作为意图 B 的输入上下文。但是,I\xe2\x80\x99m 无法访问意图 B 中的参数值。我必须使用fulfillment来实现这个?

\n

另外,我还想在下次触发意图A时使用意图A之前的参数\xe2\x80\x99值。再说一次,我们可以在不使用fulfillment的情况下做到这一点吗?

\n

如果满足是必要的,您能给一些指导吗?

\n

San*_*nty 5

可以通过控制台本身来访问从一个意图到另一个使用上下文的意图的参数值。也可以使用 Fulfillment Webhook 响应,但对于您的用例,这可以从控制台本身完成。

\n

您可以参考以下复制步骤:

\n
    \n
  • 在默认欢迎意图的文本响应中 添加嗨,你叫什么名字?并添加输出上下文waiting_name
  • \n
\n

在此输入图像描述

\n
    \n
  • 创建另一个 Intent Get Name并在其中传递 \xe2\x80\x9c waiting_name \xe2\x80\x9d 作为输入上下文。传递一些训练短语,例如“john,sandeep,jacob”,并将其与@sys.given.name实体一起映射。
  • \n
  • 在获取名称意图中,文本响应是Ok $name,您的电子邮件地址是什么?。在此意图的输出上下文字段中添加waiting_email 。
  • \n
\n

在此输入图像描述

\n

在此输入图像描述

\n
    \n
  • 创建另一个意图 \xe2\x80\x9c获取电子邮件\xe2\x80\x9d 并在输入上下文中添加waiting_email 。添加训练短语,如“sandeep@abc.com”、“john@xyz.com”,并将它们映射到@sys.email实体。
  • \n
\n

在此输入图像描述

\n
    \n
  • 当您想要从另一个意图获取参数值到使用上下文的当前意图时,您需要根据此文档通过#context-name.parameter-name调用它。
  • \n
  • 我的最终输出响应是感谢#awaiting_name.name,我们将很快通过 $email 与您联系
  • \n
\n

在此输入图像描述

\n