From 7c7392e657d287ccad9d2c20c95b0b1161850c88 Mon Sep 17 00:00:00 2001 From: Christian Tzolov Date: Sun, 28 Jan 2024 19:10:08 +0100 Subject: [PATCH] Change EmbeddingOptions from class into interface --- .../ai/postgresml/PostgresMlEmbeddingClient.java | 2 +- .../ai/transformers/TransformersEmbeddingClient.java | 2 +- .../org/springframework/ai/embedding/EmbeddingClient.java | 4 ++-- .../org/springframework/ai/embedding/EmbeddingOptions.java | 5 ++++- 4 files changed, 8 insertions(+), 5 deletions(-) diff --git a/models/spring-ai-postgresml/src/main/java/org/springframework/ai/postgresml/PostgresMlEmbeddingClient.java b/models/spring-ai-postgresml/src/main/java/org/springframework/ai/postgresml/PostgresMlEmbeddingClient.java index 02cd2c877..f14167b6b 100644 --- a/models/spring-ai-postgresml/src/main/java/org/springframework/ai/postgresml/PostgresMlEmbeddingClient.java +++ b/models/spring-ai-postgresml/src/main/java/org/springframework/ai/postgresml/PostgresMlEmbeddingClient.java @@ -156,7 +156,7 @@ public class PostgresMlEmbeddingClient extends AbstractEmbeddingClient implement @Override public EmbeddingResponse embedForResponse(List texts) { - return this.call(new EmbeddingRequest(texts, new EmbeddingOptions())); + return this.call(new EmbeddingRequest(texts, EmbeddingOptions.EMPTY)); } @Override diff --git a/models/spring-ai-transformers/src/main/java/org/springframework/ai/transformers/TransformersEmbeddingClient.java b/models/spring-ai-transformers/src/main/java/org/springframework/ai/transformers/TransformersEmbeddingClient.java index 3f3020100..13e9acd34 100644 --- a/models/spring-ai-transformers/src/main/java/org/springframework/ai/transformers/TransformersEmbeddingClient.java +++ b/models/spring-ai-transformers/src/main/java/org/springframework/ai/transformers/TransformersEmbeddingClient.java @@ -214,7 +214,7 @@ public class TransformersEmbeddingClient extends AbstractEmbeddingClient impleme @Override public List> embed(List texts) { - return this.call(new EmbeddingRequest(texts, new EmbeddingOptions())) + return this.call(new EmbeddingRequest(texts, EmbeddingOptions.EMPTY)) .getResults() .stream() .map(e -> e.getOutput()) diff --git a/spring-ai-core/src/main/java/org/springframework/ai/embedding/EmbeddingClient.java b/spring-ai-core/src/main/java/org/springframework/ai/embedding/EmbeddingClient.java index 1300999f1..03199d1b1 100644 --- a/spring-ai-core/src/main/java/org/springframework/ai/embedding/EmbeddingClient.java +++ b/spring-ai-core/src/main/java/org/springframework/ai/embedding/EmbeddingClient.java @@ -50,7 +50,7 @@ public interface EmbeddingClient extends ModelClient> embed(List texts) { Assert.notNull(texts, "Texts must not be null"); - return this.call(new EmbeddingRequest(texts, new EmbeddingOptions())) + return this.call(new EmbeddingRequest(texts, EmbeddingOptions.EMPTY)) .getResults() .stream() .map(Embedding::getOutput) @@ -64,7 +64,7 @@ public interface EmbeddingClient extends ModelClient texts) { Assert.notNull(texts, "Texts must not be null"); - return this.call(new EmbeddingRequest(texts, new EmbeddingOptions())); + return this.call(new EmbeddingRequest(texts, EmbeddingOptions.EMPTY)); } /** diff --git a/spring-ai-core/src/main/java/org/springframework/ai/embedding/EmbeddingOptions.java b/spring-ai-core/src/main/java/org/springframework/ai/embedding/EmbeddingOptions.java index e022979e9..c4137cb57 100644 --- a/spring-ai-core/src/main/java/org/springframework/ai/embedding/EmbeddingOptions.java +++ b/spring-ai-core/src/main/java/org/springframework/ai/embedding/EmbeddingOptions.java @@ -21,6 +21,9 @@ import org.springframework.ai.model.ModelOptions; /** * @author Christian Tzolov */ -public class EmbeddingOptions implements ModelOptions { +public interface EmbeddingOptions extends ModelOptions { + + public static EmbeddingOptions EMPTY = new EmbeddingOptions() { + }; }