Les passerelles LLM fournissent une couche proxy centralisée entre Claude Code et les fournisseurs de modèles, offrant :

  • Authentification centralisée - Point unique pour la gestion des clés API
  • Suivi d’utilisation - Surveiller l’utilisation entre les équipes et les projets
  • Contrôles de coûts - Implémenter des budgets et des limites de taux
  • Journalisation d’audit - Suivre toutes les interactions de modèle pour la conformité
  • Routage de modèle - Basculer entre les fournisseurs sans changements de code

Configuration LiteLLM

LiteLLM est un service proxy tiers. Anthropic n’approuve, ne maintient ni n’audite la sécurité ou la fonctionnalité de LiteLLM. Ce guide est fourni à des fins informatives et peut devenir obsolète. Utilisez-le à votre propre discrétion.

Prérequis

  • Claude Code mis à jour vers la dernière version
  • Serveur Proxy LiteLLM déployé et accessible
  • Accès aux modèles Claude via votre fournisseur choisi

Configuration LiteLLM de base

Configurer Claude Code :

Méthodes d’authentification

Clé API statique

Méthode la plus simple utilisant une clé API fixe :

# Définir dans l'environnement
export ANTHROPIC_AUTH_TOKEN=sk-litellm-static-key

# Ou dans les paramètres Claude Code
{
  "env": {
    "ANTHROPIC_AUTH_TOKEN": "sk-litellm-static-key"
  }
}

Cette valeur sera envoyée comme en-têtes Authorization et Proxy-Authorization, bien que Authorization puisse être écrasé (voir Vertex “Identifiants spécifiés par le client” ci-dessous).

Clé API dynamique avec assistant

Pour les clés rotatives ou l’authentification par utilisateur :

  1. Créer un script assistant de clé API :
#!/bin/bash
# ~/bin/get-litellm-key.sh

# Exemple : Récupérer la clé depuis le coffre-fort
vault kv get -field=api_key secret/litellm/claude-code

# Exemple : Générer un jeton JWT
jwt encode \
  --secret="${JWT_SECRET}" \
  --exp="+1h" \
  '{"user":"'${USER}'","team":"engineering"}'
  1. Configurer les paramètres Claude Code pour utiliser l’assistant :
{
  "apiKeyHelper": "~/bin/get-litellm-key.sh"
}
  1. Définir l’intervalle de rafraîchissement du jeton :
# Rafraîchir toutes les heures (3600000 ms)
export CLAUDE_CODE_API_KEY_HELPER_TTL_MS=3600000

Cette valeur sera envoyée comme en-têtes Authorization, Proxy-Authorization et X-Api-Key, bien que Authorization puisse être écrasé (voir Google Vertex AI via LiteLLM). L’apiKeyHelper a une priorité inférieure à ANTHROPIC_AUTH_TOKEN ou ANTHROPIC_API_KEY.

Configurations spécifiques aux fournisseurs

API Anthropic via LiteLLM

Utilisant point de terminaison pass-through :

export ANTHROPIC_BASE_URL=https://litellm-server:4000/anthropic
Amazon Bedrock via LiteLLM

Utilisant point de terminaison pass-through :

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 via LiteLLM

Utilisant point de terminaison pass-through :

Recommandé : Identifiants spécifiés par le 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

Alternative : Identifiants spécifiés par le client

Si vous préférez utiliser les identifiants GCP locaux :

  1. S’authentifier avec GCP localement :
gcloud auth application-default login
  1. Définir l’environnement 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. Mettre à jour la configuration d’en-tête LiteLLM :

Assurez-vous que votre configuration LiteLLM a general_settings.litellm_key_header_name défini sur Proxy-Authorization, car le jeton GCP pass-through sera situé sur l’en-tête Authorization.

Point de terminaison unifié

Utilisant point de terminaison au format Anthropic de LiteLLM :

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

Sélection de modèle

Par défaut, les modèles utiliseront ceux spécifiés dans Configuration de modèle.

Si vous avez configuré des noms de modèles personnalisés dans LiteLLM, définissez les variables d’environnement susmentionnées sur ces noms personnalisés.

Pour des informations plus détaillées, consultez la documentation LiteLLM.

Ressources supplémentaires