Repolode
midagedev

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. 1

    Ejecuta el script oficial de instalación indicado en el README

  2. 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. 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