Этот проект демонстрирует современную архитектуру для высоконагруженных ML-решений: обучение модели на Python (Data Science) и развертывание высокоскоростного инференса на Rust (Backend).
- Python 3.10: Обучение модели классификации (scikit-learn).
- ONNX: Универсальный формат для экспорта нейросетей и моделей.
- Rust: Высокопроизводительный асинхронный бэкенд на базе Axum.
- ort (ONNX Runtime): Движок для исполнения моделей в Rust с минимальными задержками.
/train: Скрипты на Python для генерации данных, обучения модели и экспорта в.onnx./service: Бэкенд на Rust, который принимает данные по HTTP и делает предсказания.
cd train
pip install -r requirements.txt
python train_model.pycd service
cargo runСервис принимает POST-запросы на http://localhost:3000/predict.
Пример запроса:
curl -X POST http://localhost:3000/predict \
-H "Content-Type: application/json" \
-d '{"features": [0.8, 0.9, 0.1, 0.2]}'Использование Rust вместо классического Python-стека (FastAPI/Flask) позволяет сократить время задержки (latency) и потребление оперативной памяти, обеспечивая при этом безопасность работы с памятью и высокую параллельность обработки запросов.