Skip to content

SmartApp Framework для создания навыков семейства Виртуальных Ассистентов "Салют" на языке Python

License

Notifications You must be signed in to change notification settings

grem-li/smart_app_framework

 
 

Repository files navigation

SmartApp Framework

SmartApp Framework - это Python-фреймворк, который позволяет создавать смартапы для виртуальных ассистентов Салют.

Оглавление


Конфигурация

Фреймворк и смартапы

Смартап - это приложение для виртуального ассистента Салют. С помощью смартапов пользователи могут вызвать такси, узнать погоду, управлять устройствами умного дома, записаться в салон красоты и совершить прочие действия, которые можно доверить ассистенту.

Виртуальный ассистент понимает текущие намерения пользователя и для каждой его реплики подбирает соответствующий запрос на выполнение (интент). Поведение смартапа для различных интентов описывается с помощью сценариев. Интенты и сценарии связываются через смартапы, написанные на SmartApp Framework.

Инструменты фреймворка

Фреймворк содержит следующие инструменты:

  • инструменты для создания сценариев;
  • решения для автоматического тестирования;
  • демо-приложение для просмотра примеров реализации;
  • готовые механизмы для слот-филлинга и извлечения сущностей из текста.

Рекомендованные требования

  • Linux, Mac OS или Windows (необходима установка Conda).
  • 512 МБ свободной памяти.
  • Python 3.6.8 - 3.9.6.

Настройка фреймворка

Обновление фреймворка

Для перехода на новую версию фреймворка выполните в терминале следующие команды:

python3 -m pip uninstall -y smart-app-framework
python3 -m pip install git+https://github.com/sberdevices/smart_app_framework@main

При переходе на версию фреймворка >=1.0.7.rc4 со старым смартапом необходимо в директории смартапа из файла static/.text_normalizer_resources/static_workdata.json удалить строки 'Ё на Е'.

Установка фреймворка

Для установки фреймворка выполните в терминале следующую команду:

python3 -m pip install git+https://github.com/sberdevices/smart_app_framework@main

Создание проекта

Для создания проекта выполните в терминале следующую команду:

python3 -m smart_kit create_app <YOUR_APP_NAME>

После этого в текущей директории появится каталог с проектом. Он уже содержит в себе всё необходимое для запуска минимального приложения, включая базовый сценарий hello_scenario. Описание сценариев и форм можно найти в <YOUR_APP_NAME>/static/references/.

Тестирование онлайн

Для тестирования онлайн вам понадобится мобильное приложение Сбер Салют или собственное устройство, на котором будет запускаться смартап. Для такого тестирования:

  1. Запустите в терминале dev сервер:
python3 manage.py run_app
  1. Передайте в интернет порт. Для этого потребуется внешний IP-адрес. Если у вас его нет, воспользуйтесь специальными сервисами (например, Ngrok).
  2. Зарегистрируйтесь в кабинете разработчика - SmartApp Studio.
  3. Создайте в SmartApp Studio свой смартап.
  4. Перейдите в настройки смартапа и укажите в поле "Настройки вебхука" адрес вашего сервера. Сохраните изменения.
  5. Запустите свой смартап с помощью фразы "Запусти <имя приложения>".

В терминале должны появиться записи о входящем сообщении, а ассистент ответит приветствием согласно сценарию hello_scenario.

Тестирование офлайн

Ниже представлен пример команды для терминала при тестировании офлайн и пример ответа, который выводится на экране:

localhost:~$ python <YOUR_APP_NAME>/manage.py local_testing
Текущий сценарий: hello_scenario
Привет! Введите help или ? для вызова списка команд.
> set intent run_app // смена интента на другой. По умолчанию имя сценария совпадает с именем интента
intent = run_app
> Привет
pronounceText: Как тебя зовут?

Документация

Вы можете ознакомиться с подробной документацией по работе со SmartApp Framework в справочнике разработчика.

Обратная связь

C вопросами и предложениями пишите нам по адресу [email protected] или вступайте в наш Telegram канал - SmartMarket Community.

About

SmartApp Framework для создания навыков семейства Виртуальных Ассистентов "Салют" на языке Python

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Python 100.0%