Los gateways LLM proporcionan una capa de proxy centralizada entre Claude Code y los proveedores de modelos, ofreciendo:

  • Autenticación centralizada - Punto único para la gestión de claves API
  • Seguimiento de uso - Monitorear el uso entre equipos y proyectos
  • Controles de costos - Implementar presupuestos y límites de velocidad
  • Registro de auditoría - Rastrear todas las interacciones del modelo para cumplimiento
  • Enrutamiento de modelos - Cambiar entre proveedores sin cambios de código

Configuración de LiteLLM

LiteLLM es un servicio de proxy de terceros. Anthropic no respalda, mantiene ni audita la seguridad o funcionalidad de LiteLLM. Esta guía se proporciona con fines informativos y puede quedar desactualizada. Úsala bajo tu propia discreción.

Prerrequisitos

  • Claude Code actualizado a la última versión
  • Servidor Proxy LiteLLM desplegado y accesible
  • Acceso a modelos Claude a través de tu proveedor elegido

Configuración básica de LiteLLM

Configurar Claude Code:

Métodos de autenticación

Clave API estática

Método más simple usando una clave API fija:

# Establecer en el entorno
export ANTHROPIC_AUTH_TOKEN=sk-litellm-static-key

# O en la configuración de Claude Code
{
  "env": {
    "ANTHROPIC_AUTH_TOKEN": "sk-litellm-static-key"
  }
}

Este valor se enviará como los encabezados Authorization y Proxy-Authorization, aunque Authorization puede ser sobrescrito (ver Vertex “Credenciales especificadas por el cliente” a continuación).

Clave API dinámica con ayudante

Para claves rotativas o autenticación por usuario:

  1. Crear un script ayudante de clave API:
#!/bin/bash
# ~/bin/get-litellm-key.sh

# Ejemplo: Obtener clave del vault
vault kv get -field=api_key secret/litellm/claude-code

# Ejemplo: Generar token JWT
jwt encode \
  --secret="${JWT_SECRET}" \
  --exp="+1h" \
  '{"user":"'${USER}'","team":"engineering"}'
  1. Configurar la configuración de Claude Code para usar el ayudante:
{
  "apiKeyHelper": "~/bin/get-litellm-key.sh"
}
  1. Establecer intervalo de actualización de token:
# Actualizar cada hora (3600000 ms)
export CLAUDE_CODE_API_KEY_HELPER_TTL_MS=3600000

Este valor se enviará como encabezados Authorization, Proxy-Authorization y X-Api-Key, aunque Authorization puede ser sobrescrito (ver Google Vertex AI a través de LiteLLM). El apiKeyHelper tiene menor precedencia que ANTHROPIC_AUTH_TOKEN o ANTHROPIC_API_KEY.

Configuraciones específicas del proveedor

API de Anthropic a través de LiteLLM

Usando endpoint de paso directo:

export ANTHROPIC_BASE_URL=https://litellm-server:4000/anthropic
Amazon Bedrock a través de LiteLLM

Usando endpoint de paso directo:

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 a través de LiteLLM

Usando endpoint de paso directo:

Recomendado: Credenciales especificadas por el 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: Credenciales especificadas por el cliente

Si prefieres usar credenciales GCP locales:

  1. Autenticarse con GCP localmente:
gcloud auth application-default login
  1. Establecer entorno de 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. Actualizar configuración de encabezado de LiteLLM:

Asegúrate de que tu configuración de LiteLLM tenga general_settings.litellm_key_header_name establecido en Proxy-Authorization, ya que el token GCP de paso directo estará ubicado en el encabezado Authorization.

Endpoint unificado

Usando el endpoint de formato Anthropic de LiteLLM:

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

Selección de modelo

Por defecto, los modelos usarán aquellos especificados en Configuración de modelo.

Si has configurado nombres de modelo personalizados en LiteLLM, establece las variables de entorno mencionadas anteriormente a esos nombres personalizados.

Para información más detallada, consulta la documentación de LiteLLM.

Recursos adicionales