Add "embeddingModel" field external injection

This commit is contained in:
pir
2023-09-16 02:07:39 +09:00
committed by Mark Pollack
parent 532ae01f41
commit e1b560595f
3 changed files with 18 additions and 2 deletions

View File

@@ -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

View File

@@ -85,7 +85,7 @@ public class OpenAiAutoConfiguration {
@Bean
public EmbeddingClient openAiEmbeddingClient(OpenAiService theoOpenAiService) {
return new OpenAiEmbeddingClient(theoOpenAiService);
return new OpenAiEmbeddingClient(theoOpenAiService, openAiProperties.getEmbeddingModel());
}
}

View File

@@ -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;
}