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
poetry run task lint

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

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

If you're not sure about the file name format, learn more about wheel file names.

smart_app_framework-2.4.0rc9-py3-none-any.whl (446.1 kB view details)

Uploaded Python 3

File details

Details for the file smart_app_framework-2.4.0rc9-py3-none-any.whl.

File metadata

File hashes

Hashes for smart_app_framework-2.4.0rc9-py3-none-any.whl
Algorithm Hash digest
SHA256 71410d4830faca5113c6ffe86653d81a99cb54082739a76d91a530826e681fc2
MD5 4f7a3c9f003867a930d11cada8aaf853
BLAKE2b-256 ee1782fbc89cea06a668bd5ab8ab845a139a9d26f994e927b6f2414a5ab7cfdd

See more details on using hashes here.

Supported by

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