Amexon alexa开发InvalidIntentSamplePhraseSlot问题

时间:2018-11-07 08:20:39

标签: amazon alexa alexa-skills-kit alexa-slot

我遇到一个错误:不能同时包含词组槽和另一个意图槽。错误代码:建立Alexa技能时,InvalidIntentSamplePhraseSlot。

示例JSON如下

{
"name": "HackathonListIntent",
"slots": [
    {
        "name": "resultCount",
        "type": "AMAZON.NUMBER"
    },
    {
        "name": "search1",
        "type": "AMAZON.SearchQuery"
    },
    {
        "name": "search2",
        "type": "AMAZON.SearchQuery"
    }
],
"samples": [
    "{resultCount} for {search1} from {search2}",
]}

resultCount:技能从后端获取数千个结果,此参数将限制结果的长度,以方便用户使用。

search1和search2是用户可能要求的不同独立搜索参数。

仅供参考:我已经尝试过this

2 个答案:

答案 0 :(得分:0)

对于InvalidIntentSamplePhraseSlot问题,根据Amazon的文档,每个意图只能使用一个AMAZON.SearchQuery插槽。

“确保您的技能每个意图使用不超过一个AMAZON.SearchQuery插槽。”

https://developer.amazon.com/docs/custom-skills/slot-type-reference.html#amazonsearchquery

此外,对于您的示例条目,请确保包含一项的数组不包含逗号。它将导致无效的JSON错误。

"samples": [
    "{resultCount} for {search1} from {search2}"
]}

答案 1 :(得分:0)

AMAZON.SearchQuery 每个意图最多只能有1个广告位,并且还需要一个短语和广告位。我建议您使用 AMAZON.Person ,因为它可以取任何值,不需要短语。

              {
                "name": "HackathonListIntent",
                "slots": [
                    {
                        "name": "resultCount",
                        "type": "AMAZON.NUMBER" 
                    },
                    {
                        "name": "search2",
                        "type": "AMAZON.Person"
                    },
                    {
                        "name": "search2",
                        "type": "AMAZON.Person"
                    }
                ],
                "samples": [
                    "{resultCount} for {search1} from {search2}"
                ]
            }