我的自定义意图的位置总是被识别为None。
我有一个intents模式,看起来像这样:
{
"interactionModel": {
"languageModel": {
"invocationName": "name_of_app",
"intents": [
{
"name": "AMAZON.CancelIntent",
"samples": []
},
{
"name": "AMAZON.HelpIntent",
"samples": []
},
{
"name": "AMAZON.StopIntent",
"samples": []
},
{
"name": "EventsIntent",
"slots": [
{
"name": "eventCity",
"type": "AMAZON.GB_CITY"
}
],
"samples": [
"whats on in {eventCity}",
"whats going on in {eventCity} ",
"tell me what events are in {eventCity}"
]
}
],
"types": []
}
}
}我的代码是用python编写的,使用flask-ask框架。我的主要入口点如下所示:
@ask.launch
def start_skill():
welcome_message = 'Welcome to name_of_app, what do you want?'
return question(welcome_message)
@ask.intent('EventsIntent', mapping={'city': 'eventCity'})
def weather(city):
return statement('you have selected {}'.format(city))然而,即使是这个简单的例子,当输入是:
"whats on in London?"我在amazon开发人员控制台的测试面板中尝试了小写和带/不带标点符号,但返回的结果总是:
"you have selected None"指示没有作为“eventCity”传递。我是不是在意图模式或代码中错误地传递了这个槽?
谢谢
发布于 2018-10-11 19:05:12
嘿,伙计,下面是你的问题的解决方案:
@ask.launch
def start_skill():
welcome_message = 'Welcome to name_of_app, what do you want?'
return question(welcome_message)
@ask.intent('EventsIntent', convert={'eventCity': str})
def weather(eventCity):
return statement('you have selected {}'.format(eventCity))我也面临着类似的问题,这件事解决了我的问题。
https://stackoverflow.com/questions/49989604
复制相似问题