Создание навыка Алисы в консоли управления, с помощью Yandex Cloud CLI или API
Важно
Часть ресурсов, необходимых для прохождения практического руководства, доступны только в регионе Россия.
Чтобы создать навык Алисы в консоли управления Yandex Cloud, с помощью CLI или API:
Чтобы добавить навык Алисы на основе функции:
- Подготовьте облако к работе.
- Подготовьте код навыка.
- Создайте функцию и версию функции.
- Добавьте ссылку на функцию в навык Алисы.
- Протестируйте работу навыка.
Если созданные ресурсы больше не нужны, удалите их.
Подробнее о разработке навыка Алисы
Перед началом работы
Зарегистрируйтесь в 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.
Версия содержит код функции, параметры запуска, а также все необходимые зависимости. На разных стадиях процесса разработки вы можете работать с разными версиями одной функции. Подробнее читайте в разделе Версия функции.
Загружать код версии функции можно несколькими способами: в редакторе в консоли управления, из локальных файлов и директорий или в виде архива. Подробнее читайте в разделе Формат загрузки кода.
Создайте функцию и версию функции
После создания функция будет содержать только информацию о себе: имя, описание, уникальный идентификатор и т.д. Непосредственно код навыка будет добавлен в версию функции.
-
В консоли управления
выберите каталог, в котором будет создана функция. -
Нажмите кнопку
Создать ресурс и выберите Функция. -
Задайте имя функции. Например:
my-parrot-function. -
Нажмите кнопку Создать.
-
Создайте версию функции:
PythonNode.js-
В списке языков программирования выберите
Python 3.14. -
Отключите опцию Добавить файлы с примерами кода и нажмите Продолжить.
-
Подготовьте код функции:
- В поле Источник кода выберите
ZIP-архиви прикрепите созданный ранее архивparrot-py.zip. - В поле Точка входа укажите
parrot.handler.
- В поле Источник кода выберите
-
Задайте параметры версии:
- Таймаут:
2. - Память:
128 МБ. - Значение остальных параметров оставьте по умолчанию.
- Таймаут:
-
Нажмите кнопку Сохранить изменения.
-
В списке языков программирования выберите
Node.js 22. -
Отключите опцию Добавить файлы с примерами кода и нажмите Продолжить.
-
Подготовьте код функции:
- В поле Источник кода выберите
ZIP-архиви прикрепите созданный ранее архивparrot-js.zip. - В поле Точка входа укажите
index.handler.
- В поле Источник кода выберите
-
Задайте параметры версии:
- Таймаут:
2. - Память:
128 МБ. - Значение остальных параметров оставьте по умолчанию.
- Таймаут:
-
Нажмите кнопку Сохранить изменения.
-
Если у вас еще нет интерфейса командной строки Yandex Cloud (CLI), установите и инициализируйте его.
По умолчанию используется каталог, указанный при создании профиля CLI. Чтобы изменить каталог по умолчанию, используйте команду yc config set folder-id <идентификатор_каталога>. Также для любой команды вы можете указать другой каталог с помощью параметров --folder-name или --folder-id. Если вы обращаетесь к ресурсу по имени, поиск будет выполнен в каталоге по умолчанию. Если вы обращаетесь к ресурсу по идентификатору, поиск будет выполнен глобально — во всех каталогах с учетом прав доступа.
-
Чтобы создать функцию, выполните команду:
yc serverless function create \ --name my-parrot-functionРезультат:
id: d4el0mi6ps6s******** folder_id: b1g5bhjofg7o******** created_at: "2026-06-15T08:16:02.695Z" name: my-parrot-function http_invoke_url: https://functions.yandexcloud.net/d4el0mi6ps6s******** status: ACTIVE -
Чтобы создать версию функции, выполните команду:
PythonNode.jsyc serverless function version create \ --function-name my-parrot-function \ --runtime python314 \ --entrypoint index.handler \ --memory 128m \ --execution-timeout 5s \ --source-path ./parrot-py.zipРезультат:
done (2s) id: d4easr8ok281******** function_id: d4el0mi6ps6s******** created_at: "2026-06-15T08:42:20.771Z" runtime: python314 entrypoint: index.handler resources: memory: "134217728" execution_timeout: 5s image_size: "4096" status: ACTIVE tags: - $latest concurrency: "1" log_options: folder_id: b1g5bhjofg7o********yc serverless function version create \ --function-name my-parrot-function \ --runtime nodejs22 \ --entrypoint index.handler \ --memory 128m \ --execution-timeout 5s \ --source-path ./parrot-js.zipРезультат:
done (2s) id: d4etv45m1vor******** function_id: d4el0mi6ps6s******** created_at: "2026-06-15T08:45:25.313Z" runtime: nodejs22 entrypoint: index.handler resources: memory: "134217728" execution_timeout: 5s image_size: "4096" status: ACTIVE tags: - $latest concurrency: "1" log_options: folder_id: b1g5bhjofg7o********
Чтобы создать функцию, воспользуйтесь методом REST API create для ресурса Function или вызовом gRPC API FunctionService/Create.
Чтобы создать версию функции, воспользуйтесь методом REST API createVersion для ресурса Function или вызовом gRPC API FunctionService/CreateVersion.
Добавьте ссылку на функцию в навык Алисы
-
Перейдите на страницу навыка Алисы в личном кабинете
. -
Нажмите
Создать навык Алисы и в открывшемся окне:-
В поле Название навыка задайте уникальное имя создаваемого навыка.
-
В поле Backend выберите вариант Функция в Яндекс Облаке. В выпадающем списке выберите созданную ранее функцию.
Важно
В списке отображаются функции, которые вы имеете право просматривать. Чтобы прикрепить функцию к навыку, вам необходимо разрешение на запуск функции. Это разрешение входит в роль functions.functionInvoker и выше.
-
Настройки остальных параметров оставьте без изменений и вверху страницы нажмите кнопку Сохранить.
-
Роль functions.functionInvoker позволяет вызывать функции. Подробнее об управлении доступом в Yandex Cloud читайте в разделе Как устроено управление доступом в Yandex Cloud.
Протестируйте работу навыка
- В личном кабинете
Яндекс Диалогов на странице с созданным ранее навыком в меню слева выберите Тестирование. - Если все настроено правильно, в блоке Чат вы увидите сообщение с приглашением начать беседу:
Hello! I'll repeat anything you say to me. - Отправьте сообщение с любым текстом и убедитесь, что вам пришел ответ с таким же содержанием.
Как удалить созданные ресурсы
Чтобы прекратить работу навыка, удалите функцию.
Функции Yandex Cloud Functions позволяют размещать в Yandex Cloud код, который можно запускать по запросу или триггеру. Подробнее читайте в разделе Функция.
Каталог — это логическое пространство, в котором создаются и группируются ресурсы Yandex Cloud. Как и каталоги в файловой системе, каталоги в Yandex Cloud упрощают управление ресурсами. Подробнее читайте в разделе Каталог.
Требования к имени:
- длина — от 3 до 63 символов;
- может содержать строчные буквы латинского алфавита, цифры и дефисы;
- первый символ — буква, последний — не дефис.