/
artsadert
/
sber_hackathon
Обзор
Документация
Войти
/
artsadert
/
sber_hackathon
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
feat/adding-front
src/infrastructure/preprocess/preprocessor.py
26 строк
1003 B
DimaKrylovDev
added first version
05 июн 2026, 12:14
05 июн 2026, 12:14
358ecd6
Код
Авторство
О чём код?
from domain.models import LogRecord from infrastructure.preprocess.anomaly import AnomalyDetector from infrastructure.preprocess.drain import DrainClusterer from infrastructure.preprocess.filter import SmartFilter class LogPreprocessor: def __init__( self, clusterer: DrainClusterer | None = None, detector: AnomalyDetector | None = None, filterer: SmartFilter | None = None, ) -> None: self.clusterer = clusterer or DrainClusterer() self.detector = detector or AnomalyDetector() self.filterer = filterer or SmartFilter() def preprocess(self, records: list[LogRecord]) -> list[LogRecord]: cluster_ids, cluster_sizes = self.clusterer.cluster(records) anomalies = self.detector.detect(records, cluster_ids, cluster_sizes) return self.filterer.filter(records, cluster_ids, anomalies) class PassthroughPreprocessor: def preprocess(self, records: list[LogRecord]) -> list[LogRecord]: return records