【问题标题】:In Google DialogFlow CX, is it possible to call on an external API, then get the callback response after 15min?在 Google DialogFlow CX 中,是否可以调用外部 API,然后在 15 分钟后获得回调响应?
【发布时间】:2021-07-28 17:55:34
【问题描述】:

我正在使用一个外部 API,它会在 15 分钟内完成一些工作,完成后它将调用您在初始请求中定义的任何 URL 以将结果发送到。

dialogFlow 有可能在 15 分钟内接受这个结果吗? DialogFlow 中是否有类似内置的异步响应处理程序?

【问题讨论】:

    标签: dialogflow-cx


    【解决方案1】:

    如果您通过 webhook 调用外部 API,则最长 webhook timeout limit 将受到 30 秒的限制。超过响应超时后,Dialogflow 会调用webhook error 或超时built-in event 并照常继续处理。因此,Dialogflow 将不再接受超过设置超时限制的 webhook 响应。

    请注意,对话界面旨在设计为最终用户与应用程序/机器人之间的持续消息交换。如果您的 Web 服务需要更多时间在后台执行操作并且无法优化,请考虑重新设计对话流,使最终用户无需等待应用程序/机器人回复超过设置的 Webhook 超时限制.

    如果您有自己的自定义应用程序(使用 APIs or Client Libraries 集成),则可以改为从自定义应用程序调用/调用需要 15 分钟工作的函数(我们称之为 function_1)。

    这是一个基本设置:

    1. 用户从您的自定义应用程序界面输入查询。

    2. 您的自定义应用程序将带有 Detect Intent request 的用户查询发送到 Dialogflow 代理(使用 API 或客户端库)。

    3. 在您的自定义应用程序收到来自的 Detect Intent 响应后 代理,您可以创建代码来获取意图名称或事件名称 来自detectIntentResponse.queryResult.match.intent.displayNamematch.event响应json分别然后调用/调用 function_1 基于匹配的意图或事件。

    4. function_1 完成处理后,您可以直接向 自定义应用程序界面中的用户或发送检测意图 向您的代理请求,使其与意图匹配并发送意图 响应您的自定义应用程序。

    【讨论】:

    • 是的,我就是这么想的,非常感谢
    【解决方案2】:

    不,不可能如您所描述的那样。调用外部服务的唯一方法是通过 webhook,但这些被认为是返回一个非常具体的对象的调用,然后 Dialogflow 直接将其作为答案返回给用户,因此它们本质上是同步的。

    您可以做的是想一个解决方法。我不知道您正在调用什么服务的具体内容,但是您可以设置一个小型服务器来处理来自 dialogflow 的 webhook 响应,除了触发对外部 api 的调用以及当您获得回答您可以处理它(根据 Dialogflow 规范将相关内容放入“履行”对象中)并通过 dialogflow API 在您的代理中触发事件。

    所以最终的过程可能看起来像这样。

    1. 用户要求例如"pizza":正确的意图被触发,该意图的路由调用 webhook 服务器
    2. 您的 webhook 服务器接收到来自 dialogflow 的调用,并调用外部 api 来询问曾经创建的所有比萨饼的列表。它向服务器返回一个空的履行
    3. 当 webhook 服务器在 15 分钟后收到响应时,它会在代理中触发 event(查看您选择的编程语言的 dialogflow api:python、node、java)并在请求中注入一些参数,这然后,您可以在代理中使用来形成一个句子

    当我刚开始时,我发现this 非常有用,可以帮助您了解平台希望您在与外部服务交互方面做什么,请看一下图表,尤其是我认为更清楚的图表

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-06-08
      • 2023-02-03
      • 1970-01-01
      • 1970-01-01
      • 2017-01-26
      • 2021-05-19
      • 2011-07-11
      相关资源
      最近更新 更多