Providers

AWS Bedrock

Route Anthropic models through AWS Bedrock for enterprise deployments.

Setup

pnpm add @ai-sdk/amazon-bedrock
import { AiSdkProvider } from "noumen";
import { createAmazonBedrock } from "@ai-sdk/amazon-bedrock";

const bedrock = createAmazonBedrock({
  region: process.env.AWS_REGION ?? "us-east-1",
  // Credentials resolved from the standard AWS credential chain by default.
});

const provider = new AiSdkProvider({
  model: bedrock("us.anthropic.claude-opus-4.6-v1:0"),
  providerFamily: "anthropic",
  cacheConfig: { enabled: true },
});

Options

All connection-level options come from createAmazonBedrock.

OptionSourceDescription
regioncreateAmazonBedrockAWS region. Falls back to AWS_REGION / AWS_DEFAULT_REGION.
accessKeyId, secretAccessKey, sessionTokencreateAmazonBedrockExplicit AWS credentials. Omit to use the standard AWS credential chain (env vars, ~/.aws/credentials, IAM roles, etc.).
credentialProvidercreateAmazonBedrockPass your own AWS SDK credential provider for SSO / custom flows.
baseURLcreateAmazonBedrockCustom endpoint for a Bedrock-compatible service.

AiSdkProvider options for Bedrock

OptionDescription
providerFamily: "anthropic"Required for Claude-on-Bedrock so noumen applies Anthropic thinking/cache mappings.
cacheConfig: { enabled: true }Inject Anthropic prompt-cache breakpoints (supported by Claude on Bedrock).

Authentication

When accessKeyId / secretAccessKey are omitted, @ai-sdk/amazon-bedrock uses the AWS SDK's standard credential chain (environment variables, ~/.aws/credentials, IAM instance roles, SSO, etc.).

const bedrock = createAmazonBedrock({
  region: "us-west-2",
  accessKeyId: process.env.AWS_ACCESS_KEY_ID,
  secretAccessKey: process.env.AWS_SECRET_ACCESS_KEY,
  sessionToken: process.env.AWS_SESSION_TOKEN,
});

Prompt caching

Enable prompt caching to reduce costs on repeated system prompts:

const provider = new AiSdkProvider({
  model: bedrock("us.anthropic.claude-opus-4.6-v1:0"),
  providerFamily: "anthropic",
  cacheConfig: { enabled: true },
});

Streaming

Bedrock traffic goes through the AI SDK's doStream() and noumen's shared Anthropic-family mapping. thinking, signature, and redactedData flow through unmodified.

Models

Use Bedrock model IDs. Common choices:

  • us.anthropic.claude-opus-4.6-v1:0 — highest capability (default for the "bedrock" CLI shorthand).
  • us.anthropic.claude-sonnet-4-v1:0 — balanced speed and capability.
  • us.anthropic.claude-haiku-3-v1:0 — fastest, most affordable.