Mi espacio para una intención personalizada siempre se reconoce como None .
Tengo un esquema de intenciones que se ve así:
{ "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": [] } } }Mi código está en python, utilizando el marco de trabajo de matraz-preguntar. Mi punto de entrada principal se parece a esto:
@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))Sin embargo, incluso este ejemplo simple no funciona cuando la entrada es:
"whats on in London?"Lo he intentado con minúsculas y con/sin puntuación en el panel de prueba de la consola de desarrollo de Amazon, sin embargo, el retorno siempre es:
"you have selected None"indicando que Ninguno se pasa como 'eventCity'. ¿Estoy pasando esta ranura incorrectamente en el esquema de intenciones o en el código?
Gracias
hey amigo siguiente es la solución de su problema:
@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))También estaba enfrentando un problema similar, esto resolvió mi problema.