Vai al contenuto principale
I gateway LLM forniscono un livello proxy centralizzato tra Claude Code e i provider di modelli, spesso fornendo:
  • Autenticazione centralizzata - Punto singolo per la gestione delle chiavi API
  • Tracciamento dell’utilizzo - Monitora l’utilizzo tra team e progetti
  • Controlli dei costi - Implementa budget e limiti di velocità
  • Registrazione di audit - Traccia tutte le interazioni del modello per la conformità
  • Instradamento dei modelli - Passa da un provider all’altro senza modifiche al codice

Requisiti del gateway

Affinché un gateway LLM funzioni con Claude Code, deve soddisfare i seguenti requisiti: Formato API Il gateway deve esporre ai client almeno uno dei seguenti formati API:
  1. Anthropic Messages: /v1/messages, /v1/messages/count_tokens
    • Deve inoltrare le intestazioni della richiesta: anthropic-beta, anthropic-version
  2. Bedrock InvokeModel: /invoke, /invoke-with-response-stream
    • Deve preservare i campi del corpo della richiesta: anthropic_beta, anthropic_version
  3. Vertex rawPredict: :rawPredict, :streamRawPredict, /count-tokens:rawPredict
    • Deve inoltrare le intestazioni della richiesta: anthropic-beta, anthropic-version
Il mancato inoltro delle intestazioni o la mancata preservazione dei campi del corpo potrebbe causare una riduzione della funzionalità o l’impossibilità di utilizzare le funzionalità di Claude Code.
Claude Code determina quali funzionalità abilitare in base al formato API. Quando si utilizza il formato Anthropic Messages con Bedrock o Vertex, potrebbe essere necessario impostare la variabile di ambiente CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS=1.

Configurazione

Selezione del modello

Per impostazione predefinita, Claude Code utilizzerà nomi di modelli standard per il formato API selezionato. Se hai configurato nomi di modelli personalizzati nel tuo gateway, utilizza le variabili di ambiente documentate in Configurazione del modello per abbinare i tuoi nomi personalizzati.

Configurazione di LiteLLM

Le versioni PyPI di LiteLLM 1.82.7 e 1.82.8 sono state compromesse con malware che ruba credenziali. Non installare queste versioni. Se le hai già installate:
  • Rimuovi il pacchetto
  • Ruota tutte le credenziali sui sistemi interessati
  • Segui i passaggi di correzione in BerriAI/litellm#24518
LiteLLM è un servizio proxy di terze parti. Anthropic non approva, mantiene o controlla la sicurezza o la funzionalità di LiteLLM. Questa guida è fornita a scopo informativo e potrebbe diventare obsoleta. Utilizzala a tua discrezione.

Prerequisiti

  • Claude Code aggiornato all’ultima versione
  • LiteLLM Proxy Server distribuito e accessibile
  • Accesso ai modelli Claude attraverso il provider scelto

Configurazione di base di LiteLLM

Configura Claude Code:

Metodi di autenticazione

Chiave API statica
Metodo più semplice utilizzando una chiave API fissa:
# Imposta nell'ambiente
export ANTHROPIC_AUTH_TOKEN=sk-litellm-static-key

# O nelle impostazioni di Claude Code
{
  "env": {
    "ANTHROPIC_AUTH_TOKEN": "sk-litellm-static-key"
  }
}
Questo valore verrà inviato come intestazione Authorization.
Chiave API dinamica con helper
Per chiavi rotanti o autenticazione per utente:
  1. Crea uno script helper per la chiave API:
#!/bin/bash
# ~/bin/get-litellm-key.sh

# Esempio: Recupera la chiave dal vault
vault kv get -field=api_key secret/litellm/claude-code

# Esempio: Genera token JWT
jwt encode \
  --secret="${JWT_SECRET}" \
  --exp="+1h" \
  '{"user":"'${USER}'","team":"engineering"}'
  1. Configura le impostazioni di Claude Code per utilizzare l’helper:
{
  "apiKeyHelper": "~/bin/get-litellm-key.sh"
}
  1. Imposta l’intervallo di aggiornamento del token:
# Aggiorna ogni ora (3600000 ms)
export CLAUDE_CODE_API_KEY_HELPER_TTL_MS=3600000
Questo valore verrà inviato come intestazioni Authorization e X-Api-Key. L’apiKeyHelper ha una precedenza inferiore rispetto a ANTHROPIC_AUTH_TOKEN o ANTHROPIC_API_KEY.

Endpoint unificato (consigliato)

Utilizzando l’endpoint in formato Anthropic di LiteLLM:
export ANTHROPIC_BASE_URL=https://litellm-server:4000
Vantaggi dell’endpoint unificato rispetto agli endpoint pass-through:
  • Bilanciamento del carico
  • Fallback
  • Supporto coerente per il tracciamento dei costi e il tracciamento dell’utente finale

Endpoint pass-through specifici del provider (alternativa)

Claude API attraverso LiteLLM
Utilizzando l’endpoint pass-through:
export ANTHROPIC_BASE_URL=https://litellm-server:4000/anthropic
Amazon Bedrock attraverso LiteLLM
Utilizzando l’endpoint 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 attraverso LiteLLM
Utilizzando l’endpoint pass-through:
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
Per informazioni più dettagliate, consulta la documentazione di LiteLLM.

Risorse aggiuntive