- POST `/restart` - служебный, перезапускает данный компонент
- auth: TOKEN
- request
- body: none
- response
- status code 200
- body `{ "status": "OK" }`
#### Sequence diagram
![sequence](docs/sequence.png)
### Model Updater
- добавляет в датасет новые тексты из базы дообучения
- запускается по графику, выполняет
- сделать бэкап модели
- запустить дообучение
- при успешном результате дообучения
- вызывает POST `/restart` компонента Decision Maker
### Transport
- используется [Rabbit MQ](https://rabbitmq.com/)
## Use cases
### Телеграм-бот
- приходит сообщение в группу в телегу
- бот его читает (не входит в данный комплекс)
- отправляет на проверку
- получает результат: спам/не спам
- если спам - бот удаляет сообщение
### На почте
- та же схема, только должен быть работающий клиент почты, который читает каждое сообщение, и если обнаружился спам, то помечать его спамом (помещать в категорию спам)
## Дообучение с учителем
### Сбор доп.текстов через Телеграм
- владелец бота в телеге встречает сообщение, которое является спамом, но не было удалено
- это сообщение отправляется в ТГ бот спам-определителя (не реализовано)
- сообщение помещается в базу для дообучения
### Сбор доп.текстов через почту
- спам-письмо можно отправить на почту, которую читает бот (не реализовано)
- бот кладет текст письма в базу дообучения
### Дообучение
- 1 р/сут происходит вычитывание всех сообщений из базы дообучения за день