% Generated by roxygen2: do not edit by hand
% Please edit documentation in R/providers.R
\name{llm_provider_bedrock}
\alias{llm_provider_bedrock}
\title{Create an AWS Bedrock LLM provider}
\usage{
llm_provider_bedrock(
  model,
  region = Sys.getenv("AWS_DEFAULT_REGION", unset = "us-east-1"),
  access_key = Sys.getenv("AWS_ACCESS_KEY_ID"),
  secret_key = Sys.getenv("AWS_SECRET_ACCESS_KEY"),
  session_token = Sys.getenv("AWS_SESSION_TOKEN"),
  name = "AWS Bedrock",
  max_retries = 5L
)
}
\arguments{
\item{model}{Bedrock model ID string (see above).}

\item{region}{AWS region. Defaults to \code{AWS_DEFAULT_REGION} env var,
then \code{"us-east-1"}.}

\item{access_key}{AWS access key ID. Defaults to \code{AWS_ACCESS_KEY_ID}.}

\item{secret_key}{AWS secret access key. Defaults to \code{AWS_SECRET_ACCESS_KEY}.}

\item{session_token}{Optional STS session token. Defaults to
\code{AWS_SESSION_TOKEN} (ignored if unset).}

\item{name}{Display name for print output and plot labels.}

\item{max_retries}{Maximum request attempts.}
}
\value{
An \code{llm_provider} object.
}
\description{
Uses Bedrock's Converse API with AWS SigV4 signing. Supports any model
available in your Bedrock account, including Anthropic Claude and Meta
Llama families.
}
\details{
Credentials are resolved in order: explicit arguments → environment variables
(\code{AWS_ACCESS_KEY_ID}, \code{AWS_SECRET_ACCESS_KEY}, \code{AWS_SESSION_TOKEN},
\code{AWS_DEFAULT_REGION}).

Common model IDs:
\itemize{
\item \code{"anthropic.claude-haiku-4-5-20251001-v1:0"}
\item \code{"anthropic.claude-3-5-sonnet-20241022-v2:0"}
\item \code{"meta.llama3-70b-instruct-v1:0"}
\item \code{"meta.llama3-8b-instruct-v1:0"}
\item \code{"mistral.mistral-7b-instruct-v0:2"}
}
}
\examples{
\dontrun{
p <- llm_provider_bedrock(
  model = "anthropic.claude-haiku-4-5-20251001-v1:0"
)   # reads AWS_* credentials from env
print(p)
}
}
