Pular para o conteúdo
Skillpedia
Agentes48 mil · #3472

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

https://github.com/sickn33/agentic-awesome-skills/blob/main/plugins/agentic-awesome-skills-claude/skills/llm-gateway/SKILL.md

Mensagem pronta para colar

Use esta skill para me ajudar: https://github.com/sickn33/agentic-awesome-skills/blob/main/plugins/agentic-awesome-skills-claude/skills/llm-gateway/SKILL.md Leia o arquivo SKILL.md desse link e siga as instruções dele na minha tarefa.
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-gateway

Ou 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.md
Conteú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.

repo: sickn33/agentic-awesome-skills

Popularidade

Estrelas no GitHub
48 mil
Posição no ranking
#3472
Licença
MIT
Atualizada em
15/10/2026

Essa skill é útil?

0

Entre para votar.

Comentários

  • …

Mais skills deste repositório

Skills parecidas