Package: smart-app-framework
SmartApp FrameworkSmartApp Framework- это Python-фреймворк, который позволяет создавать смартапы для виртуальных ассистентов Салют.ОглавлениеКонфигурацияФреймворк и смартапыИнструменты фреймворкаРекомендованные требованияНастройка фреймворкаОбновление фреймворкаУстановка фреймворкаСоздание проектаТестирование онлайнТестирование офлайнДокументацияОбратная связьКонфигурацияФреймворк и смартапыСмартап - это приложение для виртуального ассистента Салют. С помощью смартапов пользователи могут вызвать такси, узнать погоду, управлять устройствами умного дома, записаться в салон красоты и совершить прочие действия, которые можно доверить ассистенту.Виртуальный ассистент понимает текущие намерения пользователя и для каждой его реплики подбирает соответствующий запрос на выполнение ([интент](#TODO: вставить ссылку)). Поведение смартапа для различных интентов описывается с помощью сценариев. Интенты и сценарии связываются через смартапы, написанные на SmartApp Framework.Инструменты фреймворкаФреймворк содержит следующие инструменты:инструменты для создания сценариев;решения для автоматического тестирования;демо-приложение для просмотра примеров реализации;готовые механизмы для слот-филлинга и извлечения сущностей из текста.Рекомендованные требованияLinux, Mac OS или Windows (необходима установкаConda).512 МБ свободной памяти.Python 3.8.0 - 3.9.6.Настройка фреймворкаОбновление фреймворкаДля перехода на новую версию фреймворка выполните в терминале следующие команды:python3-mpipuninstall-ysmart-app-framework
python3-mpipinstallgit+https://github.com/salute-developers/smart_app_framework@mainПри переходе на версию фреймворка >=1.0.7.rc4 со старым смартапом необходимо в директории смартапа из файлаstatic/.text_normalizer_resources/static_workdata.jsonудалить строки 'Ё на Е'.При переходе на версию фреймворка >=1.0.8rc15 со старым смартапом необходимо проверить соблюдение асинхронных
интерфейсов методами классов-наследников классов Action, Requirement, FieldFillerDescription, Scenario, HandlerBase,
SmartAppModel, BaseMainLoop.Установка фреймворкаДля установки фреймворка выполните в терминале следующую команду:python3-mpipinstallgit+https://github.com/salute-developers/smart_app_framework@mainСоздание проектаДля создания проекта выполните в терминале следующую команду:python3-msmart_kitcreate_app<YOUR_APP_NAME>После этого в текущей директории появится каталог с проектом. Он уже содержит в себе всё необходимое для запуска минимального приложения, включая базовый сценарий hello_scenario. Описание сценариев и форм можно найти в <YOUR_APP_NAME>/static/references/.Тестирование онлайнДля тестирования онлайн вам понадобится мобильное приложение Салют или собственное устройство, на котором будет запускаться смартап. Для такого тестирования:Запустите в терминале dev сервер:python3manage.pyrun_appПередайте в интернет порт. Для этого потребуется внешний IP-адрес. Если у вас его нет, воспользуйтесь специальными сервисами (например, Ngrok).Зарегистрируйтесь в кабинете разработчика - [SmartApp Studio](#TODO: вставить ссылку).Создайте в [SmartApp Studio](#TODO: вставить ссылку) свой смартап.Перейдите в настройки смартапа и укажите в поле "Настройки вебхука" адрес вашего сервера. Сохраните изменения.Запустите свой смартап с помощью фразы "Запусти <имя приложения>".В терминале должны появиться записи о входящем сообщении, а ассистент ответит приветствием согласно сценарию hello_scenario.Тестирование офлайнНиже представлен пример команды для терминала при тестировании офлайн и пример ответа, который выводится на экране:localhost:~$python<YOUR_APP_NAME>/manage.pylocal_testingТекущий сценарий: hello_scenarioПривет! Введите help или ? для вызова списка команд.> set intent run_app // смена интента на другой. По умолчанию имя сценария совпадает с именем интентаintent = run_app> ПриветpronounceText: Как тебя зовут?Тестирование сценариевДля тестирования обработки вашим навыком приходящих сообщений воспользуйтесьpython3 manage.py tests --run static/references/testsДокументацияВы можете ознакомиться с подробной документацией по работе со SmartApp Framework в [справочнике разработчика](#TODO: вставить ссылку).РазработкаЗапуск тестовДля тестов используетсяunittests.
Тесты находятся в директорииtestspython-munittestdiscover-stests-vОбратная связьC вопросами и предложениями пишите нам по адресу [#TODO: вставить почту] или вступайте в
наш Telegram канал -SmartMarket Community.