ch_pat_service.py- рабочая версия сервиса и базовое (отладочное) приложение №1 на "чистом" flaskch_pat_dash_app.py- базовое (отладочное) приложение №2 с использованием dashch_pat_model.py,model_basics.py- базовый класс и пример реализации предсказательной моделиch_pat_models_management.py- функции управления моделямиch_pat_param_schema.py- схема для валидации параметров на marshmallowparams_list.csv- список параметровtemplates,static/css- папки с файлами для рендеринга базового приложения №1models- папка с дампами обученных моделей
- Внесение новой модели делается в отдельной ветке с pull request'ом по готовности.
- Каждая модель описывается в файле
model_<специфичное имя>.py, наследуясь от классаChPatModel(ch_pat_model.py). При необходимости вспомогательные файлы, касающиеся этой модели, можно сохранить в отдельной папке (не в корне). - Для тестирования моделей в файле могут быть реализованы функции в файлах
test_<специфичное имя>.py(можно использовать pytest) - Обученная и настроенная модель сохраняется в pickle-файл с расширением
.pklв папкеmodelsс использованием методаstore_model. - Необходимые входные параметры вносятся в таблицу в
params_list.csvи в схему для валидацииch_pat_param_schema.py.
Приложение запускается из файла ch_pat_service.py командой:
python ch_pat_service.pyСтановятся доступны следующие сервисы (адрес по умолчанию - http://127.0.0.1:5000/):
/ch_pat_service- основная рабочая точка входа сервиса, используемая для интеграции (выход - json)/ch_pat_service_ui- точка входа сервиса, выдающая "читаемый" html/- отладочный интерфейс, формируемый по параметрам изparams_list.csvдля вызова сервиса/ch_pat_service_ui
Приложение на dash запускается из файла ch_pat_dash_app.py командой:
python ch_pat_dash_app.pyПо умолчанию приложение доступно по адресу http://127.0.0.1:8050/.
Запуск скриптом на bash (на сервере ДМ скрипт ~/run_ch_service.sh):
export FLASK_APP=~/chronic-patient-model-service/ch_pat_service.py
cd ~/chronic-patient-model-service
flask run --host=0.0.0.0 &Снятие фоновых процессов flask (на сервере ДМ скрипт ~/kill_ch_server.sh):
killall flaskЗапуск с использованием GUnicorn:
gunicorn ch_pat_service:app -b 0.0.0.0:5000 -w 2 &