如何在 Dialogflow V1 中触发不同的 Intent

How to Trigger a Different Intent in Dialogflow V1

我很清楚 Dialogflow V1 将于 2020 年 5 月底弃用。但是,我想知道是否有人知道如何通过 webhook fulfillment 在 Dialogflow 中触发意图?我 google 在过去的几天里四处搜索,似乎达成了共识,即虽然事件可用于触发意图匹配,但不应使用它们。现在,我有 javascript 函数发送带有上下文的 webhook 响应。我将该上下文放入我的 dialogflow 意图上下文输入中,但是当我 运行 代理时,从未触发意图。

Javascript代码:

function createTextResponse() {

    let response = {
        "speech": "Nice! Let's keep going.",
        "displayText": "displayed response",
        "contextOut": [
            {
              "name": "trythis",
              "lifespan": 5
            }
          ]
    }    

    return response;
}

这是我的背景图片 contexts in dialogflow 最近在这方面遇到了困难,非常感谢任何 help/explanation 以便我可以继续前进。

首先,请记住 Intents 表示 用户所说或所做的事情 而不是您对它们的反应。所以一般来说 "trigger an Intent" 没有意义。这就是为什么建议通常是不要使用事件 - 虽然它们在有限的情况下确实有意义,但这些情况通常代表用户事件而不是您的程序试图做某事。

如果你想让你的成就感做某事——就去做吧。多个 Intent 处理程序都可以调用相同的函数以相同的方式响应。

设置上下文不会自动触发意图。为 Intent 设置输入上下文限制了可以触发 Intent 的条件。虽然它仍然需要匹配其中一个训练短语,但它还需要所有输入上下文都处于活动状态。

这正是提供活动的目的。就 invoke an event from your webhook.