Servidor de inferência de IA local leve, com apenas 5MB em um único binário, oferece interface compatível com a API OpenAI, suporta modelos GGUF e adaptadores LoRA.

MITRustshimmyMichael-A-Kuykendall 2.8k Last Updated: October 04, 2025

Shimmy - Servidor de Inferência de IA Local Leve

Visão Geral do Projeto

Shimmy é um servidor de inferência local de IA de binário único de 5.1MB que fornece endpoints compatíveis com a API OpenAI para modelos GGUF. Ele foi projetado para ser uma "infraestrutura invisível", tornando o desenvolvimento de IA local sem atritos.

Funcionalidades Principais

🚀 Extremamente Leve

  • Tamanho do Binário: Apenas 5.1MB (comparado aos 680MB do Ollama)
  • Tempo de Inicialização: <100ms (comparado aos 5-10 segundos do Ollama)
  • Consumo de Memória: <50MB (comparado aos 200MB+ do Ollama)

🔧 Execução Sem Configuração

  • Alocação Automática de Porta: Evita conflitos de porta
  • Descoberta Automática de Modelos: Suporta múltiplas fontes de modelos
    • Cache do Hugging Face: ~/.cache/huggingface/hub/
    • Modelos Ollama: ~/.ollama/models/
    • Diretório Local: ./models/
    • Variável de Ambiente: SHIMMY_BASE_GGUF=path/to/model.gguf

🎯 Compatibilidade Perfeita

  • 100% Compatível com a API OpenAI: Substitui diretamente ferramentas existentes
  • Pronto para Usar: Ferramentas como VSCode, Cursor, Continue.dev não requerem modificações
  • Suporte Multiplataforma: Linux, macOS, Windows

Arquitetura Técnica

Pilha Tecnológica Principal

  • Linguagem: Rust + Tokio (segurança de memória, desempenho assíncrono)
  • Motor de Inferência: Backend llama.cpp (inferência GGUF padrão da indústria)
  • Design da API: Compatível com OpenAI (substituição plug-and-play)

Formatos de Modelo Suportados

  • Modelos GGUF: Formato principal suportado
  • SafeTensors: Suporte nativo, velocidade de carregamento 2x mais rápida
  • Adaptadores LoRA: Suporte de primeira classe, da fase de treinamento à API de produção em apenas 30 segundos

Instalação e Uso

Instalação Rápida

Método 1: Instalar via Cargo

cargo install shimmy

Método 2: Baixar o Binário Pré-compilado (Windows)

curl -L https://github.com/Michael-A-Kuykendall/shimmy/releases/latest/download/shimmy.exe

Método 3: Instalação no macOS

# Instalar dependências
brew install cmake rust
# Instalar shimmy
cargo install shimmy

Uso Básico

1. Baixar Modelos

# Baixar modelos compatíveis
huggingface-cli download microsoft/Phi-3-mini-4k-instruct-gguf --local-dir ./models/
huggingface-cli download bartowski/Llama-3.2-1B-Instruct-GGUF --local-dir ./models/

2. Iniciar o Servidor

# Alocação automática de porta
shimmy serve

# Especificar porta manualmente
shimmy serve --bind 127.0.0.1:11435

3. Configurar Ferramentas de IA

Configuração do VSCode:

{
  "github.copilot.advanced": {
    "serverUrl": "http://localhost:11435"
  }
}

Configuração do Continue.dev:

{
  "models": [{
    "title": "Local Shimmy",
    "provider": "openai", 
    "model": "your-model-name",
    "apiBase": "http://localhost:11435/v1"
  }]
}

Ferramentas de Linha de Comando

Comandos Básicos

shimmy serve                        # Inicia o servidor (alocação automática de porta)
shimmy serve --bind 127.0.0.1:8080 # Vinculação manual de porta
shimmy list                         # Exibe os modelos disponíveis
shimmy discover                     # Atualiza a descoberta de modelos
shimmy generate --name X --prompt "Hi" # Testar geração
shimmy probe model-name             # Validar carregamento do modelo

Endpoints da API

Endpoints Principais

  • GET /health - Verificação de saúde
  • POST /v1/chat/completions - Chat compatível com OpenAI
  • GET /v1/models - Lista os modelos disponíveis
  • POST /api/generate - API nativa do Shimmy
  • GET /ws/generate - Streaming WebSocket

Exemplo de Uso

# Testar API
curl -X POST http://localhost:11435/v1/chat/completions \
  -H "Content-Type: application/json" \
  -d '{
    "model": "your-model",
    "messages": [{"role": "user", "content": "Hello!"}]
  }'

Comparação de Desempenho

Métrica Shimmy Ollama llama.cpp
Tamanho do Binário 5.1MB 🏆 680MB 89MB
Tempo de Inicialização <100ms 🏆 5-10s 1-2s
Uso de Memória 50MB 🏆 200MB+ 100MB
API OpenAI 100% 🏆 Suporte Parcial Nenhum

Vantagens Principais

🔒 Privacidade em Primeiro Lugar

  • O código permanece na máquina local
  • Sem risco de vazamento de dados
  • Operação totalmente offline

💰 Custo-Benefício

  • Sem cobrança por token
  • Consultas ilimitadas
  • Uma instalação, uso permanente

⚡ Desempenho Superior

  • Inferência local, resposta em submilisegundos
  • Baixo consumo de memória
  • Inicialização rápida

🔄 Implantação Flexível

  • Arquivo binário único
  • Sem dependências externas
  • Compatibilidade multiplataforma

Funcionalidades Estendidas

Suporte a Adaptadores LoRA

Shimmy oferece suporte de primeira classe a adaptadores LoRA, permitindo a implantação rápida de modelos treinados para a API de produção:

# Carregar adaptador LoRA
shimmy serve --lora-adapter path/to/adapter

Troca de Modelo a Quente

Suporta a troca dinâmica de modelos em tempo de execução, sem a necessidade de reiniciar o servidor.

Aceleração por GPU

  • macOS: Aceleração automática de GPU Metal
  • Multiplataforma: Suporta vários backends de GPU

Comunidade e Suporte

Recursos da Comunidade

Resumo

Shimmy é uma solução revolucionária de inferência de IA local que prova que, às vezes, "menos é mais". Através de um design extremamente leve e uma filosofia de configuração zero, Shimmy oferece aos desenvolvedores uma infraestrutura de IA local verdadeiramente "pronta para usar", mantendo o desempenho e a compatibilidade de nível empresarial. Seja você um desenvolvedor de aplicativos de IA, um pesquisador ou um usuário preocupado com a privacidade, Shimmy é uma excelente escolha a ser considerada.

Star History Chart