llm-gateway
Faz seu agente gerenciar o tráfego de modelos de linguagem. Ele distribui as requisições, controla o acesso e monitora os custos para garantir eficiência.
O que ela faz
Este sistema funciona como um "porteiro" inteligente para modelos de inteligência artificial (IA). Ele direciona os pedidos para diferentes modelos de IA, garantindo que nenhum modelo seja sobrecarregado e que os custos sejam controlados.
Quando usar
- ✓Quando você usa vários modelos de IA diferentes.
- ✓Para controlar quanto cada equipe ou usuário gasta.
- ✓Para garantir que o serviço continue funcionando mesmo se um modelo de IA falhar.
Exemplo do que pedir para a IA
“Como posso usar este sistema para gerenciar o acesso aos modelos de IA e controlar os custos?”
Quer saber mais? Abra as seções abaixo.
Como usar
O jeito mais fácil: copie a mensagem abaixo e cole no Claude, ChatGPT, Cursor ou outra IA. Ela lê a skill e segue as instruções.
Link da skill
Mensagem pronta para colar
Como funciona
Ele recebe seus pedidos e os envia para o modelo de IA mais adequado ou disponível. Ele também monitora o uso e pode mudar para um modelo diferente se o principal estiver com problemas.
Instalação
Jeito mais fácil: copie o link da skill e cole no Claude, ChatGPT ou Cursor pedindo para seguir as instruções.
No terminal (Claude Code, Codex, Cursor), na pasta do projeto:
npx skills add sickn33/agentic-awesome-skills --skill llm-gatewayOu baixe só o arquivo:
curl -L https://raw.githubusercontent.com/sickn33/agentic-awesome-skills/main/plugins/agentic-awesome-skills-claude/skills/llm-gateway/SKILL.md -o SKILL.mdConteúdo técnico (SKILL.md)
Tradução do texto original do autor no GitHub. Os comandos e códigos estão como no original.
LLM Gateway
Um gateway de API unificado que roteia requisições de LLM entre provedores e modelos auto-hospedados — com limitação de taxa, rastreamento de custos, cache e failover.
Quando Usar Esta Funcionalidade
Use esta funcionalidade quando:
- Executar múltiplos backends de LLM (OpenAI, Anthropic, vLLM, Ollama) atrás de um único endpoint
- Impor limites de taxa e orçamentos de gastos por equipe ou por usuário
- Implementar fallback automático quando um provedor estiver indisponível
- Adicionar cache semântico para reduzir custos de API em 20–50%
- Centralizar o gerenciamento de chaves de API em vez de distribuir chaves para cada aplicativo
Pré-requisitos
- Docker e Docker Compose
- Um banco de dados PostgreSQL ou SQLite (para o estado do LiteLLM)
- Chaves de API de LLM (OpenAI, Anthropic, etc.) ou endpoints vLLM auto-hospedados
- Opcional: Redis para cache e limitação de taxa
LiteLLM Proxy — Início Rápido
LiteLLM é o gateway de LLM open-source de fato com API compatível com OpenAI.
# Run with Docker
docker run -d \
--name litellm-proxy \
-p 4000:4000 \
-e OPENAI_API_KEY=$OPENAI_API_KEY \
-e ANTHROPIC_API_KEY=$ANTHROPIC_API_KEY \
-v $(pwd)/litellm-config.yaml:/app/config.yaml \
ghcr.io/berriai/litellm:main-latest \
--config /app/config.yaml \
--detailed_debug
Configuração do LiteLLM
# litellm-config.yaml
model_list:
# OpenAI models
- model_name: gpt-4o
litellm_params:
model: openai/gpt-4o
api_key: os.environ/OPENAI_API_KEY
rpm: 10000
tpm: 2000000
- model_name: gpt-4o-mini
litellm_params:
model: openai/gpt-4o-mini
api_key: os.environ/OPENAI_API_KEY
# Anthropic
- model_name: claude-sonnet-4-6
litellm_params:
model: anthropic/claude-sonnet-4-6
api_key: os.environ/ANTHROPIC_API_KEY
# Self-hosted vLLM instances (load balanced)
- model_name: llama-3.1-8b
litellm_params:
model: openai/meta-llama/Llama-3.1-8B-Instruct
api_base: http://vllm-1:8000/v1
api_key: fake # vLLM key
- model_name: llama-3.1-8b
litellm_params:
model: openai/meta-llama/Llama-3.1-8B-Instruct
api_base: http://vllm-2:8000/v1 # second replica — auto load balanced
api_key: fake
# Fallback: cheap model if primary fails
- model_name: gpt-4o
litellm_params:
model: openai/gpt-4o-mini # fallback to cheaper model
api_key: os.environ/OPENAI_API_KEY
router_settings:
routing_strategy: least-busy # or: latency-based, simple-shuffle
num_retries: 3
retry_after: 5
allowed_fails: 2
cooldown_time: 60
# Fallback configuration
fallbacks:
- gpt-4o: [claude-sonnet-4-6]
- claude-sonnet-4-6: [gpt-4o]
litellm_settings:
# Semantic caching
cache: true
cache_params:
type: redis
host: redis
port: 6379
similarity_threshold: 0.90 # cache if >90% semantic similarity
# Logging
success_callback: ["langfuse"]
failure_callback: ["langfuse"]
langfuse_public_key: os.environ/LANGFUSE_PUBLIC_KEY
langfuse_secret_key: os.environ/LANGFUSE_SECRET_KEY
general_settings:
master_key: os.environ/LITELLM_MASTER_KEY
database_url: postgresql://litellm:password@postgres:5432/litellm
store_model_in_db: true
Docker Compose: Stack Completo do Gateway
services:
litellm:
image: ghcr.io/berriai/litellm:main-latest
command: ["--config", "/app/config.yaml", "--port", "4000"]
volumes:
- ./litellm-config.yaml:/app/config.yaml
ports:
- "4000:4000"
environment:
- OPENAI_API_KEY=${OPENAI_API_KEY}
- ANTHROPIC_API_KEY=${ANTHROPIC_API_KEY}
- LITELLM_MASTER_KEY=${LITELLM_MASTER_KEY}
- DATABASE_URL=postgresql://litellm:password@postgres:5432/litellm
depends_on:
postgres:
condition: service_healthy
redis:
condition: service_started
restart: unless-stopped
postgres:
image: postgres:16-alpine
environment:
POSTGRES_DB: litellm
POSTGRES_USER: litellm
POSTGRES_PASSWORD: password
volumes:
- postgres-data:/var/lib/postgresql/data
healthcheck:
test: ["CMD-SHELL", "pg_isready -U litellm"]
interval: 5s
retries: 5
restart: unless-stopped
redis:
image: redis:7-alpine
command: redis-server --maxmemory 2gb --maxmemory-policy allkeys-lru
volumes:
- redis-data:/data
restart: unless-stopped
volumes:
postgres-data:
redis-data:
Chaves Virtuais e Limitação de Taxa
# Criar uma chave de API virtual para uma equipe (via API do LiteLLM)
…
Perguntas frequentes
O que é um "API gateway"?
Pense em um API gateway como um recepcionista para serviços de computador. Ele recebe todas as solicitações e as direciona para o lugar certo, além de poder aplicar regras.
O que significa "load balancing"?
Load balancing é como distribuir o trabalho entre vários funcionários para que ninguém fique sobrecarregado. Neste caso, distribui os pedidos entre diferentes modelos de IA.
O que é "rate limiting"?
Rate limiting é um limite de quantas vezes algo pode ser feito em um certo período. Por exemplo, limitar a 100 pedidos por minuto para evitar sobrecarga.
Detalhes
Descrição original do autor
Deploy an API gateway for LLM traffic with load balancing, rate limiting, key management, semantic caching, fallback routing, and cost tracking.
Popularidade
- Estrelas no GitHub
- 48 mil
- Posição no ranking
- #3472
- Licença
- MIT
- Atualizada em
- 15/10/2026
Comentários
- …
Mais skills deste repositório
00-andruia-consultant
Ajuda seu agente a iniciar ou melhorar projetos de IA. Ele analisa código, sugere ferramentas e cria planos de ação em espanhol.
sickn33/agentic-awesome-skills
007
Faz seu agente realizar auditorias de segurança e modelagem de ameaças. É útil para proteger projetos contra ataques e vulnerabilidades.
sickn33/agentic-awesome-skills
10-andruia-skill-smith
Ajuda seu agente a criar ou melhorar ferramentas de IA. Ele define como as ferramentas funcionam, escreve a documentação e valida a estrutura.
sickn33/agentic-awesome-skills
20-andruia-niche-intelligence
Faz seu agente criar um resumo sobre um setor específico. É útil para entender o contexto, regras, padrões de uso e riscos de um projeto, usando fontes confiáveis.
sickn33/agentic-awesome-skills
Skills parecidas
agent-architecture-audit
Faz seu agente verificar se tudo está funcionando corretamente. Ele encontra e conserta problemas em sistemas de IA, garantindo que funcionem como esperado.
affaan-m/ECC
agent-eval
Ajuda seu agente a comparar diferentes ferramentas de programação de IA. Ele mede qual é mais rápido, barato e confiável para realizar tarefas específicas.
affaan-m/ECC
agent-harness-construction
Faz seu agente entender melhor como realizar tarefas. Ele otimiza as ferramentas e instruções que o agente usa para aumentar suas chances de sucesso.
affaan-m/ECC