Dialogflow es 在Dialogflow中给出一个变量响应,而不在实现中硬编码

Dialogflow es 在Dialogflow中给出一个变量响应,而不在实现中硬编码,dialogflow-es,dialogflow-es-fulfillment,Dialogflow Es,Dialogflow Es Fulfillment,我正在开发一个Dialogflow聊天机器人,目前我正在使用agent.add()给出在实现中硬编码的响应。但是,产品负责人希望能够修改措辞,而不必更改和重新部署代码。除了将响应存储在文件或数据库中之外,还有哪些选项?当您将变量添加到Dialogflow控制台的response部分时,是否有一种方法可以在响应中包含变量,该变量在实现中设置,但在其他情况下,响应是根据控制台中的响应给出的?是否有一种方法可以从Dialogflow控制台中设置的响应中选择要给出的响应?我正在使用nodejs实现库,但

我正在开发一个Dialogflow聊天机器人,目前我正在使用agent.add()给出在实现中硬编码的响应。但是,产品负责人希望能够修改措辞,而不必更改和重新部署代码。除了将响应存储在文件或数据库中之外,还有哪些选项?当您将变量添加到Dialogflow控制台的response部分时,是否有一种方法可以在响应中包含变量,该变量在实现中设置,但在其他情况下,响应是根据控制台中的响应给出的?是否有一种方法可以从Dialogflow控制台中设置的响应中选择要给出的响应?我正在使用nodejs实现库,但没有在谷歌上执行任何操作。

我认为您有两种选择:

  • 仅对各种参数使用一个意图

    在一个意图中可以有多个响应变体。这些将根据它们可以填充的最大参数进行优先级排序。例如,如果使用
    detectinent
    将参数“a”发送到单个意图,则此处的第二个响应将被触发并显示给用户

    这是一个没有参数的响应1


    这是一个带有参数$a的响应1
    解释很少,问题太多!如果你能更具体地列举一些你想要达到的目标,那就更好了。为什么不在Dialogflow上的意图下使用Response?我想按照您的建议使用意图下的Response作为Dialogflow控制台。我想知道是否可以在响应字符串中使用变量,这些变量可以从实现中操作,或者从实现中列出的响应中选择一个响应。通常,这些回答中的一个是随机选择的。是的,这是可能的。您可以创建自定义参数和实体,并从代码隐藏中访问它们。请记住,当您“为此意图启用webhook调用”时,如果您想在意图和实现中添加响应,那么意图中的响应将作为备份。仅当履行中的响应失败时才会触发。