在我的Dialog Flow代理中,我有一个实体@city
。可能的值为New York
,Berlin
,......但Amsterdam
不在该列表中。
有没有办法根据我的SQL数据库中的值动态验证实体值?例如,如果用户写Amsterdam
,我想给用户一个他应该要求另一个城市的提示。这可以通过webhook完成吗?
或者我应该定期将我的数据库城市与代理同步吗?如果是这样,可以通过API完成吗?
我不确定这里的标准方法是什么。
答案 0 :(得分:6)
您可以在此处选择一些选项,具体取决于最适合您的选项。
在最简单的情况下,您可以将参数实体类型设置为@sys.any
并处理webhook中的所有名称解析。这是最糟糕的情况。
正如您所做的那样,您可以创建自己的实体类型@city
,并将其填充到几个城市。如果要使用数据库中的城市填充它,那么 是一个API(因此旧名称,API.AI),可用于创建和修改实体。有关详细信息,请参阅https://dialogflow.com/docs/reference/agent/entities上的文档。
@city
的Intent,以及另一个使用@sys.any
的优先级较低的Intent(或一个后备意图)来处理他们说你不理解的事情。