Alexa Skill не распознается при тестировании на Echo
Я делал один из уроков (HelloWorld), чтобы сделать навык для Echo, и я следовал инструкциям. Когда я проверил навык с помощью Service Simulator, я набрал
Alexa, tell Greeter to say hello
и это вернуло следующий ответ JSON:
{
"version": "1.0",
"response": {
"outputSpeech": {
"type": "PlainText",
"text": "Hello World!"
},
"card": {
"content": "Hello World!",
"title": "Greeter",
"type": "Simple"
},
"shouldEndSession": true
},
"sessionAttributes": {}
}
Я думаю, что это правильный вывод. Однако, когда я попробовал проверить навык на своем Эхо, Алекса отвечает: "Извините, я не отвечал на ваш вопрос". Я продолжил историю, и Алекса интерпретировала мою команду как "Алекса, скажите приветственнику, чтобы сказать привет". Кажется, Алекса не признает навык?
Я использую Amazon Lambda для выполнения кода, поэтому я проверил журналы, и код не был выполнен, когда я произнес команду выше.
Я заменил app_id в файле javascript на тот, который соответствует моим навыкам. Я также поставил набор навыков Амазонки в качестве триггера.
Я также попробовал другие учебники (ChemistryFlashCards и HistoryBuff), и Алекса отвечает: "Я не уверен, что вы имели в виду под этим".
Не уверен, что происходит! Любое руководство приветствуется!
4 ответа
Чтобы ваше устройство Echo / Dot / Tap правильно вызывало ваш пользовательский навык, язык вашей модели взаимодействия должен соответствовать региону, в котором развернут ваш лямбда-ресурс. У меня была эта проблема, так как я развернул лямбду в EU-West1 (Ирландия), но язык по умолчанию для модели взаимодействия - английский (США). В модели взаимодействия я добавил новый язык английский (Великобритания) и скопировал свои намерения и высказывания, затем удалил английский язык США, и моя точка Echo Dot теперь корректно вызывала мои собственные намерения навыков
Язык вашего устройства и язык, который вы используете в учетной записи разработчика для создания пользовательских навыков, должны совпадать. Если ваше устройство зарегистрировано на английском языке Индия, то вы должны добавить английский язык индии в ваш собственный навык.
Проверьте язык в настройках приложения alexa -> Ваше устройство Echo -> Язык
Вы включили тестирование с вашим устройством для вашего мастерства?
Как только вы включите эту функцию, вы можете проверить, правильно ли она связана с вашим устройством, перейдя в раздел "Навыки" приложения Alexa и нажав "Ваши навыки", чтобы увидеть список навыков, которые распознает ваше Эхо. Вы должны увидеть свои навыки с маленьким зеленым ярлыком на нем.
Я разрабатывал язык по умолчанию en-US с регионом Северная Вирджиния (для функции Lambda), но базировался в Индии. Я даже пытался использовать адрес США в приложении Alexa, но это не сработало.
В конце я добавил все английские языки (en-IN, en-CA, en-GB, en-EU) и скопировал файл модели JSON, созданный для en-US. Постройте каждый из них отдельно и заполните Description -> Skill Preview
детали для каждого из них. Это сработало.
Я использую приведенный ниже контрольный список из 5 пунктов, и он всегда работает:
1. Under Alexa Language Settings, add all the languages like English-US and English-IN that your Echo devices are likely to be configured with.
2. Freshly build the interaction model and deploy again.
3. Tell Alexa to ignore the Alexa-hosted skill: Instead of its auto-generated lambda code, it should use the external custom lambda that you created.
4. Ensure that the service end point is correct: Under the AWS Lambda ARN, enter your custom lambda ARN for each and every region you will be invoking the skill.
5. In the Alexa simulator, select all the languages one by one in the drop down and test them individually.
В большинстве случаев вы не можете открыть свое умение, потому что это не тот язык, который вы используете для своего эхо-устройства Amazon. Тогда, если это не сработает, возможно, вы не включили проверку своего навыка.
Также, если вы хотите быстро активировать свой навык, если вы еще этого не сделали, скажите Alexa(или как там у вас есть слово "пробуждение"), включите
Одна проблема связана с настройками языка.
Исправьте языковые настройки на вашем устройстве Echo, используя приложение https://alexa.amazon.in/ или alexa. Убедитесь, что язык включен в навыке и устройстве равны. Например, используйте английский Индия.
Достигнуть навыка
Перейдите на https://alexa.amazon.in/. Убедитесь, что устройство отображается в сети. Отключите навык в разделе "Ваши навыки". Включите это снова.
Это должно решить проблему.