如何在dialogflow中获取输出上下文?

时间:2019-06-14 05:59:41

标签: dialogflow

我创建了机器人,它包含两个意图,每个意图具有20个后续意图,在完成一个意图后,它将自动调用后续意图。因此,问题在于用户是否回答了10个提示,即最多10个跟进意图,并且一段时间后,用户希望从第11个跟进意图继续。有没有可能这样做。目前,我正在保存用户先前对话的数据并尝试从该对话点开始,但是在开始对话后,它会自动询问第11个跟进意图提示,然后再次转到默认的欢迎意图,而不是继续执行第十二个跟进意图。

2 个答案:

答案 0 :(得分:1)

除了我们在上下文中设置的lifeSpan之外,上下文还有一个时限。 10分钟后,所有上下文都将过期,因此可能是您遇到的问题。
在文档中,给出的超时时间为20分钟,但是经过大量测试,观察到超时确实为10分钟。

您可以做的是在每次调用之后将上下文存储在某些缓存或数据库中,并且在调用Dialogflow之前,将上下文与来自缓存/ DB的查询一起追加。
我做过同样的事情,并且运行正常。

希望有帮助。

答案 1 :(得分:0)

我不知道您是否这样做,但是我建议将每个输出上下文的寿命设置为1。如果您正在使用实现功能,则可能还需要以编程方式修改输出上下文。您说您已经在跟踪上一个对话,所以我假设以编程方式设置它对您来说是一个可行的解决方案。