fix: bedrock creds refresh (#5599)
This commit is contained in:
@@ -22,12 +22,12 @@ use super::formats::bedrock::{
|
|||||||
pub const BEDROCK_DOC_LINK: &str =
|
pub const BEDROCK_DOC_LINK: &str =
|
||||||
"https://docs.aws.amazon.com/bedrock/latest/userguide/models-supported.html";
|
"https://docs.aws.amazon.com/bedrock/latest/userguide/models-supported.html";
|
||||||
|
|
||||||
pub const BEDROCK_DEFAULT_MODEL: &str = "anthropic.claude-sonnet-4-20250514-v1:0";
|
pub const BEDROCK_DEFAULT_MODEL: &str = "us.anthropic.claude-sonnet-4-20250514-v1:0";
|
||||||
pub const BEDROCK_KNOWN_MODELS: &[&str] = &[
|
pub const BEDROCK_KNOWN_MODELS: &[&str] = &[
|
||||||
"anthropic.claude-sonnet-4-20250514-v1:0",
|
"us.anthropic.claude-sonnet-4-20250514-v1:0",
|
||||||
"anthropic.claude-3-7-sonnet-20250219-v1:0",
|
"us.anthropic.claude-3-7-sonnet-20250219-v1:0",
|
||||||
"anthropic.claude-opus-4-20250514-v1:0",
|
"us.anthropic.claude-opus-4-20250514-v1:0",
|
||||||
"anthropic.claude-opus-4-1-20250805-v1:0",
|
"us.anthropic.claude-opus-4-1-20250805-v1:0",
|
||||||
];
|
];
|
||||||
|
|
||||||
pub const BEDROCK_DEFAULT_MAX_RETRIES: usize = 6;
|
pub const BEDROCK_DEFAULT_MAX_RETRIES: usize = 6;
|
||||||
@@ -37,8 +37,6 @@ pub const BEDROCK_DEFAULT_MAX_RETRY_INTERVAL_MS: u64 = 120_000;
|
|||||||
|
|
||||||
#[derive(Debug, serde::Serialize)]
|
#[derive(Debug, serde::Serialize)]
|
||||||
pub struct BedrockProvider {
|
pub struct BedrockProvider {
|
||||||
#[serde(skip)]
|
|
||||||
client: Client,
|
|
||||||
model: ModelConfig,
|
model: ModelConfig,
|
||||||
#[serde(skip)]
|
#[serde(skip)]
|
||||||
retry_config: RetryConfig,
|
retry_config: RetryConfig,
|
||||||
@@ -65,19 +63,15 @@ impl BedrockProvider {
|
|||||||
set_aws_env_vars(config.all_secrets());
|
set_aws_env_vars(config.all_secrets());
|
||||||
|
|
||||||
let sdk_config = aws_config::load_from_env().await;
|
let sdk_config = aws_config::load_from_env().await;
|
||||||
|
|
||||||
// validate credentials or return error back up
|
|
||||||
sdk_config
|
sdk_config
|
||||||
.credentials_provider()
|
.credentials_provider()
|
||||||
.unwrap()
|
.unwrap()
|
||||||
.provide_credentials()
|
.provide_credentials()
|
||||||
.await?;
|
.await?;
|
||||||
let client = Client::new(&sdk_config);
|
|
||||||
|
|
||||||
let retry_config = Self::load_retry_config(config);
|
let retry_config = Self::load_retry_config(config);
|
||||||
|
|
||||||
Ok(Self {
|
Ok(Self {
|
||||||
client,
|
|
||||||
model,
|
model,
|
||||||
retry_config,
|
retry_config,
|
||||||
name: Self::metadata().name,
|
name: Self::metadata().name,
|
||||||
@@ -117,8 +111,10 @@ impl BedrockProvider {
|
|||||||
) -> Result<(bedrock::Message, Option<bedrock::TokenUsage>), ProviderError> {
|
) -> Result<(bedrock::Message, Option<bedrock::TokenUsage>), ProviderError> {
|
||||||
let model_name = &self.model.model_name;
|
let model_name = &self.model.model_name;
|
||||||
|
|
||||||
let mut request = self
|
let sdk_config = aws_config::load_from_env().await;
|
||||||
.client
|
let client = Client::new(&sdk_config);
|
||||||
|
|
||||||
|
let mut request = client
|
||||||
.converse()
|
.converse()
|
||||||
.system(bedrock::SystemContentBlock::Text(system.to_string()))
|
.system(bedrock::SystemContentBlock::Text(system.to_string()))
|
||||||
.model_id(model_name.to_string())
|
.model_id(model_name.to_string())
|
||||||
|
|||||||
Reference in New Issue
Block a user