Repolode
midagedev

midagedev/bloomery

Servidor de inferência de LLM em Rust para modelos mixture-of-experts maiores que a GPU, com API HTTP compatível com llama-server, em GPUs NVIDIA e Apple Silicon.

Estrelas
61
Forks
7
Issues abertas
49
Último commit
há 7 horas

O que é?

bloomery serve modelos de linguagem grandes do tipo mixture-of-experts em uma única máquina, distribuindo os experts roteados entre a memória da GPU, a RAM do host e, quando necessário, o armazenamento NVMe. O mecanismo monitora quais experts o decoder mais aciona e os transfere para a placa durante a execução. O projeto oferece suporte a placas NVIDIA, incluindo a DGX Spark (GB10), e a Apple Silicon por meio de um backend Metal.

O servidor expõe a mesma API HTTP do llama-server, com rotas OpenAI e Anthropic, entrada GGUF e flags de posicionamento do llama, como -ngl, --cpu-moe e -ot, para que os clientes existentes funcionem sem alterações. Também inclui um cache de prompts mantido na RAM do host, processamento em lote de solicitações em vários slots e speculative decoding com um modelo que fornece um rascunho. Em alguns casos, é possível carregar modelos de arquivos GGUF ou de pastas de checkpoints NVFP4 e MLX.

Os kernels CUDA são escritos em Rust e compilados com cuda-oxide. O projeto usa a licença MIT e oferece versões pré-compiladas por meio de um instalador, Homebrew, Docker e arquivos tarball.

Recursos principais

  • 01Executa modelos MoE cujos pesos excedem a memória da GPU, distribuindo os experts entre placas, RAM do host e NVMe.
  • 02Expõe uma API HTTP compatível com llama-server, com rotas OpenAI e Anthropic.
  • 03Lê arquivos GGUF e flags de posicionamento do llama, para que os clientes existentes funcionem sem alterações.
  • 04Mantém estados de prompts salvos na RAM do host para que solicitações com o mesmo prefixo possam reutilizá-los.
  • 05Oferece suporte a vários slots simultâneos e a speculative decoding quando há um modelo de rascunho disponível.
  • 06Inclui um backend Metal para Macs com Apple Silicon.

Casos de uso

  • Executar um modelo MoE grande, como Qwen3-30B-A3B ou GLM, em uma única workstation com uma GPU de 24 GB.
  • Servir modelos locais em uma NVIDIA DGX Spark ou RTX 5090 para agentes de programação.
  • Substituir uma implantação do llama-server por um servidor em Rust com a mesma interface para clientes.
  • Executar modelos mixture-of-experts em um Mac com Apple Silicon e GPU Metal.

Início rápido

  1. 1

    Execute o script oficial de instalação indicado no README

  2. 2

    Inicie o servidor com um modelo do Hugging Face

    ~/.local/bin/bloomery-serve --hf unsloth/Qwen3-30B-A3B-Instruct-2507-GGUF:Q4_K_M
  3. 3

    Envie uma solicitação de chat de teste para o servidor

    curl -s http://127.0.0.1:8080/v1/chat/completions -d '{"messages": [{"role": "user", "content": "Hello"}], "max_tokens": 64}'

Antes de usar

  • Requer uma GPU NVIDIA com Compute Capability 8.6 ou superior, ou Apple Silicon com macOS 26.2 ou posterior.
  • O suporte a Apple Silicon é limitado a arquiteturas específicas e foi pouco verificado; permite apenas um slot e somente texto.
  • Linux x86-64 requer um driver NVIDIA R580 ou mais recente, e o Windows funciona apenas por meio do WSL2.
  • O projeto ainda é recente, com 57 estrelas e versão 0.3.x.

Em coleções

Tópicos

Perguntas frequentes

O que é bloomery?
Servidor de inferência de LLM em Rust para modelos mixture-of-experts maiores que a GPU, com API HTTP compatível com llama-server, em GPUs NVIDIA e Apple Silicon. bloomery serve modelos de linguagem grandes do tipo mixture-of-experts em uma única máquina, distribuindo os experts roteados entre a memória da GPU, a RAM do host e, quando necessário, o armazenamento NVMe. O mecanismo monitora quais experts o decoder mais aciona e os transfere para a placa durante a execução. O projeto oferece suporte a placas NVIDIA, incluindo a DGX Spark (GB10), e a Apple Silicon por meio de um backend Metal.
bloomery é gratuito? Qual é a licença?
bloomery é open source sob a licença MIT. Confira os termos da licença antes de usá-lo em produtos comerciais.
bloomery ainda é mantido?
Manutenção ativa. O último commit de bloomery foi em 7 de nov. de 2026.
Para que posso usar bloomery?
Executar um modelo MoE grande, como Qwen3-30B-A3B ou GLM, em uma única workstation com uma GPU de 24 GB. Servir modelos locais em uma NVIDIA DGX Spark ou RTX 5090 para agentes de programação. Substituir uma implantação do llama-server por um servidor em Rust com a mesma interface para clientes. Executar modelos mixture-of-experts em um Mac com Apple Silicon e GPU Metal.
Como instalar bloomery?
Execute o script oficial de instalação indicado no README Inicie o servidor com um modelo do Hugging Face: ~/.local/bin/bloomery-serve --hf unsloth/Qwen3-30B-A3B-Instruct-2507-GGUF:Q4_K_M Envie uma solicitação de chat de teste para o servidor: curl -s http://127.0.0.1:8080/v1/chat/completions -d '{"messages": [{"role": "user", "content": "Hello"}], "max_tokens": 64}'
Onde consigo bloomery?
O código-fonte e as instruções de instalação estão no GitHub: https://github.com/midagedev/bloomery

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

Projetos relacionados