Executa modelos GGUF grandes de mixture-of-experts transmitindo os pesos dos especialistas do SSD, com base no llama.cpp, em máquinas com menos RAM ou VRAM do que o modelo exige.
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
Execute o script oficial de instalação indicado no README
- 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
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
Um mecanismo nativo de inferência especializado para executar DeepSeek V4 Flash e outros modelos grandes selecionados em hardware Metal, CUDA e ROCm de consumo.
Execute LLMs open-weight de grande porte, como Qwen3.6, GLM 5.3 Flash e Gemma 4, no seu próprio PC NVIDIA ou AMD e disponibilize APIs compatíveis com OpenAI e Anthropic no localhost.
Runner local e na nuvem para modelos abertos, como Gemma, Qwen, DeepSeek e gpt-oss, com CLI, REST API e bibliotecas para Python e JavaScript.
Um mecanismo de inferência CUDA desenvolvido do zero que executa o modelo GLM 5.3 completo em três a seis máquinas DGX Spark (GB10), com uma API compatível com OpenAI.
Bindings de Rust para llama.cpp que permitem carregar e executar modelos de linguagem GGUF localmente por meio do crate llama-cpp-2.