Skip to main content

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

Project description

SmartApp Framework

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

Оглавление


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

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

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

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

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

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

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

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

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

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

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

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

python3 -m pip uninstall -y smart-app-framework
python3 -m pip install git+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 -m pip install git+https://github.com/salute-developers/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](#TODO: вставить ссылку).
  3. Создайте в [SmartApp Studio](#TODO: вставить ссылку) свой смартап.
  4. Перейдите в настройки смартапа и укажите в поле "Настройки вебхука" адрес вашего сервера. Сохраните изменения.
  5. Запустите свой смартап с помощью фразы "Запусти <имя приложения>".

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

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

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

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

Тестирование сценариев

Для тестирования обработки вашим навыком приходящих сообщений воспользуйтесь

python3 manage.py tests --run static/references/tests

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

Вы можете ознакомиться с подробной документацией по работе со SmartApp Framework в [справочнике разработчика](#TODO: вставить ссылку).

Разработка

Запуск тестов

Для тестов используется unittests. Тесты находятся в директории tests

python -m unittest discover -s tests -v

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

C вопросами и предложениями пишите нам по адресу [#TODO: вставить почту] или вступайте в наш Telegram канал - SmartMarket Community.

Project details


Release history Release notifications | RSS feed

This version

2.2.0

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

smart_app_framework-2.2.0-py3-none-any.whl (306.3 kB view details)

Uploaded Python 3

File details

Details for the file smart_app_framework-2.2.0-py3-none-any.whl.

File metadata

File hashes

Hashes for smart_app_framework-2.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 6ceaccfd13b52db4c018460f792ec9226e0d8d57787d02fe982eee21c8baae81
MD5 990b16a07bf87dab2a284561cfc7216d
BLAKE2b-256 cee004fad1ccd684f484a052ffe53259d1709a922ebe1bb63c5e66ad2dc41102

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page