Оглавление:

Как создать навык Alexa: 10 шагов
Как создать навык Alexa: 10 шагов

Видео: Как создать навык Alexa: 10 шагов

Видео: Как создать навык Alexa: 10 шагов
Видео: Навыки для голосовых помощников. Разработка навыка для Amazon Alexa. Design & Code 2024, Ноябрь
Anonim
Как создать навык Alexa
Как создать навык Alexa

Что такое навык Алексы?

Навыки Alexa похожи на приложения. Вы можете включать и отключать навыки, используя приложение Alexa или веб-браузер, точно так же, как вы устанавливаете и удаляете приложения на своем смартфоне или планшете. Навыки - это голосовые возможности Alexa. Вы можете добавить навыки Alexa к своему Echo, чтобы воплотить в жизнь продукты и услуги. Вы можете просмотреть доступные навыки и включить или отключить их с помощью приложения Alexa.

Из этого туториала Вы узнаете, как создать навык alexa.

Цель:

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

Демо:

Чтобы увидеть, как навык должен работать потом, вы можете проверить его здесь:

www.amazon.com/gp/product/B07ZH9GL9N?ref&r…

Запасы

  • Знания в программировании
  • Основы Node.js и Javascript

Шаг 1. Создайте учетную запись разработчика Amazon

Создайте учетную запись разработчика Amazon
Создайте учетную запись разработчика Amazon

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

Шаг 2: Создайте новый навык

Создать новый навык
Создать новый навык
Создать новый навык
Создать новый навык
  1. Перейдите по этой ссылке:
  2. Нажмите «Создать навык» справа. После этого откроется новая страница.
  3. Введите название своего навыка (в нашем случае: Смешные немецкие слова) в поле Название навыка.
  4. Установите язык в поле выбора языка по умолчанию на английский (США).
  5. Мы собираемся создать собственный навык, поэтому выбираем модель Custom.
  6. В разделе Выберите метод для размещения серверных ресурсов вашего навыка мы выбираем Alexa-Hosted (Node.js).
  7. После того, как вы закончите, нажмите на Создать навык.
  8. Откроется новое окно

Шаг 3: поприветствуйте пользователя

Приветствовать пользователя
Приветствовать пользователя

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

  1. Откройте вкладку Код → Откроется окно кода с файлом index.js.

    У каждого обработчика намерений есть две функции

    • может справиться()
    • ручка()

    Функция canHandle () включает запрос, на который отвечает обработчик.

    Функция handle () отправляет ответ пользователю.

    Если навык получает запрос, вызывается функция canHandle () каждого обработчика намерений и проверяет, может ли он отправить ответ на этот запрос.

  2. В функции handle () LaunchRequestHandler удалите весь код и затем вставьте следующее:

    const speakOutput = 'Добро пожаловать в Веселые немецкие слова. Узнайте, какие забавные слова предлагает немецкий язык и что они означают. Хотите послушать забавное слово? ';

    const repromptText = 'Вы хотите услышать забавное немецкое слово?'; return handlerInput.responseBuilder.speak (speakOutput).reprompt (repromptText).getResponse ();

  3. Нажмите «Сохранить и развернуть».

Обработчик намерений помощи необходимо изменить в соответствии с навыком. Удалите код функции handle () и вставьте его:

const speakOutput = 'Узнайте, какие забавные слова предлагает немецкий язык и что они означают. Хотите послушать забавное слово? ';

const repromptText = 'Вы хотите услышать забавное немецкое слово?'; return handlerInput.responseBuilder.speak (speakOutput).reprompt (repromptText).getResponse ();

После этого нажмите «Сохранить и развернуть».

Шаг 4. Проверьте приветствие

Проверить приветствие
Проверить приветствие
Проверить приветствие
Проверить приветствие

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

  1. Перейдите на вкладку «Тест» → откроется новое окно.
  2. Активируйте среду тестирования, выбрав «Разработка» в поле выбора.
  3. Напишите или произнесите: «противопоставить смешные немецкие слова» → Теперь навык должен ответить приветствием.

Шаг 5. Добавьте намерения

Добавить намерения
Добавить намерения
Добавить намерения
Добавить намерения
Добавить намерения
Добавить намерения

Теперь мы собираемся добавить возможности того, как пользователь может взаимодействовать с вашими навыками. Намерения позволяют правильно реагировать на особые фразы и впоследствии запускать обработчик коррета.

  1. Перейдите на вкладку «Сборка» → откроется окно «Сборка».
  2. Панель навигации справа показывает все активированные намерения. Прежде всего удалите HelloWorldIntent.
  3. После этого нажмите кнопку «Добавить» рядом с вкладкой намерений на панели навигации.

Прежде всего, мы добавляем некоторые встроенные намерения из встроенной библиотеки Alexa.

  1. Нажмите на Использовать существующее намерение из встроенной библиотеки Alexa.
  2. Найдите YesIntent и NoIntent и нажмите "Добавить" обоими.

Теперь мы добавляем собственное намерение.

  1. Нажмите на Создать индивидуальное намерение.
  2. Дайте намерению имя TellAFunnyWordIntent
  3. Нажмите на Создать индивидуальное намерение.

Теперь мы добавим несколько примеров фраз к нашему намерению. Примеры фраз - это фразы, которые пользователь может сказать. Просто введите эти образцы фраз:

  • скажи мне слово
  • скажи мне забавное немецкое слово
  • слово
  • забавное слово
  • сказать мне слово

Конечно, пользователь может сказать гораздо больше фраз. Вы можете расширить намерение, если хотите, но в настоящее время мы сосредоточены на функциональности.

После добавления фраз нажмите «Сохранить модель», а затем - «Построить модель». После завершения сборки вернитесь на вкладку «Код».

Шаг 6. Добавьте смешные слова

Чтобы наш навык говорил забавные слова, сначала нужно несколько забавных слов.

Для этого создайте новый файл с именем words.json в папке лямбда.

Вставьте эти слова в файл words.json:

[{"слово": "Lebensabschnittpartner", "объяснение": "Это слово чаще всего описывается как еще один вариант для партнера или любовника, но с более преходящим поворотом". }, {"слово": "Unabhängigkeitserklärungen", "объяснение": "Это слово описывает декларацию независимости". }, {"слово": "Freundschaftsbezeugung", "объяснение": "Это демонстрация дружбы". }, {"слово": "Rechtsschutzversicherungsgesellschaften", "объяснение": "Книга рекордов Гиннеса признает это громоздкое слово самым длинным немецким словом в повседневном употреблении. Оно означает страховые компании, обеспечивающие юридическую защиту". }, {"слово": "Kaftfahrzeug-Haftpflichtversicherung", "объяснение": "Относится к страхованию ответственности автотранспортных средств". }, {"слово": "Donaudampfschiffahrtsgesellschaftskapitän", "объяснение": "Это слово продолжает тему транспорта и представляет собой четыре слова, аккуратно соединенные вместе, чтобы сказать капитан Дунайской пароходной компании". }]

Конечно, вы можете добавить больше слов, если знаете некоторые из них. Но для тестирования он уже должен работать.

Снова нажмите «Сохранить и развернуть».

Шаг 7. Добавьте обработчики намерений

Ранее созданным намерениям теперь нужен обработчик, который запускается намерением. NoIntentHandler закрывает навык. YesIntentHandler и TellAFunnyWordIntentHandler отвечают забавным словом и его объяснением.

Удалите весь HelloWorldIntentHandler из файла index.js и добавьте вместо него три новых:

const TellAFunnyWordIntentHandler = {

canHandle (handlerInput) {return Alexa.getRequestType (handlerInput.requestEnvelope) === 'IntentRequest' && Alexa.getIntentName (handlerInput.requestEnvelope) === 'TellAFunnyWordIntent'; }, handle (handlerInput) {const words = JSON.parse (fs.readFileSync ('./ words.json')); const word = words [Math.floor (Math.random () * words.length)]; const SpeakOutput = word.word + '. '+ word.explanation; return handlerInput.responseBuilder.speak (speakOutput).getResponse (); }}; const YesIntentHandler = {canHandle (handlerInput) {return Alexa.getRequestType (handlerInput.requestEnvelope) === 'IntentRequest' && Alexa.getIntentName (handlerInput.requestEnvelope) === 'AMAZON. YesIntent'; }, handle (handlerInput) {const words = JSON.parse (fs.readFileSync ('./ words.json')); const word = words [Math.floor (Math.random () * words.length)]; const SpeakOutput = word.word + '. '+ word.explanation; return handlerInput.responseBuilder.speak (speakOutput).getResponse (); }}; const NoIntentHandler = {canHandle (handlerInput) {return Alexa.getRequestType (handlerInput.requestEnvelope) === 'IntentRequest' && Alexa.getIntentName (handlerInput.requestEnvelope) === 'AMAZON. NoIntent'; }, handle (handlerInput) {const speakOutput = 'Хорошо, может быть, в другой раз.'; return handlerInput.responseBuilder.speak (speakOutput).getResponse (); }};

Шаг 8: Зарегистрируйте обработчики намерений

Теперь нам нужно зарегистрировать новые обработчики намерений. Для этого прокрутите до конца файла index.js.

Замените это:

export.handler = Alexa. SkillBuilders.custom ()

.addRequestHandlers (LaunchRequestHandler, HelloWorldIntentHandler, HelpIntentHandler, CancelAndStopIntentHandler, SessionEndedRequestHandler, IntentReflectorHandler, // убедитесь, что IntentReflectorHandler стоит последним, чтобы он не переопределял ваши пользовательские обработчики intentError).

с этим:

export.handler = Alexa. SkillBuilders.custom ()

.addRequestHandlers (LaunchRequestHandler, TellAFunnyWordIntentHandler, YesIntentHandler, NoIntentHandler, HelpIntentHandler, CancelAndStopIntentHandler, SessionEndedRequestHandler, IntentReflectorHandler, // убедитесь, что IntentReflectorHandler не перекрывает ваш обработчик ошибок IntentRefand (последний обработчик ошибок).

После этого снова нажмите «Сохранить и развернуть». После завершения развертывания снова проверьте навык.

Шаг 9: проверьте навыки

  1. Перейдите на вкладку Test → Откроется новое окно.
  2. Напишите или произнесите: «противопоставить смешные немецкие слова» → Теперь навык должен ответить приветствием.
  3. Напишите или произнесите: «Скажи мне забавное немецкое слово» → Теперь навык должен сказать одно из слов.

Если все работает, вы уже можете отправить свое умение.

Шаг 10. Настройте предварительный просмотр навыков и отправьте их на проверку

Установить предварительный просмотр навыков и отправить на проверку
Установить предварительный просмотр навыков и отправить на проверку

Заполните все необходимые текстовые поля своим личным описанием навыка.

В примере фраз напишите:

  • Алекса, открой Веселые немецкие слова.
  • Алекса, попроси Funny German Words сказать мне забавное слово.

После того, как вы заполнили все обязательные поля и загрузили значки, нажмите «Сохранить и продолжить».

Выберите правильные ответы в разделах «Конфиденциальность и соответствие» и «Доступность».

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

Теперь вам нужно провести несколько тестов. Это может занять некоторое время.

После этого вы можете отправить свое умение на проверку. Пройдет 1-2 дня, прежде чем вы получите отзыв о своих навыках. Если вы все сделали правильно, ваше умение будет опубликовано сразу после проверки.

Если вы уже хотите опробовать навык, но он все еще проходит сертификацию, вы всегда можете использовать этот навык:

www.amazon.com/gp/product/B07ZH9GL9N?ref&ref=cm_sw_em_r_as_dp_uCOJljYBKfNx9

Рекомендуемые: