Skip to content

Commit e0809cb

Browse files
committed
Fix formatting issues in BedrockTitanEmbeddingModel.java
1 parent 43641f5 commit e0809cb

File tree

2 files changed

+29
-9
lines changed

2 files changed

+29
-9
lines changed

auto-configurations/models/spring-ai-autoconfigure-model-bedrock-ai/pom.xml

+6
Original file line numberDiff line numberDiff line change
@@ -79,6 +79,12 @@
7979
<optional>true</optional>
8080
</dependency>
8181

82+
<dependency>
83+
<groupId>org.springframework.boot</groupId>
84+
<artifactId>spring-boot-test</artifactId>
85+
<scope>test</scope>
86+
</dependency>
87+
8288
<dependency>
8389
<groupId>org.springframework.boot</groupId>
8490
<artifactId>spring-boot-configuration-processor</artifactId>

auto-configurations/models/spring-ai-autoconfigure-model-bedrock-ai/src/main/java/org/springframework/ai/model/bedrock/titan/autoconfigure/BedrockTitanEmbeddingAutoConfiguration.java

+23-9
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,6 @@
2828
import org.springframework.ai.model.SpringAIModels;
2929
import org.springframework.ai.model.bedrock.autoconfigure.BedrockAwsConnectionConfiguration;
3030
import org.springframework.ai.model.bedrock.autoconfigure.BedrockAwsConnectionProperties;
31-
import org.springframework.beans.factory.annotation.Autowired;
3231
import org.springframework.boot.autoconfigure.AutoConfiguration;
3332
import org.springframework.boot.autoconfigure.condition.ConditionalOnBean;
3433
import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
@@ -39,7 +38,8 @@
3938
import org.springframework.context.annotation.Import;
4039

4140
/**
42-
* {@link AutoConfiguration Auto-configuration} for Bedrock Titan Embedding Model.
41+
* {@link AutoConfiguration Auto-configuration} for Bedrock Titan Embedding
42+
* Model.
4343
*
4444
* @author Christian Tzolov
4545
* @author Wei Jiang
@@ -48,31 +48,45 @@
4848
@AutoConfiguration
4949
@ConditionalOnClass(TitanEmbeddingBedrockApi.class)
5050
@EnableConfigurationProperties({ BedrockTitanEmbeddingProperties.class, BedrockAwsConnectionProperties.class })
51-
@ConditionalOnProperty(name = SpringAIModelProperties.EMBEDDING_MODEL, havingValue = SpringAIModels.BEDROCK_TITAN,
52-
matchIfMissing = true)
51+
@ConditionalOnProperty(name = SpringAIModelProperties.EMBEDDING_MODEL, havingValue = SpringAIModels.BEDROCK_TITAN, matchIfMissing = true)
5352
@Import(BedrockAwsConnectionConfiguration.class)
5453
public class BedrockTitanEmbeddingAutoConfiguration {
5554

56-
@Autowired
57-
private ObservationRegistry observationRegistry;
58-
5955
@Bean
6056
@ConditionalOnMissingBean
6157
@ConditionalOnBean({ AwsCredentialsProvider.class, AwsRegionProvider.class })
6258
public TitanEmbeddingBedrockApi titanEmbeddingBedrockApi(AwsCredentialsProvider credentialsProvider,
6359
AwsRegionProvider regionProvider, BedrockTitanEmbeddingProperties properties,
6460
BedrockAwsConnectionProperties awsProperties, ObjectMapper objectMapper) {
61+
62+
// Validate required properties
63+
if (properties.getModel() == null || awsProperties.getTimeout() == null) {
64+
throw new IllegalArgumentException("Required properties for TitanEmbeddingBedrockApi are missing.");
65+
}
66+
6567
return new TitanEmbeddingBedrockApi(properties.getModel(), credentialsProvider, regionProvider.getRegion(),
6668
objectMapper, awsProperties.getTimeout());
6769
}
6870

71+
@Bean
72+
@ConditionalOnMissingBean
73+
public ObservationRegistry observationRegistry() {
74+
return ObservationRegistry.create();
75+
}
76+
6977
@Bean
7078
@ConditionalOnMissingBean
7179
@ConditionalOnBean(TitanEmbeddingBedrockApi.class)
7280
public BedrockTitanEmbeddingModel titanEmbeddingModel(TitanEmbeddingBedrockApi titanEmbeddingApi,
73-
BedrockTitanEmbeddingProperties properties) {
81+
BedrockTitanEmbeddingProperties properties, ObservationRegistry observationRegistry) {
82+
83+
// Validate required properties
84+
if (properties.getInputType() == null) {
85+
throw new IllegalArgumentException("InputType property for BedrockTitanEmbeddingModel is missing.");
86+
}
87+
7488
return new BedrockTitanEmbeddingModel(titanEmbeddingApi, observationRegistry)
75-
.withInputType(properties.getInputType());
89+
.withInputType(properties.getInputType());
7690
}
7791

7892
}

0 commit comments

Comments
 (0)