Создание навыка Алисы

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

Примечание

Функции пока невозможно использовать для навыков Умного дома.

Чтобы добавить навык Алисы на основе функции:

  1. Подготовьте код навыка.
  2. Создайте функцию.
  3. Создайте версию функции.
  4. Сделайте функцию публичной.
  5. Добавьте ссылку на функцию в навык Алисы.
  6. Протестируйте работу навыка.

Подробнее о разработке навыка Алисы.

1. Подготовьте код для навыка Алисы

Для создания версии функции вы можете воспользоваться одним из форматов загрузки кода. Для примера код будет загружен в формате ZIP-архива.

  1. Скачайте с GitHub файл с примером: parrot.py.
  2. Создайте ZIP-архив parrot-py.zip с файлом parrot.py.
  1. Скачайте с GitHub файл с примером: index.js.
  2. Создайте ZIP-архив parrot-js.zip с файлом index.js.

2. Создайте функцию

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

  1. В консоли управления выберите каталог, в котором будет создана функция.

  2. Нажмите кнопку Создать ресурс.

  3. Выберите Функция.

  4. Введите имя функции.

    • Длина — от 3 до 63 символов.
    • Может содержать строчные буквы латинского алфавита, цифры и дефисы.
    • Первый символ — буква. Последний символ — не дефис.
  5. Нажмите кнопку Создать.

3. Создайте версию функции

Выберите язык программирования и создайте версию функции.

  1. В консоли управления откройте Cloud Functions в каталоге, где вы хотите создать версию функции.
  2. Выберите функцию, для которой необходимо создать версию.
  3. В разделе Последняя версия нажмите кнопку Создать в редакторе.
  4. Задайте параметры версии:
    • Среда выполнения: python37.
    • Таймаут, секунды: 2.
    • Память: 128 МБ.
    • Сервисный аккаунт: Не выбрано.
  5. Подготовьте код функции:
    • Способ: ZIP-архив.
    • Файл: parrot-py.zip.
    • Точка входа: parrot.handler.
  6. Нажмите кнопку Создать версию.
  1. В консоли управления откройте Cloud Functions в каталоге, где вы хотите создать версию функции.
  2. Выберите функцию, для которой необходимо создать версию.
  3. В разделе Последняя версия нажмите кнопку Создать в редакторе.
  4. Задайте параметры версии:
    • Среда выполнения: nodejs12.
    • Таймаут, секунды: 2.
    • Память: 128 МБ.
    • Сервисный аккаунт: Не выбрано.
  5. Подготовьте код функции:
    • Способ: ZIP-архив.
    • Файл: parrot-js.zip.
    • Точка входа: index.handler.
  6. Нажмите кнопку Создать версию.

4. Сделайте функцию публичной

Для корректного вызова функции необходимо сделать ее публичной:

  1. В консоли управления откройте раздел Cloud Functions в каталоге с функцией, которую хотите сделать публичной.
  2. В списке функций выберите функцию.
  3. На странице Обзор в разделе Общая информация нажмите переключатель в поле Публичная функция.
  1. Перейдите на страницу навыка Алисы в личном кабинете.
  2. Откройте вкладку Настройки.
  3. В блоке Backend выберите вариант Функция в Яндекс.Облаке.
  4. Из выпадающего списка выберите необходимую функцию.
  5. Нажмите кнопку Сохранить внизу страницы и сохраните изменения.

6. Протестируйте работу навыка

  1. Откройте вкладку Тестирование на странице навыка в личном кабинете.
  2. Если все настроено правильно, в разделе Чат будет сообщение с приглашением начать беседу: Hello! I'll repeat anything you say to me..
  3. Отправьте сообщение с любым текстом и убедитесь, что вам пришел ответ с таким же содержанием.