Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/arduino/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Nlp API.AI中的请求超时_Nlp_Actions On Google_Api Ai - Fatal编程技术网

Nlp API.AI中的请求超时

Nlp API.AI中的请求超时,nlp,actions-on-google,api-ai,Nlp,Actions On Google,Api Ai,我有一个API.ai代理,它向webhook发送一个请求(来自用户),webhook需要大量处理(超过5秒)才能得到答案。据我所知,在API.ai中没有办法增加响应超时 因此,我创建了两个意图。第一个简单地调用我的webhook开始处理结果,同时webhook会回复用户,“您的请求正在处理中…”。 第二个意图有一个事件和动作。新事件的目的只是向用户显示结果。 一旦结果准备好,我的后端应用程序将发送一个curl语句来触发第二个意图中的事件,并进行必要的参数修改,如sessionID、v和时区…等等

我有一个API.ai代理,它向webhook发送一个请求(来自用户),webhook需要大量处理(超过5秒)才能得到答案。据我所知,在API.ai中没有办法增加响应超时

因此,我创建了两个意图。第一个简单地调用我的webhook开始处理结果,同时webhook会回复用户,“您的请求正在处理中…”。 第二个意图有一个事件和动作。新事件的目的只是向用户显示结果。 一旦结果准备好,我的后端应用程序将发送一个curl语句来触发第二个意图中的事件,并进行必要的参数修改,如sessionID、v和时区…等等

我从API.AI收到了以下JSON(我创建了一个示例以简化我的案例):

这是我的后端发送的curl语句

The curl statement is: curl -X POST -H "Content-Type: application/json; charset=utf-8" -H "Authorization: Bearer I INSERTED THE CORRECT CODE HERE" --data "{'event':{ 'name': 'custom_event', 'data': {'name': 'Sam'}}, 'timezone':'America/New_York', 'lang':'en', 'sessionId':'a6ac2555-4b19-40f8-92ec-397f6a042dde'}" "https://api.api.ai/v1/query?v=20150910"
如上面的JSON所示,API.ai代理成功地接收到了触发器。但是,我在“响应部分”中指定的响应不会显示给用户

我在API.ai代理中附加了第二个意图的屏幕截图

注意:我在开发者控制台、WebDemo和Slack中尝试了代理。它们都没有向我(作为用户)显示指定的响应

我不确定我是否做错了什么?
API.AI并不是真正用来处理事件驱动的活动的。这意味着它是对话中的中间人-因此正常模式是:

  • 用户说了些什么
  • AI处理这个问题,可能使用webhook,并发送响应
  • 像GoogleHome这样的设备无法获得通知,因此除非用户说了什么(步骤1),否则您将永远无法进入步骤2

    当您尝试手动触发它时,API.AI将您的触发器视为步骤1,它将响应您的触发器。它无法将该回复发送回助手,因为此时它没有与助手进行对话-它正在与您手动触发的助手进行对话


    现在真的没有一个好方法来做你想做的事。我们知道助理最终会收到通知(它是在2017年I/O会议上宣布的),但我们不知道它是否会有API或它会是什么样子。事务API中确实包含通知,但事务用于您正在购买或预订某物的活动。如果需要,您可以使用Firebase Cloud Messaging之类的工具让用户知道他们可以询问结果,但这是一种次优体验。

    他们会很快添加此功能吗?再说一次,我所知道的是我在回答中所说的——他们在2017年I/O大会上宣布了通知,但没有说明何时、是否会有API,或者那个API会是什么样子。
    The curl statement is: curl -X POST -H "Content-Type: application/json; charset=utf-8" -H "Authorization: Bearer I INSERTED THE CORRECT CODE HERE" --data "{'event':{ 'name': 'custom_event', 'data': {'name': 'Sam'}}, 'timezone':'America/New_York', 'lang':'en', 'sessionId':'a6ac2555-4b19-40f8-92ec-397f6a042dde'}" "https://api.api.ai/v1/query?v=20150910"