Skip to main content

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

Project description

SmartApp Framework

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

Оглавление


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

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

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

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

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

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

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

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

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

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

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

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

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

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.3.0rc37-py3-none-any.whl (444.1 kB view details)

Uploaded Python 3

File details

Details for the file smart_app_framework-2.3.0rc37-py3-none-any.whl.

File metadata

File hashes

Hashes for smart_app_framework-2.3.0rc37-py3-none-any.whl
Algorithm Hash digest
SHA256 e2dd40b8edd37e503047ac32d8cb6696a3f8a8990fbab8b8fef83539b36cbe0a
MD5 52a58040a9233a5204f56032e4f58142
BLAKE2b-256 1c6afb76b8b4bb885dd24e1f895c8315c335a250499e47d3314b7c39b0e6c58f

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