2016-11-07 5 views
3

Я новичок в alexa. Я узнал и начал создавать приложение для погоды.дает слот для струны в Amazon alexa

прямо сейчас я могу получить информацию о погоде, но ниже условия,

Я craeated пользовательский слот (LIST_OF_CITIES) для хранения городов, как показано ниже.

{ 
    "intents": [ 
    { 
     "intent": "WeatherIntent", 
     "slots": [ 
     { 
      "name": "city", 
      "type": "LIST_OF_CITIES" 
     } 
     ] 
    }, 
    { 
     "intent": "AMAZON.HelpIntent" 
    }, 
    ] 
} 

и в моем пользовательском слоте, который я дал, как показано ниже.

Type    Values 
LIST_OF_CITIES  Hyderabad | pune | london 

и ниже мои Высказывания

WeatherIntent give me {city} climate 
WeatherIntent {city} 
WeatherIntent what's the climate in {city} 
WeatherIntent what's the weather in {city} 
WeatherIntent {city} 

при запуске программы с помощью любого из трех городов, упомянутых в таблице выше, я могу получить правильный. Если я использую что-либо отдельно от вышеизложенного, оно отправляет обратно значение -4.

Если я хочу получить tempreature другого города, мне нужно добавить этот город в список слотов.

Пожалуйста, дайте мне знать, как я могу получить динамические колебания, я имею в виду вне зависимости от LIST_OF_CITIES. Если я укажу название города, оно должно отправить результат.

Также я попробовал добавить тип как LITERAL, а также как AMAZON.LITERAL. Когда я спас его, я получаю исключение как

Error: There was a problem with your request: Unknown slot name '{city}'. Occurred in sample 'WeatherIntent get me weather of {city}' on line 1. 
Please let me know where am I going wrong and how can I fix this. 

Благодарности

ответ

1

Amazon предоставляет некоторые default list Slot Types для городов или регионов. Например.

  • AMAZON.US_CITY
  • AMAZON.AT_CITY
  • AMAZON.DE_REGION
  • ...

Вы можете использовать их в качестве типа при определении пользовательский слот.

1

Во-первых, не используйте LITERAL - это является устаревшим и даже вообще не поддерживается за пределами США региона.

И нет, вы не можете управлять списком слов динамически.

Alexa попытается сопоставить то, что пользователь говорит с вашим LIST_OF_CITIES, и попытается вернуть одно из этих слов, но может вернуть что-то еще, если оно не может соответствовать одному из них (как вы видели).

Есть некоторые типы пользовательских слотов для городов, которые вы можете использовать и построить прочь, смотрите здесь:
https://developer.amazon.com/public/solutions/alexa/alexa-skills-kit/docs/alexa-skills-kit-interaction-model-reference#h2_custom_syntax

Но это, вероятно, не будет работать для вас, так как каждый из них только одна страна, так вам нужно будет создать собственный список городов (в LIST_OF_CITIES).