Amazon Bedrock

Use Amazon Bedrock with Blazen — construct the BedrockProvider and call complete().

Amazon Bedrock is an OpenAI-compatible LLM provider. Construct it like any other Blazen provider — build a list of ChatMessages, call complete() (or stream()), and read back a typed ModelResponse.

At a glance

Provider idbedrock
Base URL(built dynamically)
Default modelanthropic.claude-sonnet-4-5-20250929-v1:0
API key env varAWS_ACCESS_KEY_ID
AuthAuthorization: Bearer <key>

Set AWS_ACCESS_KEY_ID in the environment and Blazen reads it automatically, or pass the key explicitly when you construct the provider.

Capabilities

CapabilitySupported
StreamingYes
Tool callingYes
Structured outputYes
VisionYes
Model listingYes
EmbeddingsNo

Usage

Construct the provider and call complete(). The default model is anthropic.claude-sonnet-4-5-20250929-v1:0; override it with with_model / model when you need a different one.

use blazen_llm::{Model, ModelRequest, ChatMessage};
use blazen_provider_bedrock::BedrockProvider;

// Reads AWS_ACCESS_KEY_ID from the environment, or pass the key to `new`.
let model = BedrockProvider::new(std::env::var("AWS_ACCESS_KEY_ID")?);

let resp = model
    .complete(ModelRequest::new(vec![ChatMessage::user("Hello")]))
    .await?;
println!("{}", resp.content.unwrap_or_default());
from blazen import BedrockProvider, ProviderOptions, ChatMessage

# Omit the api_key to read AWS_ACCESS_KEY_ID from the environment.
model = BedrockProvider(options=ProviderOptions(api_key="..."))

resp = await model.complete([ChatMessage.user("Hello")])
print(resp.content)
import { BedrockProvider, ChatMessage } from "blazen";

// Omit apiKey to read AWS_ACCESS_KEY_ID from the environment.
const model = BedrockProvider.create({ apiKey: "..." });

const resp = await model.complete([ChatMessage.user("Hello")]);
console.log(resp.content);

Streaming

async for chunk in model.stream([ChatMessage.user("Count to five")]):
    print(chunk.delta, end="")
await model.stream([ChatMessage.user("Count to five")], (chunk) => {
  if (chunk.delta) process.stdout.write(chunk.delta);
});

See also