我有一个DialogFlow代理我试图在Google智能助理上测试 . 我用以下培训短语创建了一个名为“Set name”的相对简单的Intent:
-
我叫Ryan .
-
比尔
-
我是史蒂夫
-
名字的邦德 . 占士邦 .
它有两个参数:
-
必需:
given-name
,实体@sys.given-name
,值存储为$given-name
-
last-name
与实体@sys.last-name
和值$last-name
我能够在DialogFlow测试控制台中进行测试 . 但是,当我试图“了解它在Google智能助理中的运作方式”时 . 我收到以下错误:
请求包含无效参数 . 查询模式'名称的债券 . $ SchemaOrg_Person:given-name $ SchemaOrg_Person:last-name . '包含一个未定义的参数'last-name . '
如果我删除“詹姆斯邦德”训练短语,它可以正常工作 . 但我想包括那个 . 我究竟做错了什么?
以下是导致问题的意图的屏幕截图:
以下是我在Google智能助理中点击尝试的链接:
最后,当我点击该链接时,这是显示在屏幕右下角的错误消息:
3 回答
当单击"See how it works in Google Assistant"链接并提交应用程序进行 生产环境 时,我突然收到了一些错误消息 .
It seems like characters like apostrophes and hyphens in the training phrases creates trouble 并且可以提供该错误消息 .
此外,它抱怨了我无法在任何地方找到的训练短语的变体,无论我看多少语言,短语的所有页面和所有意图 . I finally found the phrase in question by exporting the project and searching through the JSON files. Then I could delete the phrase locally, delete the intent in Dialogflow and do an import back to Dialogflow. (根据我的理解,它搞砸了后续意图,它也在JSON(UI中没有任何地方)附加了一些训练短语的部分 . )
尝试从句子中删除点 . 所以它将是:
在处理intent参数和自定义实体时遇到了这个问题 . 在训练短语中标记实体时,请确保它们与您在意图中设置的参数相关联 .
Example