Терминология

Предикт — некий результат вычислений модели машинного обучения.

Сервис Предиктов — внешний сервис машинного обучения, который принимает на вход информацию о слайде, скачивает его, генерирует результат (напр. маску или другую геометрию), загружает результат в FileStorage и отправляет результат в PACS OneCell.

PACS OneCell — сервис платформы OneCell, который хранит предикты, а также отдаёт результат в браузер.

FileStorage — сервис-прослойка между хранилищем S3 и другими сервисами. Через него происходит загрузка файлов, а также их скачивание.

FileKey — уникальный идентификатор файла в FileStorage в формате UUID.

Apache Kafka — сервис для обмена сообщениями между сервисами (message broker).

Коммит — подтверждение транзации.

Топик — именованный канал сообщений в Apache Kafka.

Введение

Данный документ описывает взаимодействие внешнего сервиса предиктов с PACS OneCell для обработки слайдов в реальном времени.

Обмен данными происходит по Apache Kafka. Каждому Сервису Предиктов будет выделено два Топика - входящий и исходящий. Сервис Предиктов должен принимать сообщения из входящего топика, обрабатывать их и отправлять ответ в исходящий.

При этом, Сервис Предиктов должен производить Коммит чтения входящего сообщения только после обработки входящего сообщения.

Взаимодействие сервиса предиктов с PACS OneCell

Для каждого Сервиса Предиктов будет передано название двух Топиков — входящего и исходящего, а также настройки для подключения к брокеру сообщений Apache Kafka.

Сервис должен читать входящий Топик и ожидать сообщения JSON, согласно схеме данных PredictInputMessage. Любые неизвестные сервису поля во входящем JSON должны игнорироваться.

После генерации предикта, сервис должен сохранить его в формат GeoJSON и сжать с помощью GZIP в формат filename.geojson.gz. Предикт должен передаваться в исходящий топик.

Форматы данных