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

DialogFlow: simple ways of passing parameters between intents and from previous context to the current context? (Without using fullfillment)

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

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

另外,我也想在下次触发intent A时,使用intent A之前的参数值。同样,我们可以不使用 fullfillment 来做到这一点吗?

如果fullfillment是必不可少的,你能给点指导吗?

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

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

  • Default Welcome Intent 的文本响应中添加 Hi what is your name? 并添加输出上下文 awaiting_name.

  • 创建另一个 Intent Get Name 并在其中传递“awaiting_name”作为输入上下文。传递一些训练短语,如“john,sandeep,jacob”,并将其映射到 @sys.given.name 实体。
  • 在 Get Name Intent 中,文本响应是 好的 $name,你的电子邮件地址是什么?。在此意图的输出上下文字段中添加 awaiting_email

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

  • 当你想从另一个意图获取参数值到使用上下文的当前意图时,你需要通过 #context-name.parameter-name 调用它根据这个 doc.
  • 我的最终输出回复是谢谢#awaiting_name.name 我们会尽快通过 $email
  • 与您联系