pub struct BedrockClient { /* private fields */ }Available on crate feature
models only.Expand description
Amazon Bedrock client backed by the AWS SDK Converse API.
Supports both streaming (converse_stream) and non-streaming (converse)
inference. AWS credentials are loaded from the standard credential chain
(environment variables, ~/.aws/credentials, IMDS, etc.).
§Example
ⓘ
use adk_model::bedrock::{BedrockClient, BedrockConfig};
let config = BedrockConfig::new("us-east-1", "us.anthropic.claude-sonnet-4-6");
let client = BedrockClient::new(config).await?;
// Use via the Llm trait
let response = client.generate_content(request, false).await?;Implementations§
Source§impl BedrockClient
impl BedrockClient
Sourcepub async fn new(config: BedrockConfig) -> Result<BedrockClient, AdkError>
Available on crate feature bedrock only.
pub async fn new(config: BedrockConfig) -> Result<BedrockClient, AdkError>
bedrock only.Create a new Bedrock client from the given configuration.
Loads AWS credentials from the standard credential chain
(environment variables, shared config, IMDS, etc.) and constructs
an aws_sdk_bedrockruntime::Client.
§Errors
Returns AdkError::Model if the AWS SDK configuration fails to load.
Sourcepub fn with_retry_config(self, retry_config: RetryConfig) -> BedrockClient
Available on crate feature bedrock only.
pub fn with_retry_config(self, retry_config: RetryConfig) -> BedrockClient
bedrock only.Set the retry configuration, consuming and returning self.
Sourcepub fn set_retry_config(&mut self, retry_config: RetryConfig)
Available on crate feature bedrock only.
pub fn set_retry_config(&mut self, retry_config: RetryConfig)
bedrock only.Set the retry configuration by mutable reference.
Sourcepub fn retry_config(&self) -> &RetryConfig
Available on crate feature bedrock only.
pub fn retry_config(&self) -> &RetryConfig
bedrock only.Returns a reference to the current retry configuration.
Trait Implementations§
Source§impl Llm for BedrockClient
impl Llm for BedrockClient
fn name(&self) -> &str
fn generate_content<'life0, 'async_trait>(
&'life0 self,
request: LlmRequest,
stream: bool,
) -> Pin<Box<dyn Future<Output = Result<Pin<Box<dyn Stream<Item = Result<LlmResponse, AdkError>> + Send>>, AdkError>> + Send + 'async_trait>>where
'life0: 'async_trait,
BedrockClient: 'async_trait,
Auto Trait Implementations§
impl Freeze for BedrockClient
impl !RefUnwindSafe for BedrockClient
impl Send for BedrockClient
impl Sync for BedrockClient
impl Unpin for BedrockClient
impl UnsafeUnpin for BedrockClient
impl !UnwindSafe for BedrockClient
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> FutureExt for T
impl<T> FutureExt for T
Source§fn with_context(self, otel_cx: Context) -> WithContext<Self>
fn with_context(self, otel_cx: Context) -> WithContext<Self>
Source§fn with_current_context(self) -> WithContext<Self>
fn with_current_context(self) -> WithContext<Self>
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
Wrap the input message
T in a tonic::RequestCreates a shared type from an unshared type.