API.AI 添加所需操作时不会保存意图

API.AI Intent won't save when adding Required Action

我正在尝试创建一个聊天机器人来帮助用户搜索摩托车。

我是 API.AI 的新手,已经设置了我的实体及其同义词、我的意图和用户表达,以及对实体的引用(@engineSize、@make、@bikeType)。

我的问题是,当我尝试添加所需的操作和提示,然后尝试保存意图时,我收到以下消息: "The following entities reference each other and form an infinite loop: [engineSize]."

最初我以为我在用户表达式中使用了错误的引用。除了一个使用所有三个实体的表达式外,我删除了所有引用。

我不知道自己做错了什么。任何帮助将不胜感激,谢谢!下面的图片了解更多详情。

编辑:我修复了尝试传递模板表达式的问题之一。但是,我仍然收到相同的错误消息。我将替换并更新我的图片链接以包含编辑内容。

Annotated User expressions

Required Actions

为清楚起见进行了编辑以找到根本问题

在您给出意图的提供的用户输入示例中,您应该提供一般示例,然后突出显示属于实体的任何文本以映射实体在用户查询中出现的位置。

在您的情况下,您输入了实际实体引用“@engineSize”作为属于 engineSize 实体的示例,创建了一个自引用。

正确提供的用户示例如下所示:

另请注意,如果您只是使用实体来存储通用信息,例如数字、地址、时间等。通常,为这些类别使用​​预建系统实体比创建自定义实体更有意义,例如@sys.number-整数可能正是您所需要的

看来您需要对实体有更深入的了解,对此我推荐文档: https://docs.api.ai/docs/concept-entities

有趣的是,这个 post 的答案很难找到,因为问题在于定义我的实体。

在实体定义中,我为实体本身包含了一个@ref。即 bikeType 实体包含 @bikeType 作为其定义之一。

不要将这与用户表达式混淆。只要将用户表达式标记为模板(整行在最左侧用“@”表示,而不是大的 " ),就不会有问题。