我正在尝试AMAZON.LITERAL在我的Alexa技能中使用插槽类型,但是当我尝试构建时,我看到了这个错误:
Build Failed
Slot name "{What}" is used in a sample utterance but not defined in the intent schema. Error code: UndefinedSlotName - Thursday, Apr 12, 2018, 2:08 PM
Run Code Online (Sandbox Code Playgroud)
插槽已命名What,我100%确定已定义.如果我将插槽类型更改为除外的任何内容,它将成功构建AMAZON.LITERAL.
这是我的整个模型:
{
"interactionModel": {
"languageModel": {
"invocationName": "chores",
"intents": [
{
"name": "AMAZON.CancelIntent",
"samples": []
},
{
"name": "AMAZON.HelpIntent",
"samples": []
},
{
"name": "AMAZON.StopIntent",
"samples": []
},
{
"name": "Remember",
"slots": [
{
"name": "Who",
"type": "AMAZON.Person"
},
{
"name": "When",
"type": "AMAZON.DATE"
},
{
"name": "What",
"type": "AMAZON.LITERAL"
}
],
"samples": [
"remember {Who} {What} {When}"
]
}
],
"types": []
}
}
}
Run Code Online (Sandbox Code Playgroud)
编辑:
这是我在提交错误时从亚马逊获得的回复:
我们不再支持AMAZON.Literal插槽类型,我们要求开发人员使用客户插槽类型,因为他们有一些值,但如果没有,那么您可以使用AMAZON.SearchQuery,您将获得客户正在寻找的整个查询,并且相同你可以在lambda函数中使用它.
小智 6
我遇到了同样的问题.这是解决方案.
您需要将Sample Motterances定义为
Remember {Neil | Who} {died | What} {yesterday | When}
Run Code Online (Sandbox Code Playgroud)
亚马逊强制要求提供示例输入以及您的插槽名称,因为AMAZON.LITERAL可以采用各种各样的值.
有关更多信息,请参阅此处.