Repolode
smg-project

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

    Instalar via Docker

    docker pull lightseekorg/smg:latest
  2. 2

    Instalar via Python

    pip install smg
  3. 3

    Iniciar o gateway para se conectar aos seus workers de inferência

    smg launch --worker-urls http://localhost:8000
  4. 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