Создание навыка Алисы
Важно
Часть ресурсов, необходимых для прохождения практического руководства, доступны только в регионе Россия.
В качестве примера будет создан навык Попугай
, который повторяет все, что ему написал или сказал пользователь. Пример реализован на двух языках программирования: Python и Node.js.
Чтобы добавить навык Алисы на основе функции:
- Подготовьте облако к работе.
- Подготовьте код навыка.
- Создайте функцию и версию функции.
- Добавьте ссылку на функцию в навык Алисы.
- Протестируйте работу навыка.
Если созданные ресурсы больше не нужны, удалите их.
Подробнее о разработке навыка Алисы
Перед началом работы
Зарегистрируйтесь в Yandex Cloud и создайте платежный аккаунт:
- Перейдите в консоль управления
, затем войдите в Yandex Cloud или зарегистрируйтесь. - На странице Yandex Cloud Billing
убедитесь, что у вас подключен платежный аккаунт, и он находится в статусеACTIVE
илиTRIAL_ACTIVE
. Если платежного аккаунта нет, создайте его и привяжите к нему облако.
Если у вас есть активный платежный аккаунт, вы можете создать или выбрать каталог, в котором будет работать ваша инфраструктура, на странице облака
Подробнее об облаках и каталогах.
Подготовьте код для навыка Алисы
Для создания версии функции вы можете воспользоваться одним из форматов загрузки кода. Для примера код будет загружен в формате ZIP-архива.
- Скачайте с GitHub файл с примером: parrot.py
. - Создайте ZIP-архив
parrot-py.zip
с файломparrot.py
.
- Скачайте с GitHub файл с примером: index.js
. - Создайте ZIP-архив
parrot-js.zip
с файломindex.js
.
Создайте функцию и версию функции
После создания функция будет содержать только информацию о себе: имя, описание, уникальный идентификатор и т. д. Непосредственно код навыка будет добавлен в версию функции.
-
В консоли управления
выберите каталог, в котором будет создана функция. -
Нажмите кнопку Создать ресурс и выберите
Функция. -
Введите имя функции. Требования к имени:
- длина — от 2 до 63 символов;
- может содержать строчные буквы латинского алфавита, цифры и дефисы;
- первый символ — буква, последний — не дефис.
-
Нажмите кнопку Создать.
-
Создайте версию функции:
PythonNode.js-
В списке языков программирования выберите
Python 3.12
. -
Отключите опцию Добавить файлы с примерами кода и нажмите Продолжить.
-
Подготовьте код функции:
- В поле Способ выберите
ZIP-архив
и прикрепите созданный ранее архивparrot-py.zip
. - В поле Точка входа укажите
parrot.handler
.
- В поле Способ выберите
-
Задайте параметры версии:
- Таймаут:
2
. - Память:
128 МБ
. - Значение остальных параметров оставьте по умолчанию.
- Таймаут:
-
Нажмите кнопку Сохранить изменения.
-
В списке языков программирования выберите
Node.js 18
. -
Отключите опцию Добавить файлы с примерами кода и нажмите Продолжить.
-
Подготовьте код функции:
- В поле Способ выберите
ZIP-архив
и прикрепите созданный ранее архивparrot-js.zip
. - В поле Точка входа укажите
index.handler
.
- В поле Способ выберите
-
Задайте параметры версии:
- Таймаут:
2
. - Память:
128 МБ
. - Значение остальных параметров оставьте по умолчанию.
- Таймаут:
-
Нажмите кнопку Сохранить изменения.
-
Добавьте ссылку на функцию в навык Алисы
-
Перейдите на страницу навыка Алисы в личном кабинете
. -
Нажмите Создать диалог. В открывшемся окне выберите Навык.
-
На вкладке Настройки:
- В поле Имя навыка задайте уникальное имя создаваемого навыка.
- В поле Backend выберите вариант Функция в Yandex Cloud. В выпадающем списке выберите созданную ранее функцию.
Важно
В списке отображаются функции, которые вы имеете право просматривать. Чтобы прикрепить функцию к навыку, вам необходимо разрешение на запуск функции. Это разрешение входит в роли functions.functionInvoker, editor и выше.
- Внизу страницы нажмите кнопку Сохранить.
Протестируйте работу навыка
- Откройте вкладку Тестирование на странице навыка в личном кабинете
. - Если все настроено правильно, в разделе Чат будет сообщение с приглашением начать беседу:
Hello! I'll repeat anything you say to me.
. - Отправьте сообщение с любым текстом и убедитесь, что вам пришел ответ с таким же содержанием.
Как удалить созданные ресурсы
Чтобы прекратить работу навыка, удалите функцию.