Google Action中未定义的参数

时间:2018-03-08 11:12:51

标签: actions-on-google dialogflow

我有一个我想在Google智能助理上测试的DialogFlow代理。我已经创建了一个相对简单的Intent,名为" Set name"使用以下培训短语:

  • 我叫Ryan。
  • 比尔
  • 我是史蒂夫
  • 这个名字的债券。詹姆斯邦德。

它有两个参数:

  • 必填:given-name,其中包含实体@sys.given-name,值存储为$given-name
  • last-name,其中包含实体@sys.last-name和值$last-name

我能够在DialogFlow测试控制台中进行测试。但是,当我尝试在Google智能助理中查看它是如何工作的时候。"我收到以下错误:

  

请求包含无效参数。查询模式'名称' s   键。 $SchemaOrg_Person:given-name $SchemaOrg_Person:last-name。'   包含未定义的参数' last-name。'

如果我删除"詹姆斯邦德"训练短语,它运作正常。但我想包括那个。我做错了什么?

以下是导致问题的意图的屏幕截图:

troublesome intent

以下是我在Google智能助理中点击试用的链接:

Open in Google Assistant

最后,点击该链接时出现在屏幕右下角的错误消息:

Error message pop-up

4 个答案:

答案 0 :(得分:1)

点击“查看其在Google Assistant中的工作方式” 链接并将应用提交生产后,我突然收到了一些错误消息。

似乎训练短语中的诸如撇号和连字符之类的字符会造成麻烦,并且会给出错误消息。

此外,它抱怨培训短语的一种变体,无论我对所有语言,短语的所有页面以及所有意图的投入如何,都找不到任何地方。 我终于通过导出项目并搜索JSON文件找到了有问题的短语。然后,我可以在本地删除该短语,删除Dialogflow中的意图,然后再导入到Dialogflow。(据我了解,它弄乱了一个后续意图,该意图也存在于JSON中(UI中没有位置)附加了一些训练短语的一部分。)

答案 1 :(得分:0)

尝试从句子中删除点。所以它将是:

"The name's Bond. James Bond"

答案 2 :(得分:0)

在使用意图参数和自定义实体时,我遇到了这个问题。在训练短语中标记实体时,请确保它们已链接到您在意图中设置的参数。

Example

  

在您的情况下,它将训练短语标签更改为类型    @ sys.given-name:given-name @ sys.last-name:last-name 可以解决此问题。

答案 3 :(得分:0)

我遇到了同样的错误,最后发现我添加的其他语言存在问题。

我添加了默认的“ en”语言和“ en-IN”。问题在于使用“ en-IN”语言的训练短语。我不需要它,因此将其删除,效果很好。

因此,请检查您的代理中启用了多少种语言,以及是否为它们正确设置了训练短语。