Um guard em Python apenas com numpy que detecta, durante o streaming, corrupção na decodificação de LLMs, como loops de repetição e deriva de idioma, e aborta antes que o usuário veja tokens ruins.
smg-project/smg
Gateway de LLM em Rust, independente de engine, que roteia tráfego compatível com OpenAI e Anthropic entre engines de inferência self-hosted e provedores de modelos na nuvem.
- Estrelas
- 633
- Forks
- 195
- Issues abertas
- 172
- Último commit
- há 17 horas
O que é?
O SMG (Shepherd Model Gateway) é um gateway de roteamento de modelos que fica à frente de servidores de inferência de LLM e provedores na nuvem, expondo todos por um único endpoint unificado. Ele gerencia o ciclo de vida dos workers, distribui o tráfego entre vLLM, SGLang, TensorRT-LLM, TokenSpeed, MLX e qualquer servidor compatível com OpenAI, além de poder encaminhar solicitações para OpenAI, Anthropic, Gemini, xAI, AWS Bedrock e Azure OpenAI.
Para engines self-hosted, o roteador acompanha o estado do KV cache com árvores radix, para que solicitações com um prefixo em comum cheguem ao mesmo worker, e oferece suporte à desagregação de prefill/decode por um pipeline gRPC nativo. Entre os recursos operacionais estão a descoberta de pods do Kubernetes, circuit breakers, limitação de taxa, agendamento de admissão por prioridade e métricas Prometheus com tracing do OpenTelemetry.
O gateway também oferece armazenamento do histórico de chat (PostgreSQL, Oracle, Redis ou em memória), execução de ferramentas MCP, autenticação por API key e OIDC, além de plugins WebAssembly para personalizar o tratamento de solicitações.
Recursos principais
- 01Endpoints de API unificados no estilo OpenAI, Anthropic e Gemini para backends self-hosted e na nuvem.
- 02Roteamento sensível ao cache e outras nove políticas de balanceamento de carga.
- 03Pipeline gRPC nativo com desagregação de prefill/decode e encode.
- 04Descoberta de pods do Kubernetes e mesh de alta disponibilidade para implantações com vários nós.
- 05Execução de ferramentas MCP e parsers de chamadas de ferramentas e raciocínio para diversos modelos abertos.
- 06Métricas Prometheus, tracing do OpenTelemetry e plugins WebAssembly.
Casos de uso
- Distribuir solicitações entre uma frota de servidores GPU com vLLM ou SGLang.
- Expor um único endpoint compatível com OpenAI que encaminha solicitações tanto para engines locais quanto para modelos hospedados na nuvem.
- Adicionar autenticação, controles multi-tenant e histórico de chat a um serviço de LLM.
- Executar uma plataforma de inferência com roteamento no Kubernetes e descoberta automática de workers.
Início rápido
- 1
Instalar via Docker
docker pull lightseekorg/smg:latest - 2
Instalar via Python
pip install smg - 3
Iniciar o gateway para se conectar aos seus workers de inferência
smg launch --worker-urls http://localhost:8000 - 4
Enviar uma solicitação de chat ao gateway
curl http://localhost:30000/v1/chat/completions -H "Content-Type: application/json" -d '{"model": "llama3", "messages": [{"role": "user", "content": "Hello!"}]}'
Antes de usar
- Para executá-lo, é necessário ter pelo menos um worker de inferência existente ou um provedor de nuvem para onde encaminhar as solicitações.
- O README não informa se há uma versão estável, então podem ocorrer mudanças entre versões.
Tópicos
Perguntas frequentes
- O que é smg?
- Gateway de LLM em Rust, independente de engine, que roteia tráfego compatível com OpenAI e Anthropic entre engines de inferência self-hosted e provedores de modelos na nuvem. O SMG (Shepherd Model Gateway) é um gateway de roteamento de modelos que fica à frente de servidores de inferência de LLM e provedores na nuvem, expondo todos por um único endpoint unificado. Ele gerencia o ciclo de vida dos workers, distribui o tráfego entre vLLM, SGLang, TensorRT-LLM, TokenSpeed, MLX e qualquer servidor compatível com OpenAI, além de poder encaminhar solicitações para OpenAI, Anthropic, Gemini, xAI, AWS Bedrock e Azure OpenAI.
- smg é gratuito? Qual é a licença?
- smg é open source sob a licença Apache-2.0. Confira os termos da licença antes de usá-lo em produtos comerciais.
- smg ainda é mantido?
- Manutenção ativa. O último commit de smg foi em 19 de out. de 2026.
- Para que posso usar smg?
- Distribuir solicitações entre uma frota de servidores GPU com vLLM ou SGLang. Expor um único endpoint compatível com OpenAI que encaminha solicitações tanto para engines locais quanto para modelos hospedados na nuvem. Adicionar autenticação, controles multi-tenant e histórico de chat a um serviço de LLM. Executar uma plataforma de inferência com roteamento no Kubernetes e descoberta automática de workers.
- Como instalar smg?
- Instalar via Docker: docker pull lightseekorg/smg:latest Instalar via Python: pip install smg Iniciar o gateway para se conectar aos seus workers de inferência: smg launch --worker-urls http://localhost:8000 Enviar uma solicitação de chat ao gateway: curl http://localhost:30000/v1/chat/completions -H "Content-Type: application/json" -d '{"model": "llama3", "messages": [{"role": "user", "content": "Hello!"}]}'
- Onde consigo smg?
- O código-fonte e as instruções de instalação estão no GitHub: https://github.com/smg-project/smg
Resumo gerado por IA a partir do README do projeto. As estatísticas do GitHub são atualizadas diariamente.
Projetos relacionados
Proxy de CLI que filtra e compacta a saída de comandos do shell antes que ela chegue ao contexto de um agente de programação com IA, reduzindo o uso de tokens.
Plataforma de chat no estilo ChatGPT, auto-hospedada, que reúne vários provedores de IA e oferece Agents, suporte a MCP, Artifacts e autenticação multiusuário.
Agente de programação para terminal com ferramentas integradas de LSP, debugger, navegador e subagentes, compatível com mais de 60 provedores de modelos.
Um harness local-first em Rust que transforma agentes de programação, como Claude Code e Codex, em agentes de pesquisa para revisão de literatura, experimentos e artefatos.
Servidor de inferência autogerenciado que oferece modelos de embeddings, reranking, OCR, extração, segurança e LLM em um único cluster por uma API compatível com OpenAI.