Размещение навыка в Yandex Cloud

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

Функции сервиса Cloud Functions, используемые для навыков Алисы, бесплатны и не тарифицируются.

Посмотреть видео «Как бесплатно разместить навык Алисы в Yandex Cloud»

В качестве примера будет создан навык «Попугай», который повторяет все, что ему написал или сказал пользователь. Пример реализован на двух языках программирования: Python и Node.js.

Подготовка

Перед началом вам необходимо зарегистрировать платежный аккаунт в Yandex Cloud.

Сразу после регистрации в Yandex Cloud вам станет доступно рабочее пространство — облако. Создайте в облаке функцию для навыка.

Создание веб-приложения

Создайте веб-приложение на базе Node.js по инструкции в документации.

Для работы навыка скачайте с GitHub файл с примером index.js.

Создайте веб-приложение на базе Python по инструкции в документации.

Для работы навыка скачайте с GitHub файл с примером parrot.py.

Добавление в навык ссылки на функцию

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

  1. Перейдите в консоль разработчика навыка.

  2. Откройте вкладку Настройки.

  3. В блоке Backend выберите вариант Функция в Yandex Cloud.

  4. Из выпадающего списка выберите нужную функцию.

    В списке отображаются функции, которые вы имеете право просматривать, но навык будет работать только если ваш аккаунт может запускать выбранную функцию. Разрешение на запуск входит в роли Yandex Cloud serverless.functions.invoker, editor и выше.

  5. Внизу страницы нажмите кнопку Сохранить.

  6. Проверьте работу навыка на вкладке Тестирование. Подробнее см. раздел Тестирование навыка.

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