从api.ai获取参数/参数值

我现在坚持在我的index.js获取用户input(用户说)的问题。 例如,用户说:请告诉我{animals}是否可以在温度{x}到{y}之间生活。 我想得到确切的价值(string)为什么动物,X和Y,以便我可以检查是否有可能在我自己的服务器。 我想知道如何做,因为实体需要映射到一些确切的关键值,如果我注释这三个参数到一些实体类别。

ApiAiApp的方法非常有限: https : //developers.google.com/actions/reference/nodejs/ApiAiApp

从我的angular度来看,这里列举的方法都不起作用。

请帮忙!

通常API.AI实体是针对一些已知值的集合,而不是在webhook中侦听任何值和validation。 首先,我将确定您期望validation的实体types。 对于温度(x和y),我会使用API​​.AI的系统实体 。 为这些参数调用getArgument()(如前面的答案所述)应返回确切的数字值。

对于动物,我会使用API​​.AI的开发者实体 。 您可以使用JSON或CSV在实体控制台中上传它们。 您可以启用API.AI的自动扩展function ,允许用户说出您不支持的动物,然后在webhook中使用getArgument(),webhook将返回由API.AI识别的新值。 您可以使用它来validation和回复一个适当的消息。 对于每个动物,还可以指定同义名称,以及何时使用这些名称,getArgument()将返回该动物的规范实体值。

额外提示,如果您希望用户可能会讲多个动物,请确保检查API.AI目的参数部分中的“是”列表框。

如果在API.AI中将“animals”,“x”和“y”定义为参数,则可以使用getArgument()定义的getArgument()方法。

所以以下应该工作:

 function tempCheck( app ){ var animals = app.getArgument('animals'); var x = app.getArgument('x'); var y = app.getArgument('y'); // Check the range and then use something like app.tell() to give a response. }