Os gateways LLM fornecem uma camada de proxy centralizada entre o Claude Code e os provedores de modelo, oferecendo:

  • Autenticação centralizada - Ponto único para gerenciamento de chaves de API
  • Rastreamento de uso - Monitore o uso entre equipes e projetos
  • Controles de custo - Implemente orçamentos e limites de taxa
  • Log de auditoria - Rastreie todas as interações do modelo para conformidade
  • Roteamento de modelo - Alterne entre provedores sem alterações de código

Configuração do LiteLLM

O LiteLLM é um serviço de proxy de terceiros. A Anthropic não endossa, mantém ou audita a segurança ou funcionalidade do LiteLLM. Este guia é fornecido para fins informativos e pode ficar desatualizado. Use por sua própria conta e risco.

Pré-requisitos

  • Claude Code atualizado para a versão mais recente
  • Servidor Proxy LiteLLM implantado e acessível
  • Acesso aos modelos Claude através do seu provedor escolhido

Configuração básica do LiteLLM

Configure o Claude Code:

Métodos de autenticação

Chave de API estática

Método mais simples usando uma chave de API fixa:

# Definir no ambiente
export ANTHROPIC_AUTH_TOKEN=sk-litellm-static-key

# Ou nas configurações do Claude Code
{
  "env": {
    "ANTHROPIC_AUTH_TOKEN": "sk-litellm-static-key"
  }
}

Este valor será enviado como os cabeçalhos Authorization e Proxy-Authorization, embora Authorization possa ser sobrescrito (veja Vertex “Credenciais especificadas pelo cliente” abaixo).

Chave de API dinâmica com auxiliar

Para chaves rotativas ou autenticação por usuário:

  1. Crie um script auxiliar de chave de API:
#!/bin/bash
# ~/bin/get-litellm-key.sh

# Exemplo: Buscar chave do cofre
vault kv get -field=api_key secret/litellm/claude-code

# Exemplo: Gerar token JWT
jwt encode \
  --secret="${JWT_SECRET}" \
  --exp="+1h" \
  '{"user":"'${USER}'","team":"engineering"}'
  1. Configure as configurações do Claude Code para usar o auxiliar:
{
  "apiKeyHelper": "~/bin/get-litellm-key.sh"
}
  1. Defina o intervalo de atualização do token:
# Atualizar a cada hora (3600000 ms)
export CLAUDE_CODE_API_KEY_HELPER_TTL_MS=3600000

Este valor será enviado como cabeçalhos Authorization, Proxy-Authorization e X-Api-Key, embora Authorization possa ser sobrescrito (veja Google Vertex AI através do LiteLLM). O apiKeyHelper tem precedência menor que ANTHROPIC_AUTH_TOKEN ou ANTHROPIC_API_KEY.

Configurações específicas do provedor

API Anthropic através do LiteLLM

Usando endpoint de passagem:

export ANTHROPIC_BASE_URL=https://litellm-server:4000/anthropic
Amazon Bedrock através do LiteLLM

Usando endpoint de passagem:

export ANTHROPIC_BEDROCK_BASE_URL=https://litellm-server:4000/bedrock
export CLAUDE_CODE_SKIP_BEDROCK_AUTH=1
export CLAUDE_CODE_USE_BEDROCK=1
Google Vertex AI através do LiteLLM

Usando endpoint de passagem:

Recomendado: Credenciais especificadas pelo proxy

export ANTHROPIC_VERTEX_BASE_URL=https://litellm-server:4000/vertex_ai/v1
export ANTHROPIC_VERTEX_PROJECT_ID=your-gcp-project-id
export CLAUDE_CODE_SKIP_VERTEX_AUTH=1
export CLAUDE_CODE_USE_VERTEX=1
export CLOUD_ML_REGION=us-east5

Alternativa: Credenciais especificadas pelo cliente

Se você preferir usar credenciais GCP locais:

  1. Autentique com GCP localmente:
gcloud auth application-default login
  1. Defina o ambiente do Claude Code:
export ANTHROPIC_VERTEX_BASE_URL=https://litellm-server:4000/vertex_ai/v1
export ANTHROPIC_VERTEX_PROJECT_ID=your-gcp-project-id
export CLAUDE_CODE_USE_VERTEX=1
export CLOUD_ML_REGION=us-east5
  1. Atualize a configuração de cabeçalho do LiteLLM:

Certifique-se de que sua configuração do LiteLLM tenha general_settings.litellm_key_header_name definido como Proxy-Authorization, já que o token GCP de passagem estará localizado no cabeçalho Authorization.

Endpoint unificado

Usando o endpoint de formato Anthropic do LiteLLM:

export ANTHROPIC_BASE_URL=https://litellm-server:4000

Seleção de modelo

Por padrão, os modelos usarão aqueles especificados em Configuração de modelo.

Se você configurou nomes de modelo personalizados no LiteLLM, defina as variáveis de ambiente mencionadas anteriormente para esses nomes personalizados.

Para informações mais detalhadas, consulte a documentação do LiteLLM.

Recursos adicionais