Inference Providers
AWS Agent Platform is provider-agnostic by design. A single blueprint field — model.provider — selects the inference backend: Amazon Bedrock, the direct Anthropic API, any OpenAI-compatible endpoint via LiteLLM, or Google Vertex AI (Gemini). Switching providers requires no code changes — only a blueprint update.
The four providers
| Value | Backend | Primary use case |
|---|---|---|
bedrock | Amazon Bedrock Converse API | Default. AWS-native. GuardRails, FIPS, PrivateLink. |
anthropic | Anthropic API directly | Direct Anthropic access without AWS mediation. |
litellm | Any OpenAI-compatible endpoint via LiteLLM | Self-hosted proxy, vLLM, Ollama, OpenRouter, Cloudflare AI Gateway, or any custom router. |
vertex | Google Vertex AI (Gemini models) | GCP-hosted Gemini models. |
How provider dispatch works
The BlueprintLoader._build_model_config() method reads model.provider and constructs the appropriate Strands SDK model instance via a match/case dispatch. All provider imports are lazy — non-default provider packages are only imported when the blueprint actually selects them, so unused SDK packages have zero startup cost.
The dispatch is exhaustive: an unknown provider value raises BlueprintLoadError immediately at load time, before any inference request is made.
In this section
- Overview — how to choose a provider and what each delivers
- Amazon Bedrock — region setup, model IDs, IAM
- Anthropic — direct API, api_key_env
- LiteLLM — proxy configuration, headers, the
custom_llm_providermechanism, CVE safety pin - Google Vertex AI — GCP credentials, what is and is not forwarded
- Structured Output —
output_schema, Strands native forced-tool path, minimum SDK version