Используемые технологии:
- Backend: C++
- NlP-модели: Python (FastAPI)
- База данных: MySQL
- Веб-таблица: React
- Email API: Python / C++ (пока не реализован)
- Всё приложение развёрнуто через Docker
Сначала будет происходить парсинг письма. Данный сервис будет реализован через C++ (C++ получает сообщение, отправляет сообщение модели, получает результат отработки и записывает в бд), либо через python (сразу отдает nlp-модели сообщение без api, записывает его в бд, а С++ подготавливает к выводу).
Из текста письма NLP-модель определяет эмоциональный окрас, а также классификацию запроса (ещё не реализовано). После этого генерирует ответ на основе базы знаний и записывает все данные в бд.
Далее клиенсткая часть, находящаяся на сервере nginx, отправляет GET запрос через reverse-proxy серверной части сайта, которая в ответ присылает список данных для таблицы из бд в формате json. В перспективе будет добавлена возможность скачивания таблицы в формате csv/xlsx.
Сразу после записи в базу данных, сервис с email API отправляет письмо с ответом (сразу после записи в бд, если сервис реализован на python, или, после запроса к бд на получение ответа, если сервис реализован на C++).
В результате, получаем быструю серверную часть на C++ c отличной совместимостью сервиса на python. Все сервисы приложения запущены в контейнерах по лучшим практикам с непривилигированными пользователями и изолированной сетью, что обеспечивает высокий уровень безопасности и надежности системы.
