添加必需操作

时间:2017-05-01 02:01:18

标签: chatbot dialogflow

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

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

我的问题是当我尝试添加必需的操作和提示,然后尝试保存意图时,我收到以下消息: "以下实体互相引用并形成无限循环:[engineSize]。"

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

我无法弄清楚我做错了什么。任何帮助将不胜感激,谢谢!有关详细信息,请参阅下面的Pix。

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

Annotated User expressions

Required Actions

2 个答案:

答案 0 :(得分:1)

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

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

这不应与用户表达式错误。只要用户表达式被标记为模板(整个行用最左边的' @'表示,而不是大"),应该没有问题。

答案 1 :(得分:0)

为了明确了解根本问题而编辑

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

在您的情况下,您已输入实际实体引用'@engineSize'作为属于engineSize实体的示例,从而创建自引用。

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

enter image description here

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

看起来您需要更加了解实体,我建议您使用以下文档: https://docs.api.ai/docs/concept-entities