Создание навыка Алисы
В качестве примера будет создан навык <q>Попугай</q>, который повторяет все, что ему написал или сказал пользователь. Пример реализован на двух языках программирования: Python и Node.js.
Чтобы добавить навык Алисы на основе функции:
- Подготовьте облако к работе.
- Подготовьте код навыка.
- Создайте функцию и версию функции.
- Добавьте ссылку на функцию в навык Алисы.
- Протестируйте работу навыка.
Если созданные ресурсы больше не нужны, удалите их.
Подробнее о разработке навыка Алисы.
Перед началом работы {#before-you-begin}
{% include before-you-begin %}
Подготовьте код для навыка Алисы {#prepare-code}
Для создания версии функции вы можете воспользоваться одним из форматов загрузки кода. Для примера код будет загружен в формате ZIP-архива.
{% list tabs group=programming_language %}
-
Python {#python}
- Скачайте с GitHub файл с примером: parrot.py.
- Создайте ZIP-архив
parrot-py.zipс файломparrot.py.
-
Node.js {#node}
- Скачайте с GitHub файл с примером: index.js.
- Создайте ZIP-архив
parrot-js.zipс файломindex.js.
{% endlist %}
Создайте функцию и версию функции {#create-function}
После создания функция будет содержать только информацию о себе: имя, описание, уникальный идентификатор и т. д. Непосредственно код навыка будет добавлен в версию функции.
-
В [консоли управления]({{ link-console-main }}) выберите каталог, в котором будет создана функция.
-
Нажмите кнопку
{{ ui-key.yacloud.iam.folder.dashboard.button_add }} и выберите
{{ ui-key.yacloud.iam.folder.dashboard.value_serverless-functions }}.
-
Введите имя функции. Требования к имени:
{% include name-format %}
-
Нажмите кнопку {{ ui-key.yacloud.common.create }}.
-
Создайте версию функции:
{% list tabs group=programming_language %}
-
Python {#python}
-
В списке языков программирования выберите
{{ python-full-ver }}. -
Отключите опцию {{ ui-key.yacloud.serverless-functions.item.editor.label_with-template }} и нажмите {{ ui-key.yacloud.serverless-functions.item.editor.button_action-continue }}.
-
Подготовьте код функции:
- В поле {{ ui-key.yacloud.serverless-functions.item.editor.field_code-source }} выберите
{{ ui-key.yacloud.serverless-functions.item.editor.value_method-zip-file }}и прикрепите созданный ранее архивparrot-py.zip. - В поле {{ ui-key.yacloud.serverless-functions.item.editor.field_entry }} укажите
parrot.handler.
- В поле {{ ui-key.yacloud.serverless-functions.item.editor.field_code-source }} выберите
-
Задайте параметры версии:
- {{ ui-key.yacloud.serverless-functions.item.editor.field_timeout }}:
2. - {{ ui-key.yacloud.serverless-functions.item.editor.field_resources-memory }}:
128 {{ ui-key.yacloud_portal.common.units.label_megabyte }}. - Значение остальных параметров оставьте по умолчанию.
- {{ ui-key.yacloud.serverless-functions.item.editor.field_timeout }}:
-
Нажмите кнопку {{ ui-key.yacloud.serverless-functions.item.editor.button_deploy-version }}.
-
-
Node.js {#node}
-
В списке языков программирования выберите
{{ nodejs-full-ver }}. -
Отключите опцию {{ ui-key.yacloud.serverless-functions.item.editor.label_with-template }} и нажмите {{ ui-key.yacloud.serverless-functions.item.editor.button_action-continue }}.
-
Подготовьте код функции:
- В поле {{ ui-key.yacloud.serverless-functions.item.editor.field_code-source }} выберите
{{ ui-key.yacloud.serverless-functions.item.editor.value_method-zip-file }}и прикрепите созданный ранее архивparrot-js.zip. - В поле {{ ui-key.yacloud.serverless-functions.item.editor.field_entry }} укажите
index.handler.
- В поле {{ ui-key.yacloud.serverless-functions.item.editor.field_code-source }} выберите
-
Задайте параметры версии:
- {{ ui-key.yacloud.serverless-functions.item.editor.field_timeout }}:
2. - {{ ui-key.yacloud.serverless-functions.item.editor.field_resources-memory }}:
128 {{ ui-key.yacloud_portal.common.units.label_megabyte }}. - Значение остальных параметров оставьте по умолчанию.
- {{ ui-key.yacloud.serverless-functions.item.editor.field_timeout }}:
-
Нажмите кнопку {{ ui-key.yacloud.serverless-functions.item.editor.button_deploy-version }}.
-
{% endlist %}
-
Добавьте ссылку на функцию в навык Алисы {#add-link}
-
Перейдите на страницу навыка Алисы в личном кабинете.
-
Нажмите Создать диалог. В открывшемся окне выберите Навык.
-
На вкладке Настройки:
- В поле Имя навыка задайте уникальное имя создаваемого навыка.
- В поле Backend выберите вариант Функция в {{ yandex-cloud }}. В выпадающем списке выберите созданную ранее функцию.
{% note warning %}
В списке отображаются функции, которые вы имеете право просматривать. Чтобы прикрепить функцию к навыку, вам необходимо разрешение на запуск функции. Это разрешение входит в роли {{ roles-functions-invoker }}, {{ roles-editor }} и выше.
{% endnote %}
- Внизу страницы нажмите кнопку Сохранить.
Протестируйте работу навыка {#test}
- Откройте вкладку Тестирование на странице навыка в личном кабинете.
- Если все настроено правильно, в разделе Чат будет сообщение с приглашением начать беседу:
Hello! I'll repeat anything you say to me.. - Отправьте сообщение с любым текстом и убедитесь, что вам пришел ответ с таким же содержанием.
Как удалить созданные ресурсы {#clear-out}
Чтобы прекратить работу навыка, удалите функцию.