litellm/tests/e2e/claude_code/test_config.yaml

189 lines
7 KiB
YAML

# Proxy routing config for the Claude Code Compatibility Matrix PR gate.
#
# The tests under `tests/e2e/claude_code/` only know **alias** names (e.g.
# `claude-haiku-4-5-bedrock-invoke`). The proxy is the layer that maps
# each alias to a real upstream model id, region, and credentials.
#
# Adding a new (feature, provider) cell is a three-step change in the
# test repo (manifest + test file + alias here); changing which upstream
# model a cell exercises is a one-step change here, with no test edits.
#
# Aliases:
# - claude-{tier} → Anthropic API
# - claude-{tier}-bedrock-invoke → Bedrock InvokeModel API
# - claude-{tier}-bedrock-converse → Bedrock Converse API
# - claude-{tier}-vertex → GCP Vertex AI
# - claude-{tier}-azure → Microsoft Foundry (Anthropic deployments)
# - gpt-5-6-{tier}-openai → OpenAI API
# - gpt-5-6-{tier}-azure-openai → Azure OpenAI deployments
# - gpt-5-6-{tier}-bedrock-mantle → Bedrock Mantle (Responses API)
#
# GPT-5.6 tiers are sol / terra / luna. There are no GPT aliases for
# GCP: Vertex AI does not offer the closed-weight GPT-5.6 family, so
# the matrix's `vertex_ai_gpt` column reports not_applicable without
# ever reaching the proxy.
model_list:
# ---- Anthropic ----
- model_name: claude-haiku-4-5
litellm_params:
model: anthropic/claude-haiku-4-5
api_key: os.environ/ANTHROPIC_API_KEY
- model_name: claude-sonnet-4-5
litellm_params:
model: anthropic/claude-sonnet-4-5
api_key: os.environ/ANTHROPIC_API_KEY
extra_headers:
anthropic-beta: "context-1m-2025-08-07"
- model_name: claude-opus-4-7
litellm_params:
model: anthropic/claude-opus-4-7
api_key: os.environ/ANTHROPIC_API_KEY
extra_headers:
anthropic-beta: "context-1m-2025-08-07"
# ---- Bedrock (InvokeModel) ----
- model_name: claude-haiku-4-5-bedrock-invoke
litellm_params:
model: bedrock/us.anthropic.claude-haiku-4-5-20251001-v1:0
aws_region_name: us-east-1
- model_name: claude-sonnet-4-5-bedrock-invoke
litellm_params:
model: bedrock/us.anthropic.claude-sonnet-4-5-20250929-v1:0
aws_region_name: us-east-1
extra_headers:
anthropic-beta: "context-1m-2025-08-07"
- model_name: claude-opus-4-7-bedrock-invoke
litellm_params:
model: bedrock/us.anthropic.claude-opus-4-7
aws_region_name: us-east-1
extra_headers:
anthropic-beta: "context-1m-2025-08-07"
# ---- Bedrock (Converse) ----
- model_name: claude-haiku-4-5-bedrock-converse
litellm_params:
model: bedrock/converse/us.anthropic.claude-haiku-4-5-20251001-v1:0
aws_region_name: us-east-1
- model_name: claude-sonnet-4-5-bedrock-converse
litellm_params:
model: bedrock/converse/us.anthropic.claude-sonnet-4-5-20250929-v1:0
aws_region_name: us-east-1
extra_headers:
anthropic-beta: "context-1m-2025-08-07"
- model_name: claude-opus-4-7-bedrock-converse
litellm_params:
model: bedrock/converse/us.anthropic.claude-opus-4-7
aws_region_name: us-east-1
extra_headers:
anthropic-beta: "context-1m-2025-08-07"
# ---- Vertex AI ----
# `use_in_pass_through: true` registers each deployment's
# project/location/credentials with the /vertex_ai passthrough
# router, which the `passthrough` row needs to resolve
# .../models/{alias}:streamRawPredict URLs. That registration only
# reads the canonical `vertex_project`/`vertex_location` param names
# (not the `vertex_ai_*` aliases); the chat translation path accepts
# both.
- model_name: claude-haiku-4-5-vertex
litellm_params:
model: vertex_ai/claude-haiku-4-5
vertex_project: os.environ/VERTEXAI_PROJECT
vertex_location: global
use_in_pass_through: true
- model_name: claude-sonnet-4-5-vertex
litellm_params:
model: vertex_ai/claude-sonnet-4-5
vertex_project: os.environ/VERTEXAI_PROJECT
vertex_location: global
use_in_pass_through: true
extra_headers:
anthropic-beta: "context-1m-2025-08-07"
- model_name: claude-opus-4-7-vertex
litellm_params:
model: vertex_ai/claude-opus-4-7
vertex_project: os.environ/VERTEXAI_PROJECT
vertex_location: global
use_in_pass_through: true
extra_headers:
anthropic-beta: "context-1m-2025-08-07"
# ---- Microsoft Foundry (Anthropic deployments on Azure) ----
- model_name: claude-haiku-4-5-azure
litellm_params:
model: azure_ai/claude-haiku-4-5
api_base: os.environ/AZURE_AI_API_BASE
api_key: os.environ/AZURE_AI_API_KEY
- model_name: claude-sonnet-4-5-azure
litellm_params:
model: azure_ai/claude-sonnet-4-5
api_base: os.environ/AZURE_AI_API_BASE
api_key: os.environ/AZURE_AI_API_KEY
extra_headers:
anthropic-beta: "context-1m-2025-08-07"
- model_name: claude-opus-4-7-azure
litellm_params:
model: azure_ai/claude-opus-4-7
api_base: os.environ/AZURE_AI_API_BASE
api_key: os.environ/AZURE_AI_API_KEY
extra_headers:
anthropic-beta: "context-1m-2025-08-07"
# ---- OpenAI (GPT-5.6) ----
- model_name: gpt-5-6-sol-openai
litellm_params:
model: openai/gpt-5.6-sol
api_key: os.environ/OPENAI_API_KEY
- model_name: gpt-5-6-terra-openai
litellm_params:
model: openai/gpt-5.6-terra
api_key: os.environ/OPENAI_API_KEY
- model_name: gpt-5-6-luna-openai
litellm_params:
model: openai/gpt-5.6-luna
api_key: os.environ/OPENAI_API_KEY
# ---- Azure OpenAI (GPT-5.6) ----
- model_name: gpt-5-6-sol-azure-openai
litellm_params:
model: azure/gpt-5.6-sol
api_base: os.environ/AZURE_API_BASE
api_key: os.environ/AZURE_API_KEY
- model_name: gpt-5-6-terra-azure-openai
litellm_params:
model: azure/gpt-5.6-terra
api_base: os.environ/AZURE_API_BASE
api_key: os.environ/AZURE_API_KEY
- model_name: gpt-5-6-luna-azure-openai
litellm_params:
model: azure/gpt-5.6-luna
api_base: os.environ/AZURE_API_BASE
api_key: os.environ/AZURE_API_KEY
# ---- Bedrock Mantle (GPT-5.6, Responses API) ----
# Sol is only served from us-east-1 / us-east-2 as of 2026-07;
# Terra and Luna additionally have us-west-2. One region keeps the
# column comparable across tiers.
- model_name: gpt-5-6-sol-bedrock-mantle
litellm_params:
model: bedrock_mantle/openai.gpt-5.6-sol
aws_region_name: us-east-1
- model_name: gpt-5-6-terra-bedrock-mantle
litellm_params:
model: bedrock_mantle/openai.gpt-5.6-terra
aws_region_name: us-east-1
- model_name: gpt-5-6-luna-bedrock-mantle
litellm_params:
model: bedrock_mantle/openai.gpt-5.6-luna
aws_region_name: us-east-1
general_settings:
# Claude Code sends provider-specific headers (e.g. anthropic-beta) we
# want to forward verbatim to the upstream so the wire-shape under
# test matches what real customers send.
forward_client_headers_to_llm_api: true
litellm_settings:
drop_params: true
modify_params: true