diff --git a/spring-ai-openai/src/main/java/org/springframework/ai/openai/embedding/OpenAiEmbeddingClient.java b/spring-ai-openai/src/main/java/org/springframework/ai/openai/embedding/OpenAiEmbeddingClient.java index 9373d682a..955d0ec75 100644 --- a/spring-ai-openai/src/main/java/org/springframework/ai/openai/embedding/OpenAiEmbeddingClient.java +++ b/spring-ai-openai/src/main/java/org/springframework/ai/openai/embedding/OpenAiEmbeddingClient.java @@ -23,11 +23,17 @@ public class OpenAiEmbeddingClient implements EmbeddingClient { private final OpenAiService openAiService; - private String model = "text-embedding-ada-002"; + private final String model; public OpenAiEmbeddingClient(OpenAiService openAiService) { + this(openAiService, "text-embedding-ada-002"); + } + + public OpenAiEmbeddingClient(OpenAiService openAiService, String model) { Assert.notNull(openAiService, "OpenAiService must not be null"); + Assert.notNull(model, "Model must not be null"); this.openAiService = openAiService; + this.model = model; } @Override diff --git a/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/openai/OpenAiAutoConfiguration.java b/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/openai/OpenAiAutoConfiguration.java index 1c3cf4850..e28a24975 100644 --- a/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/openai/OpenAiAutoConfiguration.java +++ b/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/openai/OpenAiAutoConfiguration.java @@ -85,7 +85,7 @@ public class OpenAiAutoConfiguration { @Bean public EmbeddingClient openAiEmbeddingClient(OpenAiService theoOpenAiService) { - return new OpenAiEmbeddingClient(theoOpenAiService); + return new OpenAiEmbeddingClient(theoOpenAiService, openAiProperties.getEmbeddingModel()); } } diff --git a/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/openai/OpenAiProperties.java b/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/openai/OpenAiProperties.java index b0eec9a1c..8a228e75a 100644 --- a/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/openai/OpenAiProperties.java +++ b/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/openai/OpenAiProperties.java @@ -35,6 +35,8 @@ public class OpenAiProperties { private String model = "gpt-3.5-turbo"; + private String embeddingModel = "text-embedding-ada-002"; + private String baseUrl = "https://api.openai.com"; public String getApiKey() { @@ -53,6 +55,14 @@ public class OpenAiProperties { this.model = model; } + public String getEmbeddingModel() { + return embeddingModel; + } + + public void setEmbeddingModel(String embeddingModel) { + this.embeddingModel = embeddingModel; + } + public Double getTemperature() { return temperature; }