Skip to content

Commit 5ee2ed7

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

File tree

3 files changed

+16
-159
lines changed

3 files changed

+16
-159
lines changed

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);

auto-configurations/models/spring-ai-autoconfigure-model-ollama/src/test/java/org/springframework/ai/model/ollama/autoconfigure/OllamaModelConfigurationTests.java

Lines changed: 11 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@
2020

2121
import org.springframework.ai.ollama.OllamaChatModel;
2222
import org.springframework.ai.ollama.OllamaEmbeddingModel;
23+
import org.springframework.ai.retry.autoconfigure.SpringAiRetryAutoConfiguration;
2324
import org.springframework.boot.autoconfigure.AutoConfigurations;
2425
import org.springframework.boot.test.context.runner.ApplicationContextRunner;
2526

@@ -36,10 +37,13 @@ public class OllamaModelConfigurationTests {
3637

3738
@Test
3839
void chatModelActivation() {
39-
this.contextRunner.withConfiguration(AutoConfigurations.of(OllamaChatAutoConfiguration.class)).run(context -> {
40-
assertThat(context.getBeansOfType(OllamaChatProperties.class)).isNotEmpty();
41-
assertThat(context.getBeansOfType(OllamaChatModel.class)).isNotEmpty();
42-
});
40+
this.contextRunner
41+
.withConfiguration(
42+
AutoConfigurations.of(SpringAiRetryAutoConfiguration.class, OllamaChatAutoConfiguration.class))
43+
.run(context -> {
44+
assertThat(context.getBeansOfType(OllamaChatProperties.class)).isNotEmpty();
45+
assertThat(context.getBeansOfType(OllamaChatModel.class)).isNotEmpty();
46+
});
4347

4448
this.contextRunner.withConfiguration(AutoConfigurations.of(OllamaChatAutoConfiguration.class))
4549
.withPropertyValues("spring.ai.model.chat=none")
@@ -48,7 +52,9 @@ void chatModelActivation() {
4852
assertThat(context.getBeansOfType(OllamaChatModel.class)).isEmpty();
4953
});
5054

51-
this.contextRunner.withConfiguration(AutoConfigurations.of(OllamaChatAutoConfiguration.class))
55+
this.contextRunner
56+
.withConfiguration(
57+
AutoConfigurations.of(SpringAiRetryAutoConfiguration.class, OllamaChatAutoConfiguration.class))
5258
.withPropertyValues("spring.ai.model.chat=ollama")
5359
.run(context -> {
5460
assertThat(context.getBeansOfType(OllamaChatProperties.class)).isNotEmpty();

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)