这是我在使用 dialogflow CX 时遇到的错误的详细信息
我的机器人旨在从起始页面转到不同的流程,从每个流程转到其他任何流程并返回到起始流程。
最近,我注意到如果我们在同一会话中调用流超过 3 次,我们会在第 4 次出现以下错误:
检测到超过 10 个嵌套流转换
当我们转到任何 3 个流程并且在执行第 4 个任务时发生相同的错误时,也会发生这种情况。
这是我在使用 dialogflow CX 时遇到的错误的详细信息
我的机器人旨在从起始页面转到不同的流程,从每个流程转到其他任何流程并返回到起始流程。
最近,我注意到如果我们在同一会话中调用流超过 3 次,我们会在第 4 次出现以下错误:
检测到超过 10 个嵌套流转换
当我们转到任何 3 个流程并且在执行第 4 个任务时发生相同的错误时,也会发生这种情况。
我遇到了同样的问题,经过一番研究,我找到了解决方法。问题是,通过从一个流到另一个流,您并没有“关闭”它们,并且对话流发现自己处于 10 级嵌套对话中:要解决它,您每次去其他任何地方都需要关闭流。
默认情况下,Dialogflow 将尝试坚持对话流,直到它到达 end。如果在对话中,您转到另一个流程,它会跟随页面直到流程结束,然后返回上次访问的流程并继续进行,直到它也完成该流程,依此类推,直到“结束会话”。
这使您可以建立与“主要路径”有偏差的复杂对话,但当您有多个“主要路径”时更难处理。
我最初将我的机器人设计成和你的一样,但遇到了同样的错误,所以我不得不改变策略。我做了如下:
检测到超过 10 个嵌套流转换
所以现在,每次对话开始时:
唯一需要测试的是不能从其他流跳转到其他流,但是每个流只能从主流访问(这样可以避免卡在对话里面)。