首页 文章

Dialogflow webhook - 首先完成当前的Intent,然后触发另一个Intent

提问于
浏览
0

假设我有两个意图 QuotationIntentSalesRepresentativeIntent . QuotationIntent 从用户获取一些输入并通过web-hook返回适当的结果 . 成功完成后,我想触发 SalesRepresentativeIntent 与用户核实他们是否希望我们的销售代表给他们打电话 . 我可以通过events触发意图 . 但问题是跳过 QuotationIntent 履行消息 .

enter image description here

我不想直接向 QuotationIntent 添加后续意图,因为有许多意图我将不得不触发 SalesRepresentativeIntent .

你能告诉我如何实现这个目标吗?提前致谢 .

1 回答

  • 0

    你可以在这里使用上下文 . 在 QuotationIntent 中添加输出上下文“ QuotationDone ” . 使用与 SalesRepresentativeIntent 的输入上下文相同的上下文 . 这样 SalesRepresentativeIntent 将仅在 QuotationIntent 完成时触发 .

    要触发 SalesRepresentativeIntent ,您需要添加"user says"短语并训练您的座席或将EVENTS添加到您的意图中 .

    这样,只有满足以下条件时才会触发 SalesRepresentativeIntent

    if((inputContext is present) AND (event is triggered OR user says phrase is present)){
          trigger `SalesRepresentativeIntent`
    } else {
          fallback intent called
    }
    

    您可以执行任务的另一种方法是使用SLOTS . 在单一意图中,您可以收集多个参数 . 添加要收集的参数 . 在你的情况下,无论你在 QuotationIntent 中收集什么,你都可以在前几个参数中收集它并根据需要制作它们,然后在 SalesRepresentativeIntent 中你需要收集的东西,你可以在同一意图中收集其他参数 . 按照您希望机器人向您的用户询问的顺序排列参数的顺序 . 这样,您的响应将根据从用户收集的参数自动询问 .

相关问题