Сервис позволяет автоматически обезличивать информацию из
документов разных форматов (PDF
, DOC
, ODF
и прочих, поддерживаемых
LibreOffice).
Сервис принимает запрос на обезличивание, распознаёт и, при помощи
нейронной сети, закрашивает определённые словоформы из поданного документа.
Обезличивателю требуются следуюшие системные пакеты: zlib1g, libjpeg-dev, pkg-config, libhdf5-103, libhdf5-dev, poppler-utils, tesseract-ocr, tesseract-ocr-rus, libreoffice, python3-pip Помимо них требуется один питоновский пакет, который нужно установить глобально: unoserver.
Для установки всех этих зависимостей можно запустить
от рута скрипт debian10-deps.sh
.
После этого необходимо создать питоновское окружение и установить веб-приложение как питоновский пакет
Директорию с моделью нужно положить внутрь директории, куда склонирован репозиторий.
Перед запуском веб-приложения необхоходимо запустить unoserver
от имени того пользователя, от которого будет запускаться веб-приложение.
unoserver
используется в веб-приложении для конвертации форматов.
Само приложение следует запускать через gunicorn
:
gunicorn anonymizer.app:app
Для добства запуска имеется скрипт run.sh
. Ему можно подать параметр
вида 127.0.0.1:80
. Скрипт запускает unoserver
и веб-приложение.
В скрипте есть graceful shutdown обоих.
В итоге развернуть сервис на Debian 10 можно при помощи следующей последовательности комманд:
cd склонированный_репозиторий
# от рута
./debian10-deps.sh
# можно от пользователя
python3 -m venv venv
pip3 install -e . --user
./run.sh 127.0.0.1:80