Skip to content

Commit 0c5d9be

Browse files
fix incorrect ollama autoconfiguration changes
Signed-off-by: jonghoonpark <[email protected]>
1 parent 28f86bf commit 0c5d9be

File tree

3 files changed

+14
-155
lines changed

3 files changed

+14
-155
lines changed

auto-configurations/models/spring-ai-autoconfigure-model-ollama/src/main/java/org/springframework/ai/model/ollama/autoconfigure/OllamaApiAutoConfiguration.java

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,13 +16,19 @@
1616

1717
package org.springframework.ai.model.ollama.autoconfigure;
1818

19+
import org.springframework.ai.model.tool.autoconfigure.ToolCallingAutoConfiguration;
1920
import org.springframework.ai.ollama.api.OllamaApi;
21+
import org.springframework.ai.retry.autoconfigure.SpringAiRetryAutoConfiguration;
2022
import org.springframework.beans.factory.ObjectProvider;
2123
import org.springframework.boot.autoconfigure.AutoConfiguration;
24+
import org.springframework.boot.autoconfigure.ImportAutoConfiguration;
2225
import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
2326
import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
27+
import org.springframework.boot.autoconfigure.web.client.RestClientAutoConfiguration;
28+
import org.springframework.boot.autoconfigure.web.reactive.function.client.WebClientAutoConfiguration;
2429
import org.springframework.boot.context.properties.EnableConfigurationProperties;
2530
import org.springframework.context.annotation.Bean;
31+
import org.springframework.web.client.ResponseErrorHandler;
2632
import org.springframework.web.client.RestClient;
2733
import org.springframework.web.reactive.function.client.WebClient;
2834

@@ -38,6 +44,7 @@
3844
@AutoConfiguration
3945
@ConditionalOnClass(OllamaApi.class)
4046
@EnableConfigurationProperties(OllamaConnectionProperties.class)
47+
@ImportAutoConfiguration(classes = { SpringAiRetryAutoConfiguration.class })
4148
public class OllamaApiAutoConfiguration {
4249

4350
@Bean
@@ -50,11 +57,12 @@ public PropertiesOllamaConnectionDetails ollamaConnectionDetails(OllamaConnectio
5057
@ConditionalOnMissingBean
5158
public OllamaApi ollamaApi(OllamaConnectionDetails connectionDetails,
5259
ObjectProvider<RestClient.Builder> restClientBuilderProvider,
53-
ObjectProvider<WebClient.Builder> webClientBuilderProvider) {
60+
ObjectProvider<WebClient.Builder> webClientBuilderProvider, ResponseErrorHandler responseErrorHandler) {
5461
return OllamaApi.builder()
5562
.baseUrl(connectionDetails.getBaseUrl())
5663
.restClientBuilder(restClientBuilderProvider.getIfAvailable(RestClient::builder))
5764
.webClientBuilder(webClientBuilderProvider.getIfAvailable(WebClient::builder))
65+
.responseErrorHandler(responseErrorHandler)
5866
.build();
5967
}
6068

auto-configurations/models/spring-ai-autoconfigure-model-ollama/src/main/java/org/springframework/ai/model/ollama/autoconfigure/OllamaChatAutoConfiguration.java

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,7 @@
3939
import org.springframework.boot.autoconfigure.web.reactive.function.client.WebClientAutoConfiguration;
4040
import org.springframework.boot.context.properties.EnableConfigurationProperties;
4141
import org.springframework.context.annotation.Bean;
42+
import org.springframework.retry.support.RetryTemplate;
4243

4344
/**
4445
* {@link AutoConfiguration Auto-configuration} for Ollama Chat model.
@@ -47,6 +48,7 @@
4748
* @author Eddú Meléndez
4849
* @author Thomas Vitale
4950
* @author Ilayaperumal Gopinathan
51+
* @author Jonghoon Park
5052
* @since 0.8.0
5153
*/
5254
@AutoConfiguration(after = { RestClientAutoConfiguration.class, ToolCallingAutoConfiguration.class })
@@ -64,7 +66,8 @@ public OllamaChatModel ollamaChatModel(OllamaApi ollamaApi, OllamaChatProperties
6466
OllamaInitializationProperties initProperties, ToolCallingManager toolCallingManager,
6567
ObjectProvider<ObservationRegistry> observationRegistry,
6668
ObjectProvider<ChatModelObservationConvention> observationConvention,
67-
ObjectProvider<ToolExecutionEligibilityPredicate> ollamaToolExecutionEligibilityPredicate) {
69+
ObjectProvider<ToolExecutionEligibilityPredicate> ollamaToolExecutionEligibilityPredicate,
70+
RetryTemplate retryTemplate) {
6871
var chatModelPullStrategy = initProperties.getChat().isInclude() ? initProperties.getPullModelStrategy()
6972
: PullModelStrategy.NEVER;
7073

@@ -78,6 +81,7 @@ public OllamaChatModel ollamaChatModel(OllamaApi ollamaApi, OllamaChatProperties
7881
.modelManagementOptions(
7982
new ModelManagementOptions(chatModelPullStrategy, initProperties.getChat().getAdditionalModels(),
8083
initProperties.getTimeout(), initProperties.getMaxRetries()))
84+
.retryTemplate(retryTemplate)
8185
.build();
8286

8387
observationConvention.ifAvailable(chatModel::setObservationConvention);

spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/ollama/OllamaAutoConfiguration.java

Lines changed: 0 additions & 153 deletions
This file was deleted.

0 commit comments

Comments
 (0)