帮我解决Dialogflow代理的查询!
我已经定义了一个名为“ProgrammingLanguages”的实体,并使用如下常用同义词分配了2个不同的参考值:
Android - Mobile OS, Mobile Development, Google
iOS - Mobile OS, Mobile Development, Apple
已经使用名为“ProgrammingLanguages”的参数定义了一个intent,并选择了isList“Yes”
现在当我问我的经纪人“给我看移动操作系统列表”时,它总是只返回“Android”!当我替换实体内部值的序列时,它开始向我显示“iOS”,这意味着,它始终采用第一个值,并且没有显示具有该特定实体的类似同义词的所有值!
有人可以帮我理解这种行为吗?
谢谢,
1 回答
这将无法正常工作 . 您不能为不同的Entity值添加相同的同义词 . 如果您使用相同的同义词,则意味着两个实体相同 .
isList用于捕获参数的多个值,例如,如果我正在收集汽车的品牌名称,我的实体将是car_brands,用户可以提供单个值或多个,如法拉利,奔驰,Bugati,宝马或仅铃木 .
如果您询问代理商“显示移动操作系统列表”,则表示应该返回Android和iOS . 实体不用于返回响应值 . 它们用于捕获您希望bot / agent返回值的类别 .
在你的情况下,
创建一个实体并将所有上述同义词放在一个说"mobileOS"之下 .
当用户使用同义词时,mobileOS将成为捕获的参数 .
用它来决定并返回所有的移动操作系统 .
您不需要启用isList,因为您没有从用户收集值列表 .