Repolode
mosecorg

mosecorg/mosec

Framework Python para servir modelos de ML, com camada web em Rust, batching dinâmico e etapas de CPU/GPU em pipeline para APIs de inferência online.

Estrelas
903
Forks
75
Issues abertas
13
Último commit
há 5 dias

O que é?

Mosec é um framework para transformar modelos de machine learning treinados em serviços HTTP online. A camada web e a coordenação de tarefas são implementadas em Rust, enquanto os usuários definem a lógica do serviço em Python. Assim, o mesmo código de inferência usado em testes offline pode ser servido sem reescrevê-lo para um framework de ML específico.

O framework agrupa solicitações simultâneas em batches de acordo com o tamanho máximo configurado e o tempo de espera, e depois distribui os resultados para cada cliente. Pipelines com várias etapas permitem que processos separados cuidem do pré-processamento na CPU e da inferência na GPU, e a quantidade de workers pode ser ajustada por etapa. Entre os recursos para servir modelos estão o aquecimento do modelo, o encerramento graceful, métricas do Prometheus e a geração de documentação OpenAPI. O framework foi projetado para rodar no Kubernetes ou em outros orquestradores de contêineres.

Mosec pode ser instalado pelo PyPI e pelo conda-forge no Linux e no macOS. Os exemplos abrangem modelos de PyTorch, JAX e Stable Diffusion, além de serviços de embeddings e reranking compatíveis com a OpenAI.

Recursos principais

  • 01Batching dinâmico que agrupa solicitações simultâneas pelo tamanho máximo do batch ou pelo tempo de espera.
  • 02Pipelines com várias etapas que executam tarefas de CPU e GPU em processos separados.
  • 03Camada web baseada em Rust, com uma interface totalmente em Python para escrever workers.
  • 04Aquecimento do modelo, encerramento graceful e métricas do Prometheus para uso em produção.
  • 05Geração de documentação OpenAPI para os endpoints servidos.
  • 06Serialização com Msgpack e JSON, com suporte a IPC por memória compartilhada.

Casos de uso

  • Servir um modelo de PyTorch ou Stable Diffusion como API HTTP, com inferência em GPU agrupada em batches.
  • Criar serviços de inferência com várias etapas que separam o pré-processamento da execução do modelo.
  • Implantar endpoints de embeddings ou reranking compatíveis com a OpenAI em contêineres no Kubernetes.

Início rápido

  1. 1

    Instale o pacote mosec do PyPI

    pip install -U mosec
  2. 2

    Instale os pré-requisitos diffusers e transformers (necessários apenas para o exemplo de stable diffusion)

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

    Execute o servidor de exemplo de stable diffusion a partir da raiz do projeto

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

Antes de usar

  • A instalação via pip é compatível apenas com Linux ou macOS.
  • É necessário usar Python 3.7 ou superior.

Em coleções

Tópicos

Perguntas frequentes

O que é mosec?
Framework Python para servir modelos de ML, com camada web em Rust, batching dinâmico e etapas de CPU/GPU em pipeline para APIs de inferência online. Mosec é um framework para transformar modelos de machine learning treinados em serviços HTTP online. A camada web e a coordenação de tarefas são implementadas em Rust, enquanto os usuários definem a lógica do serviço em Python. Assim, o mesmo código de inferência usado em testes offline pode ser servido sem reescrevê-lo para um framework de ML específico.
mosec é gratuito? Qual é a licença?
mosec é open source sob a licença Apache-2.0. Confira os termos da licença antes de usá-lo em produtos comerciais.
mosec ainda é mantido?
Manutenção ativa. O último commit de mosec foi em 2 de nov. de 2026.
Para que posso usar mosec?
Servir um modelo de PyTorch ou Stable Diffusion como API HTTP, com inferência em GPU agrupada em batches. Criar serviços de inferência com várias etapas que separam o pré-processamento da execução do modelo. Implantar endpoints de embeddings ou reranking compatíveis com a OpenAI em contêineres no Kubernetes.
Como instalar mosec?
Instale o pacote mosec do PyPI: pip install -U mosec Instale os pré-requisitos diffusers e transformers (necessários apenas para o exemplo de stable diffusion): pip install --upgrade diffusers[torch] transformers Execute o servidor de exemplo de stable diffusion a partir da raiz do projeto: python examples/stable_diffusion/server.py --log-level debug --timeout 30000
Onde consigo mosec?
O código-fonte e as instruções de instalação estão no GitHub: https://github.com/mosecorg/mosec

Resumo gerado por IA a partir do README do projeto. As estatísticas do GitHub são atualizadas diariamente.

Projetos relacionados