Вторая часть про скоринг email-адресов.
В первой я обучил CatBoost отличать живые адреса вроде ivan.ivanov@gmail.com от сгенерированного мусора. Теперь подключаю модель к Node.js-бэкенду, без отдельного Python-сервиса.
Сама модель в ONNX запускается быстро, но основная работа в другом — переписать все признаки на TypeScript так, чтобы они совпадали с Python до последнего бита. Пришлось разбираться с длиной строк в UTF-16, d в регулярках и прототипами у JS-объектов.