Dialogflow es Google dialogflow如何使用动态响应字符串?

Dialogflow es Google dialogflow如何使用动态响应字符串?,dialogflow-es,Dialogflow Es,我想做一个简单的对话。我做了一个简单的对话,问一个人他想打电话给谁,然后说如果一个人有空/没有空,这只是一个短信回复。当一个人不在时,我可能有3个用户可以做的动作,留下语音邮件,重定向到同事,或者等到这个人有空 因此,我将返回的消息是“对不起,nameOfPerson不可用,您想留下语音邮件,重定向到同事,还是等到nameOfPerson可用?” 这是可行的,但我如何才能做到这一点,让我们假设没有语音邮件,目的只是回答“对不起,人员姓名不可用,您想重定向到同事还是等到人员姓名可用?” 目前,我所

我想做一个简单的对话。我做了一个简单的对话,问一个人他想打电话给谁,然后说如果一个人有空/没有空,这只是一个短信回复。当一个人不在时,我可能有3个用户可以做的动作,留下语音邮件,重定向到同事,或者等到这个人有空

因此,我将返回的消息是“对不起,nameOfPerson不可用,您想留下语音邮件,重定向到同事,还是等到nameOfPerson可用?”

这是可行的,但我如何才能做到这一点,让我们假设没有语音邮件,目的只是回答“对不起,人员姓名不可用,您想重定向到同事还是等到人员姓名可用?”

目前,我所看到的解决这一问题的唯一方法是在所有不同的上下文中做出7个意图,如:

Intent1: voicemailContext
Intent2: redirectContext
Intent3: voicemailContext, redirectContext
Intent4: waitingContext
Intent5: WaitingContext, redirectContext
Intent6: waitingContext, voicemailContext
intent7: waitingContext,redirectContext, voicemailContext

所有这些工作,仅仅是一个小的调整似乎是复杂的方式。另外,目前我正在电话中发送这些选项,我不希望这样,因为人们也可以直接说出这些选项并获得匹配项,Dialogflow在处理逻辑方面非常糟糕。正如您所见,您可以这样做,但这确实会导致过于复杂的模型。需要记住的一点是,意图可以很好地模拟用户所说的内容,但是你仍然要对你所做的事情负责

在许多情况下,更好的方法是将逻辑放在实现webhook中。这使您的代码能够确定最佳响应是什么,并发送该响应。根据您希望如何组织回复,您还有一些其他选项:

  • 您可以在回复中发回上下文。这将限制用户回复时可以触发的意图
  • 另一种方法是对回复只有一个意图,但使用实体来表示它们可以做什么。然后让你的履行再次确定他们给你的答复是有效的还是无效的,并做出相应的回应

    • Dialogflow在处理逻辑方面非常差。正如您所见,您可以这样做,但这确实会导致过于复杂的模型。需要记住的一点是,意图可以很好地模拟用户所说的内容,但是你仍然要对你所做的事情负责

      在许多情况下,更好的方法是将逻辑放在实现webhook中。这使您的代码能够确定最佳响应是什么,并发送该响应。根据您希望如何组织回复,您还有一些其他选项:

      • 您可以在回复中发回上下文。这将限制用户回复时可以触发的意图
      • 另一种方法是对回复只有一个意图,但使用实体来表示它们可以做什么。然后让你的履行再次确定他们给你的答复是有效的还是无效的,并做出相应的回应

      yhea我想它应该使用实现来做这样的事情。我目前有一个版本正在运行。好吧,我仍然想知道如何在回复中返回上下文?我正在使用dialogflow python库,找不到是否或如何执行此操作。如果您还有其他问题,最好将其作为新的StackOverflow问题提问,显示尽可能多的信息,比如你的来源。yhea我想它应该使用实现来做这样的事情我目前有一个版本正在运行。好吧,我仍然想知道如何在回复中发送一个上下文?我正在使用dialogflow python库,找不到是否或如何执行此操作。如果您还有其他问题,最好将其作为一个新的StackOverflow问题进行提问,尽可能多地显示信息,例如源代码。