Skip to content

Commit c001650

Browse files
committed
Minor code improvements
1 parent 65d42c9 commit c001650

File tree

2 files changed

+18
-26
lines changed

2 files changed

+18
-26
lines changed

models/spring-ai-openai/src/test/java/org/springframework/ai/openai/chat/api/RestClientBuilderTests.java

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,6 @@ public void test1() {
4040
}
4141

4242
@Test
43-
@Disabled("RestClient.builder(restTemplate) bug: https://github.com/spring-projects/spring-framework/issues/32180")
4443
public void test2() {
4544
RestTemplate restTemplate = new RestTemplate();
4645
test(RestClient.builder(restTemplate), BASE_URL);

spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/openai/OpenAiAutoConfiguration.java

Lines changed: 18 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -47,10 +47,6 @@
4747
*/
4848
public class OpenAiAutoConfiguration {
4949

50-
public static final String OPEN_AI_API_KEY_MUST_BE_SET = "OpenAI API key must be set";
51-
52-
public static final String OPEN_AI_BASE_URL_MUST_BE_SET = "OpenAI base URL must be set";
53-
5450
@Bean
5551
@ConditionalOnMissingBean
5652
@ConditionalOnProperty(prefix = OpenAiChatProperties.CONFIG_PREFIX, name = "enabled", havingValue = "true",
@@ -59,16 +55,8 @@ public OpenAiChatClient openAiChatClient(OpenAiConnectionProperties commonProper
5955
OpenAiChatProperties chatProperties, RestClient.Builder restClientBuilder,
6056
List<FunctionCallback> toolFunctionCallbacks, FunctionCallbackContext functionCallbackContext) {
6157

62-
String apiKey = StringUtils.hasText(chatProperties.getApiKey()) ? chatProperties.getApiKey()
63-
: commonProperties.getApiKey();
64-
65-
String baseUrl = StringUtils.hasText(chatProperties.getBaseUrl()) ? chatProperties.getBaseUrl()
66-
: commonProperties.getBaseUrl();
67-
68-
Assert.hasText(apiKey, OPEN_AI_API_KEY_MUST_BE_SET);
69-
Assert.hasText(baseUrl, OPEN_AI_BASE_URL_MUST_BE_SET);
70-
71-
var openAiApi = new OpenAiApi(baseUrl, apiKey, restClientBuilder);
58+
var openAiApi = openAiApi(chatProperties.getBaseUrl(), commonProperties.getBaseUrl(),
59+
chatProperties.getApiKey(), commonProperties.getApiKey(), restClientBuilder);
7260

7361
if (!CollectionUtils.isEmpty(toolFunctionCallbacks)) {
7462
chatProperties.getOptions().getFunctionCallbacks().addAll(toolFunctionCallbacks);
@@ -84,20 +72,25 @@ public OpenAiChatClient openAiChatClient(OpenAiConnectionProperties commonProper
8472
public OpenAiEmbeddingClient openAiEmbeddingClient(OpenAiConnectionProperties commonProperties,
8573
OpenAiEmbeddingProperties embeddingProperties, RestClient.Builder restClientBuilder) {
8674

87-
String apiKey = StringUtils.hasText(embeddingProperties.getApiKey()) ? embeddingProperties.getApiKey()
88-
: commonProperties.getApiKey();
89-
String baseUrl = StringUtils.hasText(embeddingProperties.getBaseUrl()) ? embeddingProperties.getBaseUrl()
90-
: commonProperties.getBaseUrl();
91-
92-
Assert.hasText(apiKey, OPEN_AI_API_KEY_MUST_BE_SET);
93-
Assert.hasText(baseUrl, OPEN_AI_BASE_URL_MUST_BE_SET);
94-
95-
var openAiApi = new OpenAiApi(baseUrl, apiKey, restClientBuilder);
75+
var openAiApi = openAiApi(embeddingProperties.getBaseUrl(), commonProperties.getBaseUrl(),
76+
embeddingProperties.getApiKey(), commonProperties.getApiKey(), restClientBuilder);
9677

9778
return new OpenAiEmbeddingClient(openAiApi, embeddingProperties.getMetadataMode(),
9879
embeddingProperties.getOptions());
9980
}
10081

82+
private OpenAiApi openAiApi(String baseUrl, String commonBaseUrl, String apiKey, String commonApiKey,
83+
RestClient.Builder restClientBuilder) {
84+
85+
String resolvedBaseUrl = StringUtils.hasText(baseUrl) ? baseUrl : commonBaseUrl;
86+
Assert.hasText(baseUrl, "OpenAI base URL must be set");
87+
88+
String resolvedApiKey = StringUtils.hasText(apiKey) ? apiKey : commonApiKey;
89+
Assert.hasText(apiKey, "OpenAI API key must be set");
90+
91+
return new OpenAiApi(resolvedBaseUrl, resolvedApiKey, restClientBuilder);
92+
}
93+
10194
@Bean
10295
@ConditionalOnMissingBean
10396
@ConditionalOnProperty(prefix = OpenAiImageProperties.CONFIG_PREFIX, name = "enabled", havingValue = "true",
@@ -110,8 +103,8 @@ public OpenAiImageClient openAiImageClient(OpenAiConnectionProperties commonProp
110103
String baseUrl = StringUtils.hasText(imageProperties.getBaseUrl()) ? imageProperties.getBaseUrl()
111104
: commonProperties.getBaseUrl();
112105

113-
Assert.hasText(apiKey, OPEN_AI_API_KEY_MUST_BE_SET);
114-
Assert.hasText(baseUrl, OPEN_AI_BASE_URL_MUST_BE_SET);
106+
Assert.hasText(apiKey, "OpenAI API key must be set");
107+
Assert.hasText(baseUrl, "OpenAI base URL must be set");
115108

116109
var openAiImageApi = new OpenAiImageApi(baseUrl, apiKey, restClientBuilder);
117110

0 commit comments

Comments
 (0)