Przejdź do głównej zawartości

Konfiguracja LLM Gateway

Twój zespół ds. zgodności wymaga, aby cały ruch modeli AI pozostawał w obrębie twojego perymetru chmurowego. Żadnych bezpośrednich wywołań do api.anthropic.com — wszystko musi przechodzić przez AWS Bedrock lub Google Vertex AI, abyś mógł audytować użycie, wymuszać rezydencję danych i konsolidować rozliczenia. Claude Code obsługuje to od razu.

  • Kierowanie Claude Code przez AWS Bedrock z uwierzytelnianiem IAM
  • Konfigurację Google Vertex AI z tożsamością obciążenia roboczego
  • Konfigurację proxy LiteLLM do śledzenia kosztów i routingu wielomodelowego
  • Wzorce niestandardowych bram API dla zaawansowanych wymagań korporacyjnych
  • Konto AWS z włączonym Amazon Bedrock
  • Modele Claude włączone w twoim regionie Bedrock
  • Poświadczenia IAM z uprawnieniami bedrock:InvokeModel i bedrock:InvokeModelWithResponseStream
Okno terminala
# Ustaw Bedrock jako dostawcę API
export CLAUDE_CODE_USE_BEDROCK=1
# Obowiązuje standardowy łańcuch poświadczeń AWS
export AWS_REGION=us-east-1
export AWS_ACCESS_KEY_ID=your-access-key
export AWS_SECRET_ACCESS_KEY=your-secret-key
# Lub użyj AWS SSO / profili
export AWS_PROFILE=bedrock-profile
claude

Dla trwalej konfiguracji dodaj do ustawień Claude Code:

{
"env": {
"CLAUDE_CODE_USE_BEDROCK": "1",
"AWS_REGION": "us-east-1",
"AWS_PROFILE": "bedrock-profile"
}
}

Jeśli potrzebujesz modeli z wielu regionów:

Okno terminala
export ANTHROPIC_MODEL="us.anthropic.claude-sonnet-4-5-20250929-v1:0"
export AWS_REGION=us-east-1

Prefiks us. kieruje do profilu międzyregionalnego US, który równoważy obciążenie między dostępnymi regionami w USA.

  • Projekt Google Cloud z włączonym Vertex AI
  • Modele Claude włączone w twoim regionie
  • Konto serwisowe z rolą Vertex AI User
Okno terminala
# Ustaw Vertex AI jako dostawcę API
export CLAUDE_CODE_USE_VERTEX=1
# Konfiguracja Google Cloud
export CLOUD_ML_REGION=us-east5
export ANTHROPIC_VERTEX_PROJECT_ID=your-project-id
# Uwierzytelnienie
gcloud auth application-default login
claude

LiteLLM to proxy open-source, które stoi między Claude Code a dowolnym dostawcą LLM. Dodaje śledzenie kosztów, limitowanie szybkości i zarządzanie kluczami.

  • Śledzenie kosztów per klucz API: Zobacz wydatki na dewelopera, zespół i projekt
  • Limitowanie szybkości: Wymuszaj limity tokenów na użytkownika
  • Routing wielomodelowy: Kieruj różne zadania do różnych dostawców
  • Logowanie audytowe: Pełne logowanie żądań/odpowiedzi dla zgodności
Okno terminala
# Zainstaluj LiteLLM
pip install litellm[proxy]
# Uruchom proxy z konfiguracją modelu Claude
litellm --model claude-sonnet-4-5-20250929 --port 4000

Skonfiguruj Claude Code do używania proxy:

Okno terminala
export ANTHROPIC_BASE_URL=http://localhost:4000
export ANTHROPIC_API_KEY=your-litellm-key
claude
litellm_config.yaml
model_list:
- model_name: claude-sonnet-4-5-20250929
litellm_params:
model: claude-sonnet-4-5-20250929
api_key: sk-ant-your-key
- model_name: claude-opus-4-6
litellm_params:
model: claude-opus-4-6
api_key: sk-ant-your-key
general_settings:
master_key: sk-litellm-master-key
database_url: postgresql://user:pass@localhost/litellm
Okno terminala
litellm --config litellm_config.yaml --port 4000

Dla organizacji z istniejącymi bramami API (Kong, Apigee, AWS API Gateway) możesz kierować Claude Code przez nie:

Okno terminala
# Skieruj Claude Code na niestandardową bramę
export ANTHROPIC_BASE_URL=https://ai-gateway.company.com/v1
export ANTHROPIC_API_KEY=your-gateway-key
claude

Twoja brama musi proxyować żądania do https://api.anthropic.com/v1/ z odpowiednimi nagłówkami uwierzytelniającymi.

Dla środowisk, w których klucze API są rotowane lub generowane dynamicznie, Claude Code obsługuje skrypt pomocniczy:

{
"apiKeyHelper": "/opt/scripts/get-claude-key.sh"
}

Skrypt musi wypisać klucz API na stdout. Uruchamia się w /bin/sh, a wynik jest wysyłany jako nagłówki X-Api-Key i Authorization: Bearer.

/opt/scripts/get-claude-key.sh
#!/bin/bash
# Przykład: pobieranie z AWS Secrets Manager
aws secretsmanager get-secret-value \
--secret-id claude-api-key \
--query SecretString \
--output text

Bedrock zwraca “model not found”: Sprawdź, czy modele Claude są włączone w twoim regionie Bedrock. Nie wszystkie regiony mają wszystkie modele. Użyj prefiksu wnioskowania międzyregionalnego (us.), jeśli twój region nie ma konkretnej wersji modelu.

Uwierzytelnianie Vertex AI zawodzi w CI: Federacja tożsamości obciążenia roboczego musi być poprawnie skonfigurowana. Token OIDC z GitHub musi mapować się na konto serwisowe z uprawnieniami Vertex AI. Sprawdź gcloud auth application-default print-access-token, aby zweryfikować poświadczenia.

Proxy LiteLLM dodaje opóźnienia: LiteLLM dodaje dodatkowy skok sieciowy. Dla workflow wrażliwych na opóźnienia rozważ uruchomienie go na tej samej maszynie lub w tej samej sieci co deweloperzy. Typowe nadmierne opóźnienie to 50-100ms na żądanie.

Niestandardowa brama usuwa nagłówki: Niektóre bramy API modyfikują lub usuwają nagłówki wymagane przez API Anthropic. Upewnij się, że brama przekazuje nagłówki anthropic-version, content-type i x-api-key bez modyfikacji.