diff --git a/auto-configurations/models/spring-ai-autoconfigure-model-bedrock-ai/src/main/java/org/springframework/ai/model/bedrock/autoconfigure/BedrockAwsConnectionProperties.java b/auto-configurations/models/spring-ai-autoconfigure-model-bedrock-ai/src/main/java/org/springframework/ai/model/bedrock/autoconfigure/BedrockAwsConnectionProperties.java index cc47b675b63..3ee2bf8af55 100644 --- a/auto-configurations/models/spring-ai-autoconfigure-model-bedrock-ai/src/main/java/org/springframework/ai/model/bedrock/autoconfigure/BedrockAwsConnectionProperties.java +++ b/auto-configurations/models/spring-ai-autoconfigure-model-bedrock-ai/src/main/java/org/springframework/ai/model/bedrock/autoconfigure/BedrockAwsConnectionProperties.java @@ -1,5 +1,5 @@ /* - * Copyright 2023-2024 the original author or authors. + * Copyright 2023-2025 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -24,6 +24,7 @@ * Configuration properties for Bedrock AWS connection. * * @author Christian Tzolov + * @author Andrey Litvitski * @since 0.8.0 */ @ConfigurationProperties(BedrockAwsConnectionProperties.CONFIG_PREFIX) @@ -32,9 +33,10 @@ public class BedrockAwsConnectionProperties { public static final String CONFIG_PREFIX = "spring.ai.bedrock.aws"; /** - * AWS region to use. Defaults to us-east-1. + * AWS region to use. Otherwise the DefaultAwsRegionProviderChain will be used to + * resolve the region. */ - private String region = "us-east-1"; + private String region; /** * AWS access key. diff --git a/auto-configurations/models/spring-ai-autoconfigure-model-bedrock-ai/src/test/java/org/springframework/ai/model/bedrock/cohere/autoconfigure/BedrockCohereModelConfigurationTests.java b/auto-configurations/models/spring-ai-autoconfigure-model-bedrock-ai/src/test/java/org/springframework/ai/model/bedrock/cohere/autoconfigure/BedrockCohereModelConfigurationTests.java index 3bbd14dbbee..44291a7a74f 100644 --- a/auto-configurations/models/spring-ai-autoconfigure-model-bedrock-ai/src/test/java/org/springframework/ai/model/bedrock/cohere/autoconfigure/BedrockCohereModelConfigurationTests.java +++ b/auto-configurations/models/spring-ai-autoconfigure-model-bedrock-ai/src/test/java/org/springframework/ai/model/bedrock/cohere/autoconfigure/BedrockCohereModelConfigurationTests.java @@ -35,6 +35,7 @@ public class BedrockCohereModelConfigurationTests { private final ApplicationContextRunner contextRunner = new ApplicationContextRunner() .withConfiguration(AutoConfigurations.of(BedrockCohereEmbeddingAutoConfiguration.class)) + .withPropertyValues("spring.ai.bedrock.aws.region=us-east-1") .withBean(ObjectMapper.class, ObjectMapper::new); @Test diff --git a/auto-configurations/models/spring-ai-autoconfigure-model-bedrock-ai/src/test/java/org/springframework/ai/model/bedrock/converse/autoconfigure/BedrockConverseModelConfigurationTests.java b/auto-configurations/models/spring-ai-autoconfigure-model-bedrock-ai/src/test/java/org/springframework/ai/model/bedrock/converse/autoconfigure/BedrockConverseModelConfigurationTests.java index f453aab1036..eb287c35ede 100644 --- a/auto-configurations/models/spring-ai-autoconfigure-model-bedrock-ai/src/test/java/org/springframework/ai/model/bedrock/converse/autoconfigure/BedrockConverseModelConfigurationTests.java +++ b/auto-configurations/models/spring-ai-autoconfigure-model-bedrock-ai/src/test/java/org/springframework/ai/model/bedrock/converse/autoconfigure/BedrockConverseModelConfigurationTests.java @@ -33,6 +33,7 @@ public class BedrockConverseModelConfigurationTests { private final ApplicationContextRunner contextRunner = new ApplicationContextRunner() + .withPropertyValues("spring.ai.bedrock.aws.region=us-east-1") .withConfiguration(AutoConfigurations.of(BedrockConverseProxyChatAutoConfiguration.class)); @Test diff --git a/auto-configurations/models/spring-ai-autoconfigure-model-bedrock-ai/src/test/java/org/springframework/ai/model/bedrock/converse/autoconfigure/BedrockConverseProxyChatAutoConfigurationIT.java b/auto-configurations/models/spring-ai-autoconfigure-model-bedrock-ai/src/test/java/org/springframework/ai/model/bedrock/converse/autoconfigure/BedrockConverseProxyChatAutoConfigurationIT.java index 128e3203bb8..39340483d9f 100644 --- a/auto-configurations/models/spring-ai-autoconfigure-model-bedrock-ai/src/test/java/org/springframework/ai/model/bedrock/converse/autoconfigure/BedrockConverseProxyChatAutoConfigurationIT.java +++ b/auto-configurations/models/spring-ai-autoconfigure-model-bedrock-ai/src/test/java/org/springframework/ai/model/bedrock/converse/autoconfigure/BedrockConverseProxyChatAutoConfigurationIT.java @@ -45,7 +45,7 @@ public class BedrockConverseProxyChatAutoConfigurationIT { private final ApplicationContextRunner contextRunner = BedrockTestUtils.getContextRunner() .withPropertyValues( "spring.ai.bedrock.converse.chat.options.model=" + "anthropic.claude-3-5-sonnet-20240620-v1:0", - "spring.ai.bedrock.converse.chat.options.temperature=0.5") + "spring.ai.bedrock.converse.chat.options.temperature=0.5", "spring.ai.bedrock.aws.region=us-east-1") .withConfiguration(AutoConfigurations.of(BedrockConverseProxyChatAutoConfiguration.class)); @Test diff --git a/auto-configurations/models/spring-ai-autoconfigure-model-bedrock-ai/src/test/java/org/springframework/ai/model/bedrock/converse/autoconfigure/BedrockConverseProxyChatPropertiesTests.java b/auto-configurations/models/spring-ai-autoconfigure-model-bedrock-ai/src/test/java/org/springframework/ai/model/bedrock/converse/autoconfigure/BedrockConverseProxyChatPropertiesTests.java index ef46d235364..4262a78e306 100644 --- a/auto-configurations/models/spring-ai-autoconfigure-model-bedrock-ai/src/test/java/org/springframework/ai/model/bedrock/converse/autoconfigure/BedrockConverseProxyChatPropertiesTests.java +++ b/auto-configurations/models/spring-ai-autoconfigure-model-bedrock-ai/src/test/java/org/springframework/ai/model/bedrock/converse/autoconfigure/BedrockConverseProxyChatPropertiesTests.java @@ -44,7 +44,8 @@ public void chatOptionsTest() { "spring.ai.bedrock.converse.chat.options.temperature=0.55", "spring.ai.bedrock.converse.chat.options.top-p=0.56", - "spring.ai.bedrock.converse.chat.options.top-k=100" + "spring.ai.bedrock.converse.chat.options.top-k=100", + "spring.ai.bedrock.aws.region=us-east-1" ) // @formatter:on .withConfiguration(AutoConfigurations.of(BedrockConverseProxyChatAutoConfiguration.class)) @@ -67,10 +68,12 @@ public void chatCompletionDisabled() { // It is enabled by default new ApplicationContextRunner() .withConfiguration(AutoConfigurations.of(BedrockConverseProxyChatAutoConfiguration.class)) + .withPropertyValues("spring.ai.bedrock.aws.region=us-east-1") .run(context -> assertThat(context.getBeansOfType(BedrockConverseProxyChatProperties.class)).isNotEmpty()); // Explicitly enable the chat auto-configuration. - new ApplicationContextRunner().withPropertyValues("spring.ai.model.chat=bedrock-converse") + new ApplicationContextRunner() + .withPropertyValues("spring.ai.model.chat=bedrock-converse", "spring.ai.bedrock.aws.region=us-east-1") .withConfiguration(AutoConfigurations.of(BedrockConverseProxyChatAutoConfiguration.class)) .run(context -> { assertThat(context.getBeansOfType(BedrockConverseProxyChatProperties.class)).isNotEmpty(); @@ -78,7 +81,8 @@ public void chatCompletionDisabled() { }); // Explicitly disable the chat auto-configuration. - new ApplicationContextRunner().withPropertyValues("spring.ai.model.chat=none") + new ApplicationContextRunner() + .withPropertyValues("spring.ai.model.chat=none", "spring.ai.bedrock.aws.region=us-east-1") .withConfiguration(AutoConfigurations.of(BedrockConverseProxyChatAutoConfiguration.class)) .run(context -> { assertThat(context.getBeansOfType(BedrockConverseProxyChatProperties.class)).isEmpty(); diff --git a/auto-configurations/models/spring-ai-autoconfigure-model-bedrock-ai/src/test/java/org/springframework/ai/model/bedrock/titan/autoconfigure/BedrockTitanModelConfigurationTests.java b/auto-configurations/models/spring-ai-autoconfigure-model-bedrock-ai/src/test/java/org/springframework/ai/model/bedrock/titan/autoconfigure/BedrockTitanModelConfigurationTests.java index b66b4c4f919..94498574886 100644 --- a/auto-configurations/models/spring-ai-autoconfigure-model-bedrock-ai/src/test/java/org/springframework/ai/model/bedrock/titan/autoconfigure/BedrockTitanModelConfigurationTests.java +++ b/auto-configurations/models/spring-ai-autoconfigure-model-bedrock-ai/src/test/java/org/springframework/ai/model/bedrock/titan/autoconfigure/BedrockTitanModelConfigurationTests.java @@ -35,6 +35,7 @@ public class BedrockTitanModelConfigurationTests { private final ApplicationContextRunner contextRunner = new ApplicationContextRunner() .withConfiguration(AutoConfigurations.of(BedrockTitanEmbeddingAutoConfiguration.class)) + .withPropertyValues("spring.ai.bedrock.aws.region=us-east-1") .withBean(ObjectMapper.class, ObjectMapper::new); @Test