Repolode
mosecorg

mosecorg/mosec

Python-фреймворк для сервинга ML-моделей с веб-слоем на Rust, динамическим батчингом и конвейерами CPU/GPU для API онлайн-инференса.

Звёзды
902
Форки
75
Открытые issues
13
Последний коммит
5 дней назад

Что это?

Mosec — фреймворк для сервинга моделей, позволяющий превращать обученные модели машинного обучения в HTTP-сервисы. Веб-слой и координация задач написаны на Rust, а логику сервиса пользователи определяют на Python. Поэтому один и тот же код инференса можно использовать и для офлайн-тестирования, и в сервисе, не переписывая его под конкретный ML-фреймворк.

Фреймворк объединяет параллельные запросы в батчи с учётом заданных максимального размера батча и времени ожидания, а затем возвращает результаты соответствующим клиентам. Многоэтапные конвейеры позволяют запускать предобработку на CPU и инференс на GPU в отдельных процессах, а число воркеров можно настраивать для каждого этапа отдельно. Среди возможностей для сервинга — прогрев модели, корректное завершение работы, метрики Prometheus и генерация документации OpenAPI. Фреймворк рассчитан на работу в Kubernetes и других оркестраторах контейнеров.

Mosec можно установить из PyPI и conda-forge на Linux и macOS. Примеры охватывают модели PyTorch, JAX и Stable Diffusion, а также совместимые с OpenAI сервисы эмбеддингов и ранжирования.

Ключевые возможности

  • 01Динамический батчинг: объединение параллельных запросов с учётом максимального размера батча или времени ожидания.
  • 02Многоэтапные конвейеры, в которых задачи для CPU и GPU выполняются в отдельных процессах.
  • 03Веб-слой на Rust и интерфейс на чистом Python для написания воркеров.
  • 04Прогрев модели, корректное завершение работы и метрики Prometheus для промышленной эксплуатации.
  • 05Генерация документации OpenAPI для обслуживаемых эндпоинтов.
  • 06Сериализация в Msgpack и JSON, а также поддержка IPC через разделяемую память.

Сценарии использования

  • Сервинг модели PyTorch или Stable Diffusion в виде HTTP API с батчевым инференсом на GPU.
  • Создание многоэтапных сервисов инференса с разделением предобработки и выполнения модели.
  • Развёртывание совместимых с OpenAI эндпоинтов эмбеддингов или ранжирования в контейнерах под управлением Kubernetes.

Быстрый старт

  1. 1

    Установите пакет mosec из PyPI

    pip install -U mosec
  2. 2

    Установите необходимые пакеты diffusers и transformers (требуются только для примера stable diffusion)

    pip install --upgrade diffusers[torch] transformers
  3. 3

    Запустите сервер примера stable diffusion из корневой папки проекта

    python examples/stable_diffusion/server.py --log-level debug --timeout 30000

Что важно знать

  • Установка через pip поддерживается только в Linux или macOS.
  • Требуется Python 3.7 или выше.

В подборках

Темы

Частые вопросы

Что такое mosec?
Python-фреймворк для сервинга ML-моделей с веб-слоем на Rust, динамическим батчингом и конвейерами CPU/GPU для API онлайн-инференса. Mosec — фреймворк для сервинга моделей, позволяющий превращать обученные модели машинного обучения в HTTP-сервисы. Веб-слой и координация задач написаны на Rust, а логику сервиса пользователи определяют на Python. Поэтому один и тот же код инференса можно использовать и для офлайн-тестирования, и в сервисе, не переписывая его под конкретный ML-фреймворк.
mosec можно использовать бесплатно? Какая у него лицензия?
mosec распространяется с открытым исходным кодом под лицензией Apache-2.0. Перед использованием в коммерческих продуктах проверьте условия лицензии.
mosec всё ещё поддерживается?
Активно поддерживается. Последний коммит в mosec — 2 нояб. 2026 г..
Для чего можно использовать mosec?
Сервинг модели PyTorch или Stable Diffusion в виде HTTP API с батчевым инференсом на GPU. Создание многоэтапных сервисов инференса с разделением предобработки и выполнения модели. Развёртывание совместимых с OpenAI эндпоинтов эмбеддингов или ранжирования в контейнерах под управлением Kubernetes.
Как установить mosec?
Установите пакет mosec из PyPI: pip install -U mosec Установите необходимые пакеты diffusers и transformers (требуются только для примера stable diffusion): pip install --upgrade diffusers[torch] transformers Запустите сервер примера stable diffusion из корневой папки проекта: python examples/stable_diffusion/server.py --log-level debug --timeout 30000
Где скачать mosec?
Исходный код и инструкции по установке — на GitHub: https://github.com/mosecorg/mosec

Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.

Похожие проекты

Открытый MLOps/LLMOps-комплекс для отслеживания экспериментов, версионирования датасетов, управления пайплайнами, оркестрации, планирования и обслуживания моделей.

6,9 тыс.+7 за неделю811PythonApache-2.0Активно поддерживаетсяОбновлён 4 дня назад