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.0rc10-py3-none-any.whl (446.1 kB view details)

Uploaded Python 3

File details

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

File metadata

File hashes

Hashes for smart_app_framework-2.4.0rc10-py3-none-any.whl
Algorithm Hash digest
SHA256 e62111b7d0fd1507c46d1d32199b8d2e0dd3007e93f0d9a0001fafa20eeb5184
MD5 8679025a6abe059cc9f0407ba1269f15
BLAKE2b-256 55e08af7084267d79f243082b215f200350e08c8e231ef3c52f37bf2ceddc4a0

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