Skip to content

Commit 6810213

Browse files
committed
Fix EmbeddingOptions
- Remove the explicit EMPTY check when merging the default embedding options - Use the builder to build the default embedding options
1 parent 5f300c2 commit 6810213

File tree

8 files changed

+13
-13
lines changed

8 files changed

+13
-13
lines changed

models/spring-ai-bedrock/src/main/java/org/springframework/ai/bedrock/cohere/BedrockCohereEmbeddingModel.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -130,7 +130,7 @@ BedrockCohereEmbeddingOptions mergeOptions(EmbeddingOptions requestOptions) {
130130
.truncate(CohereEmbeddingRequest.Truncate.NONE)
131131
.build();
132132

133-
if (requestOptions != null && !EmbeddingOptions.EMPTY.equals(requestOptions)) {
133+
if (requestOptions != null) {
134134
options = ModelOptionsUtils.merge(requestOptions, options, BedrockCohereEmbeddingOptions.class);
135135
}
136136

models/spring-ai-postgresml/src/main/java/org/springframework/ai/postgresml/PostgresMlEmbeddingModel.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -151,7 +151,7 @@ PostgresMlEmbeddingOptions mergeOptions(EmbeddingOptions requestOptions) {
151151
PostgresMlEmbeddingOptions options = (this.defaultOptions != null) ? this.defaultOptions
152152
: PostgresMlEmbeddingOptions.builder().build();
153153

154-
if (requestOptions != null && !EmbeddingOptions.EMPTY.equals(requestOptions)) {
154+
if (requestOptions != null) {
155155
options = ModelOptionsUtils.merge(requestOptions, options, PostgresMlEmbeddingOptions.class);
156156
}
157157

models/spring-ai-postgresml/src/test/java/org/springframework/ai/postgresml/PostgresMlEmbeddingModelIT.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@
3333

3434
import org.springframework.ai.document.Document;
3535
import org.springframework.ai.document.MetadataMode;
36-
import org.springframework.ai.embedding.EmbeddingOptions;
36+
import org.springframework.ai.embedding.EmbeddingOptionsBuilder;
3737
import org.springframework.ai.embedding.EmbeddingRequest;
3838
import org.springframework.ai.embedding.EmbeddingResponse;
3939
import org.springframework.ai.embedding.EmbeddingResponseMetadata;
@@ -179,7 +179,8 @@ void embedCallWithRequestOptionsOverride() {
179179
true);
180180
embeddingModel.afterPropertiesSet();
181181

182-
var request1 = new EmbeddingRequest(List.of("Hello World!", "Spring AI!", "LLM!"), EmbeddingOptions.EMPTY);
182+
var request1 = new EmbeddingRequest(List.of("Hello World!", "Spring AI!", "LLM!"),
183+
EmbeddingOptionsBuilder.builder().build());
183184

184185
EmbeddingResponse embeddingResponse = embeddingModel.call(request1);
185186

models/spring-ai-postgresml/src/test/java/org/springframework/ai/postgresml/PostgresMlEmbeddingOptionsTests.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@
2121
import org.junit.jupiter.api.Test;
2222
import org.mockito.Mockito;
2323

24-
import org.springframework.ai.embedding.EmbeddingOptions;
24+
import org.springframework.ai.embedding.EmbeddingOptionsBuilder;
2525
import org.springframework.jdbc.core.JdbcTemplate;
2626

2727
import static org.assertj.core.api.Assertions.assertThat;
@@ -62,7 +62,7 @@ public void mergeOptions() {
6262
var jdbcTemplate = Mockito.mock(JdbcTemplate.class);
6363
PostgresMlEmbeddingModel embeddingModel = new PostgresMlEmbeddingModel(jdbcTemplate);
6464

65-
PostgresMlEmbeddingOptions options = embeddingModel.mergeOptions(EmbeddingOptions.EMPTY);
65+
PostgresMlEmbeddingOptions options = embeddingModel.mergeOptions(EmbeddingOptionsBuilder.builder().build());
6666

6767
// Default options
6868
assertThat(options.getTransformer()).isEqualTo(PostgresMlEmbeddingModel.DEFAULT_TRANSFORMER_MODEL);

models/spring-ai-vertex-ai-embedding/src/main/java/org/springframework/ai/vertexai/embedding/multimodal/VertexAiMultimodalEmbeddingModel.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,6 @@
3737
import org.springframework.ai.embedding.DocumentEmbeddingModel;
3838
import org.springframework.ai.embedding.DocumentEmbeddingRequest;
3939
import org.springframework.ai.embedding.Embedding;
40-
import org.springframework.ai.embedding.EmbeddingOptions;
4140
import org.springframework.ai.embedding.EmbeddingResponse;
4241
import org.springframework.ai.embedding.EmbeddingResponseMetadata;
4342
import org.springframework.ai.embedding.EmbeddingResultMetadata;
@@ -101,7 +100,7 @@ public EmbeddingResponse call(DocumentEmbeddingRequest request) {
101100
// merge the runtime and default vertex ai options.
102101
VertexAiMultimodalEmbeddingOptions mergedOptions = this.defaultOptions;
103102

104-
if (request.getOptions() != null && request.getOptions() != EmbeddingOptions.EMPTY) {
103+
if (request.getOptions() != null) {
105104
var defaultOptionsCopy = VertexAiMultimodalEmbeddingOptions.builder().from(this.defaultOptions).build();
106105
mergedOptions = ModelOptionsUtils.merge(request.getOptions(), defaultOptionsCopy,
107106
VertexAiMultimodalEmbeddingOptions.class);

models/spring-ai-vertex-ai-embedding/src/main/java/org/springframework/ai/vertexai/embedding/text/VertexAiTextEmbeddingModel.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,6 @@
3434
import org.springframework.ai.document.Document;
3535
import org.springframework.ai.embedding.AbstractEmbeddingModel;
3636
import org.springframework.ai.embedding.Embedding;
37-
import org.springframework.ai.embedding.EmbeddingOptions;
3837
import org.springframework.ai.embedding.EmbeddingRequest;
3938
import org.springframework.ai.embedding.EmbeddingResponse;
4039
import org.springframework.ai.embedding.EmbeddingResponseMetadata;
@@ -167,7 +166,7 @@ private VertexAiTextEmbeddingOptions mergedOptions(EmbeddingRequest request) {
167166

168167
VertexAiTextEmbeddingOptions mergedOptions = this.defaultOptions;
169168

170-
if (request.getOptions() != null && request.getOptions() != EmbeddingOptions.EMPTY) {
169+
if (request.getOptions() != null) {
171170
var defaultOptionsCopy = VertexAiTextEmbeddingOptions.builder().from(this.defaultOptions).build();
172171
mergedOptions = ModelOptionsUtils.merge(request.getOptions(), defaultOptionsCopy,
173172
VertexAiTextEmbeddingOptions.class);

models/spring-ai-watsonx-ai/src/test/java/org/springframework/ai/watsonx/WatsonxAiEmbeddingModelTest.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@
2222
import org.junit.jupiter.api.Test;
2323

2424
import org.springframework.ai.embedding.EmbeddingOptions;
25+
import org.springframework.ai.embedding.EmbeddingOptionsBuilder;
2526
import org.springframework.ai.embedding.EmbeddingResponse;
2627
import org.springframework.ai.watsonx.api.WatsonxAiApi;
2728
import org.springframework.ai.watsonx.api.WatsonxAiEmbeddingRequest;
@@ -73,7 +74,7 @@ void createRequestWithOptionsAndInvalidModel() {
7374
void createRequestWithNoOptions() {
7475
List<String> inputs = List.of("test");
7576
WatsonxAiEmbeddingRequest request = this.embeddingModel.watsonxAiEmbeddingRequest(inputs,
76-
EmbeddingOptions.EMPTY);
77+
EmbeddingOptionsBuilder.builder().build());
7778

7879
assertThat(request.getModel()).isEqualTo(WatsonxAiEmbeddingOptions.DEFAULT_MODEL);
7980
assertThat(request.getInputs().size()).isEqualTo(inputs.size());

spring-ai-spring-boot-autoconfigure/src/test/java/org/springframework/ai/autoconfigure/vertexai/embedding/VertexAiTextEmbeddingModelAutoConfigurationIT.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@
2525

2626
import org.springframework.ai.document.Document;
2727
import org.springframework.ai.embedding.DocumentEmbeddingRequest;
28-
import org.springframework.ai.embedding.EmbeddingOptions;
28+
import org.springframework.ai.embedding.EmbeddingOptionsBuilder;
2929
import org.springframework.ai.embedding.EmbeddingResponse;
3030
import org.springframework.ai.embedding.EmbeddingResultMetadata;
3131
import org.springframework.ai.vertexai.embedding.multimodal.VertexAiMultimodalEmbeddingModel;
@@ -105,7 +105,7 @@ public void multimodalEmbedding() {
105105
var document = new Document("Hello World");
106106

107107
DocumentEmbeddingRequest embeddingRequest = new DocumentEmbeddingRequest(List.of(document),
108-
EmbeddingOptions.EMPTY);
108+
EmbeddingOptionsBuilder.builder().build());
109109

110110
EmbeddingResponse embeddingResponse = multiModelEmbeddingModel.call(embeddingRequest);
111111
assertThat(embeddingResponse.getResults()).hasSize(1);

0 commit comments

Comments
 (0)