首页 文章

Google Action中未定义的参数

提问于
浏览
8

我有一个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 . '

如果我删除“詹姆斯邦德”训练短语,它可以正常工作 . 但我想包括那个 . 我究竟做错了什么?

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

troublesome intent

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

Open in Google Assistant

最后,当我点击该链接时,这是显示在屏幕右下角的错误消息:

Error message pop-up

3 回答

  • 0

    当单击"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中没有任何地方)附加了一些训练短语的部分 . )

  • 1

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

    "The name's Bond. James Bond"
    
  • 0

    在处理intent参数和自定义实体时遇到了这个问题 . 在训练短语中标记实体时,请确保它们与您在意图中设置的参数相关联 .

    Example

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

相关问题