代码之家  ›  专栏  ›  技术社区  ›  sid8491

调用函数、意图名称或操作的最佳实践是什么?

  •  5
  • sid8491  · 技术社区  · 6 年前

    在DialogFlow中,我们可以根据意图名称或操作触发函数并执行任务。

    我们应该用哪一个来决定?什么是更好的练习?

    2 回复  |  直到 6 年前
        1
  •  4
  •   gmolau    6 年前

    我问过 similar question 在过去,我尝试过意图功能和动作功能模式,我认为动作几乎是完全无用的。它们的唯一好处似乎是,您可以将同一操作附加到多个意图,但如果有任何我希望具有相同意图的内容可以由多个函数根据特定的上下文和参数进行处理。这源于一个设计目标,即与其拥有许多简单的多用途意图,不如拥有更少的多用途意图,尽管后者可以说是许多Google文档所隐含的模式。

    在概念上,我认为将实现功能看作 finite state machine ,其中状态由传入的webhook请求定义,即 (intent, contexts, parameters, event) 再加上其他元数据,比如语言环境和表面功能。我还没有找到向这个模型添加任何内容的操作。

        2
  •  2
  •   Prisoner    6 年前

    在大多数情况下,这无关紧要。@gmolau所描述的方法是一个很好的方法,我认为它们非常合适。

    当然,文档越来越倾向于对所有内容使用意图名称,而不是对操作使用意图名称。

    我认为使用动作名称而不是意图名称最有意义的情况是,当您有不同的意图时,这些意图可能会响应同一短语,并最终执行相同的操作,但仅在特定的上下文中。这样,您就可以为在Dialogflow端调用的内容执行逻辑,而不必针对多个意图注册同一个处理程序。