Ejecuta modelos GGUF grandes de mezcla de expertos transmitiendo los pesos de los expertos desde un SSD, con llama.cpp, en equipos con menos RAM o VRAM de la que requiere el modelo.
midagedev/bloomery
Servidor de inferencia de LLM en Rust para modelos mixture-of-experts más grandes que la GPU, con una API HTTP compatible con llama-server, en GPU NVIDIA y Apple Silicon.
- Estrellas
- 60
- Forks
- 7
- Issues abiertos
- 49
- Último commit
- hace 8 horas
¿Qué es?
bloomery sirve modelos de lenguaje grandes de tipo mixture-of-experts en una sola máquina, repartiendo los expertos enrutados entre la memoria de la GPU, la RAM del sistema y, cuando hace falta, el almacenamiento NVMe. El motor registra qué expertos invoca más el decodificador y los mueve a la tarjeta mientras se ejecuta. Está pensado para tarjetas NVIDIA, incluida la DGX Spark (GB10), y para Apple Silicon mediante un backend de Metal.
El servidor expone la misma API HTTP que llama-server, con rutas de OpenAI y Anthropic, entrada GGUF y opciones de ubicación de llama como -ngl, --cpu-moe y -ot, por lo que los clientes existentes funcionan sin cambios. También incluye una caché de prompts en la RAM del sistema, solicitudes por lotes en varios slots y decodificación especulativa en la que un modelo genera un borrador. En algunos casos, los modelos se pueden cargar desde archivos GGUF o desde carpetas de checkpoints NVFP4 y MLX.
Los kernels CUDA están escritos en Rust y se compilan con cuda-oxide. El proyecto tiene licencia MIT y distribuye versiones precompiladas mediante un instalador, Homebrew, Docker y archivos tarball.
Funciones clave
- 01Ejecuta modelos MoE cuyos pesos superan la memoria de la GPU al distribuir los expertos entre las tarjetas, la RAM del sistema y NVMe.
- 02Expone una API HTTP compatible con llama-server, con rutas de OpenAI y Anthropic.
- 03Lee archivos GGUF y las opciones de ubicación de llama, por lo que los clientes existentes funcionan sin cambios.
- 04Mantiene estados de prompts guardados en la RAM del sistema para que las solicitudes que comparten un prefijo puedan reutilizarlos.
- 05Admite varios slots concurrentes y decodificación especulativa cuando se dispone de un borrador.
- 06Incluye un backend de Metal para Mac con Apple Silicon.
Casos de uso
- Ejecutar un modelo MoE grande, como Qwen3-30B-A3B o GLM, en una sola estación de trabajo con una GPU de 24 GB.
- Servir modelos locales en una NVIDIA DGX Spark o una RTX 5090 para agentes de programación.
- Sustituir una implementación de llama-server por un servidor basado en Rust con la misma interfaz para clientes.
- Ejecutar modelos mixture-of-experts en un Mac con Apple Silicon y una GPU Metal.
Inicio rápido
- 1
Ejecuta el script oficial de instalación indicado en el README
- 2
Inicia el servidor con un modelo de Hugging Face
~/.local/bin/bloomery-serve --hf unsloth/Qwen3-30B-A3B-Instruct-2507-GGUF:Q4_K_M - 3
Envía una solicitud de chat de prueba al servidor
curl -s http://127.0.0.1:8080/v1/chat/completions -d '{"messages": [{"role": "user", "content": "Hello"}], "max_tokens": 64}'
Antes de usarlo
- Requiere una GPU NVIDIA con Compute Capability 8.6 o superior, o Apple Silicon con macOS 26.2 o posterior.
- La compatibilidad con Apple Silicon se limita a arquitecturas específicas y apenas se ha verificado; solo permite una ranura y texto.
- Linux x86-64 requiere un controlador NVIDIA R580 o posterior, y Windows solo funciona a través de WSL2.
- El proyecto es reciente: tiene 57 estrellas y está en la versión 0.3.x.
En colecciones
Temas
Preguntas frecuentes
- ¿Qué es bloomery?
- Servidor de inferencia de LLM en Rust para modelos mixture-of-experts más grandes que la GPU, con una API HTTP compatible con llama-server, en GPU NVIDIA y Apple Silicon. bloomery sirve modelos de lenguaje grandes de tipo mixture-of-experts en una sola máquina, repartiendo los expertos enrutados entre la memoria de la GPU, la RAM del sistema y, cuando hace falta, el almacenamiento NVMe. El motor registra qué expertos invoca más el decodificador y los mueve a la tarjeta mientras se ejecuta. Está pensado para tarjetas NVIDIA, incluida la DGX Spark (GB10), y para Apple Silicon mediante un backend de Metal.
- ¿bloomery es gratuito? ¿Qué licencia tiene?
- bloomery es open source bajo la licencia MIT. Revisa los términos de la licencia antes de usarlo en productos comerciales.
- ¿bloomery sigue mantenido?
- Mantenimiento activo. El último commit de bloomery fue el 6 nov 2026.
- ¿Para qué puedo usar bloomery?
- Ejecutar un modelo MoE grande, como Qwen3-30B-A3B o GLM, en una sola estación de trabajo con una GPU de 24 GB. Servir modelos locales en una NVIDIA DGX Spark o una RTX 5090 para agentes de programación. Sustituir una implementación de llama-server por un servidor basado en Rust con la misma interfaz para clientes. Ejecutar modelos mixture-of-experts en un Mac con Apple Silicon y una GPU Metal.
- ¿Cómo se instala bloomery?
- Ejecuta el script oficial de instalación indicado en el README Inicia el servidor con un modelo de Hugging Face: ~/.local/bin/bloomery-serve --hf unsloth/Qwen3-30B-A3B-Instruct-2507-GGUF:Q4_K_M Envía una solicitud de chat de prueba al servidor: curl -s http://127.0.0.1:8080/v1/chat/completions -d '{"messages": [{"role": "user", "content": "Hello"}], "max_tokens": 64}'
- ¿Dónde consigo bloomery?
- El código fuente y las instrucciones de instalación están en GitHub: https://github.com/midagedev/bloomery
Resumen generado por IA a partir del README del proyecto. Las estadísticas de GitHub se actualizan a diario.
Proyectos relacionados
Motor de inferencia nativo y especializado para ejecutar DeepSeek V4 Flash y otros modelos grandes seleccionados en hardware de consumo con Metal, CUDA y ROCm.
Ejecuta grandes LLM de pesos abiertos, como Qwen3.6, GLM 5.3 Flash y Gemma 4, en tu PC con NVIDIA o AMD y ofrece APIs compatibles con OpenAI y Anthropic en localhost.
Runner local y en la nube para modelos abiertos como Gemma, Qwen, DeepSeek y gpt-oss, con CLI, API REST y bibliotecas para Python y JavaScript.
Un motor de inferencia CUDA creado desde cero que ejecuta el modelo completo GLM 5.3 en entre tres y seis equipos DGX Spark (GB10) con una API compatible con OpenAI.
Bindings de Rust para llama.cpp que permiten cargar y ejecutar modelos de lenguaje GGUF localmente mediante el crate llama-cpp-2.