Un guardián de Python que solo usa numpy y detecta errores de decodificación de LLM, como bucles de repetición y cambios de idioma durante la generación, para detenerlos antes de mostrar tokens incorrectos.
smg-project/smg
Gateway de LLM independiente del motor, escrito en Rust, que enruta tráfico compatible con OpenAI y Anthropic entre motores de inferencia autohospedados y proveedores de modelos en la nube.
- Estrellas
- 633
- Forks
- 195
- Issues abiertos
- 172
- Último commit
- hace 17 horas
¿Qué es?
SMG (Shepherd Model Gateway) es un gateway de enrutamiento de modelos que se sitúa delante de servidores de inferencia de LLM y proveedores en la nube, y los expone mediante un único endpoint unificado. Gestiona el ciclo de vida de los workers, distribuye el tráfico entre vLLM, SGLang, TensorRT-LLM, TokenSpeed, MLX y cualquier servidor compatible con OpenAI, y también puede reenviar solicitudes a OpenAI, Anthropic, Gemini, xAI, AWS Bedrock y Azure OpenAI.
Para los motores autohospedados, el router rastrea el estado de la caché KV mediante árboles radix, de modo que las solicitudes que comparten un prefijo lleguen al mismo worker, y admite la desagregación de prefill y decode mediante un pipeline gRPC nativo. Entre sus funciones operativas se incluyen el descubrimiento de pods de Kubernetes, los circuit breakers, la limitación de tasa, la planificación de admisión por prioridad y las métricas de Prometheus con trazas de OpenTelemetry.
El gateway también ofrece almacenamiento del historial de chat (PostgreSQL, Oracle, Redis o memoria), ejecución de herramientas MCP, autenticación mediante API key y OIDC, y plugins de WebAssembly para gestionar solicitudes de forma personalizada.
Funciones clave
- 01Endpoints de API unificados con estilos compatibles con OpenAI, Anthropic y Gemini para backends autohospedados y en la nube.
- 02Enrutamiento que tiene en cuenta la caché, además de otras nueve políticas de balanceo de carga.
- 03Pipeline gRPC nativo con desagregación de prefill/decode y encode.
- 04Descubrimiento de pods de Kubernetes y malla de alta disponibilidad para implementaciones multinodo.
- 05Ejecución de herramientas MCP y parsers de llamadas a herramientas y razonamiento para numerosos modelos abiertos.
- 06Métricas de Prometheus, trazas de OpenTelemetry y plugins de WebAssembly.
Casos de uso
- Distribuir solicitudes entre un conjunto de servidores GPU con vLLM o SGLang.
- Exponer un único endpoint compatible con OpenAI que dé acceso tanto a motores locales como a modelos alojados en la nube.
- Añadir autenticación, controles multiusuario e historial de chat a un servicio de LLM.
- Ejecutar una plataforma de inferencia con enrutamiento en Kubernetes y descubrimiento automático de workers.
Inicio rápido
- 1
Instalar mediante Docker
docker pull lightseekorg/smg:latest - 2
Instalar mediante Python
pip install smg - 3
Iniciar la puerta de enlace para que se conecte a tus workers de inferencia
smg launch --worker-urls http://localhost:8000 - 4
Enviar una solicitud de chat a la puerta de enlace
curl http://localhost:30000/v1/chat/completions -H "Content-Type: application/json" -d '{"model": "llama3", "messages": [{"role": "user", "content": "Hello!"}]}'
Antes de usarlo
- Para ejecutarlo, se necesita al menos un worker de inferencia existente o un proveedor de nube al que enrutar las solicitudes.
- El README no indica si hay una versión estable, así que puede haber cambios entre versiones.
Temas
Preguntas frecuentes
- ¿Qué es smg?
- Gateway de LLM independiente del motor, escrito en Rust, que enruta tráfico compatible con OpenAI y Anthropic entre motores de inferencia autohospedados y proveedores de modelos en la nube. SMG (Shepherd Model Gateway) es un gateway de enrutamiento de modelos que se sitúa delante de servidores de inferencia de LLM y proveedores en la nube, y los expone mediante un único endpoint unificado. Gestiona el ciclo de vida de los workers, distribuye el tráfico entre vLLM, SGLang, TensorRT-LLM, TokenSpeed, MLX y cualquier servidor compatible con OpenAI, y también puede reenviar solicitudes a OpenAI, Anthropic, Gemini, xAI, AWS Bedrock y Azure OpenAI.
- ¿smg es gratuito? ¿Qué licencia tiene?
- smg es open source bajo la licencia Apache-2.0. Revisa los términos de la licencia antes de usarlo en productos comerciales.
- ¿smg sigue mantenido?
- Mantenimiento activo. El último commit de smg fue el 19 oct 2026.
- ¿Para qué puedo usar smg?
- Distribuir solicitudes entre un conjunto de servidores GPU con vLLM o SGLang. Exponer un único endpoint compatible con OpenAI que dé acceso tanto a motores locales como a modelos alojados en la nube. Añadir autenticación, controles multiusuario e historial de chat a un servicio de LLM. Ejecutar una plataforma de inferencia con enrutamiento en Kubernetes y descubrimiento automático de workers.
- ¿Cómo se instala smg?
- Instalar mediante Docker: docker pull lightseekorg/smg:latest Instalar mediante Python: pip install smg Iniciar la puerta de enlace para que se conecte a tus workers de inferencia: smg launch --worker-urls http://localhost:8000 Enviar una solicitud de chat a la puerta de enlace: curl http://localhost:30000/v1/chat/completions -H "Content-Type: application/json" -d '{"model": "llama3", "messages": [{"role": "user", "content": "Hello!"}]}'
- ¿Dónde consigo smg?
- El código fuente y las instrucciones de instalación están en GitHub: https://github.com/smg-project/smg
Resumen generado por IA a partir del README del proyecto. Las estadísticas de GitHub se actualizan a diario.
Proyectos relacionados
Proxy CLI que filtra y comprime la salida de comandos de shell antes de que llegue al contexto de un agente de programación con IA, reduciendo el uso de tokens.
Plataforma de chat autohospedada al estilo de ChatGPT que unifica múltiples proveedores de IA e incluye Agents, compatibilidad con MCP, Artifacts y autenticación multiusuario.
Agente de programación para terminal con LSP, depurador, navegador y herramientas para subagentes integrados, compatible con más de 60 proveedores de modelos.
Un entorno de trabajo local-first en Rust que convierte agentes de programación como Claude Code y Codex en agentes de investigación para revisar literatura, realizar experimentos y crear artefactos.
Servidor de inferencia autohospedado que sirve modelos de embeddings, reranking, OCR, extracción, seguridad y LLM desde un solo clúster mediante una API compatible con OpenAI.