我正在尝试连接不同的实体类型或实体属性。考虑这种情况:
我有一个动物列表和一个蔬菜列表
每只动物都吃一个子集的蔬菜-奶牛吃蔬菜a,蔬菜B,母鸡吃蔬菜B,蔬菜C
一旦奶牛进入上下文,我想捕捉的唯一蔬菜实体就是蔬菜a和蔬菜B。即使提到了素食C,我也不想为了所有的后续意图而抓住这个实体
我怎样才能做到这一点
我可以有一个动物实体类型和一个蔬菜实体类型吗?动物实体类型有牛、母鸡等动物的列表,蔬菜实体类型有蔬菜a、蔬菜B等蔬菜的列表?
需要考虑的关键点是,实体中的任何值(无论是否自定义(都将是以该实体为参数的特定意图的有效匹配。
也就是说,如果你有一个animal
实体和一个vegetable
实体,即使你训练了一个意图奶牛意图,只将奶牛作为动物,无论你提交的动物是什么,这个意图都会匹配。据我所知,您不能限制意图中有效的实体值。
出于这个原因,确保你的行为得到满足的最简单方法是为每只动物(一群吃相同蔬菜的动物(创建单独的实体。然后为每个动物实体创建特定意图,后续意图也将指定特定的蔬菜实体。意思是,很多特定的实体而不是一般的实体。你会有实体:像奶牛,像母鸡,奶牛蔬菜,母鸡蔬菜
如果这对您的特定用例来说似乎不可行,您也可以尝试在Webhook Fulfillment中保留通用实体并编写一些条件来处理您的特定行为,类似于这里所做的操作。