python - flask-ask 插槽总是被映射到 None

标签 python amazon-web-services alexa flask-ask

我的自定义 intent 插槽始终被识别为

我有一个如下所示的 intent 架构:

{
    "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?"

我在亚马逊开发者控制台的测试面板中尝试使用小写字母和带/不带标点符号,但返回始终是:

"you have selected None"

表示 None 作为“eventCity”传递。我是否在 intent 模式或代码中错误地传递了这个插槽?

谢谢

最佳答案

嘿,伙计,以下是您问题的解决方案:

@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))

我也遇到了类似的问题,这件事解决了我的问题。

关于python - flask-ask 插槽总是被映射到 None,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49989604/

相关文章:

python - 将 AWS API 与 Python 结合使用以使用 Polly 服务

python - 是否可以在 python 中加载和显示大(8296 x 14740 像素)图像?

python-3.x - pip 安装成功后,aws cli 无法在 Jupyter 中工作?

ruby-on-rails - capistrano 版本 3 升级令人困惑

javascript - 从二维数组中检索随机值

node.js - 从 LaunchRequest 中调用另一个 Alexa intent

python - Keras 功能 API : fitting and testing model that takes multiple inputs

python - 在 PyQt 中创建动态按钮

Python:NameError:在封闭范围内赋值之前引用了自由变量 're'

json - 我没有从 Amazon Lambda 获得适当的 JSON 响应