diff --git a/models/spring-ai-ollama/src/main/java/org/springframework/ai/ollama/api/OllamaApiHelper.java b/models/spring-ai-ollama/src/main/java/org/springframework/ai/ollama/api/OllamaApiHelper.java index 4e4c1a0c151..fd0da1f12b6 100644 --- a/models/spring-ai-ollama/src/main/java/org/springframework/ai/ollama/api/OllamaApiHelper.java +++ b/models/spring-ai-ollama/src/main/java/org/springframework/ai/ollama/api/OllamaApiHelper.java @@ -63,7 +63,7 @@ public static boolean isStreamingDone(OllamaApi.ChatResponse ollamaChatResponse) public static ChatResponse merge(ChatResponse previous, ChatResponse current) { - String model = merge(previous.model(), current.model()); + String model = (current.model() != null ? current.model() : previous.model()); Instant createdAt = merge(previous.createdAt(), current.createdAt()); OllamaApi.Message message = merge(previous.message(), current.message()); String doneReason = (current.doneReason() != null ? current.doneReason() : previous.doneReason()); @@ -122,16 +122,6 @@ private static Long merge(Long previous, Long current) { return previous + current; } - private static String merge(String previous, String current) { - if (previous == null) { - return current; - } - if (current == null) { - return previous; - } - return previous + current; - } - private static String mergeContent(OllamaApi.Message previous, OllamaApi.Message current) { if (previous == null || previous.content() == null) { return (current != null ? current.content() : null); diff --git a/models/spring-ai-ollama/src/test/java/org/springframework/ai/ollama/api/OllamaApiHelperTests.java b/models/spring-ai-ollama/src/test/java/org/springframework/ai/ollama/api/OllamaApiHelperTests.java index 3ef110ffd7f..6f43551b90b 100644 --- a/models/spring-ai-ollama/src/test/java/org/springframework/ai/ollama/api/OllamaApiHelperTests.java +++ b/models/spring-ai-ollama/src/test/java/org/springframework/ai/ollama/api/OllamaApiHelperTests.java @@ -149,7 +149,7 @@ void mergeWhenBothResponsesHaveValuesShouldMergeCorrectly() { OllamaApi.ChatResponse result = OllamaApiHelper.merge(previous, current); - assertThat(result.model()).isEqualTo("previous-modelcurrent-model"); + assertThat(result.model()).isEqualTo("current-model"); assertThat(result.createdAt()).isEqualTo(currentCreatedAt); assertThat(result.message().content()).isEqualTo("Previous contentCurrent content"); assertThat(result.message().thinking()).isEqualTo("Previous thinkingCurrent thinking"); @@ -187,7 +187,6 @@ void mergeStringsShouldConcatenate() { OllamaApi.ChatResponse result = OllamaApiHelper.merge(previous, current); - assertThat(result.model()).isEqualTo("model1model2"); assertThat(result.message().content()).isEqualTo("Hello World"); assertThat(result.message().thinking()).isEqualTo("Thinking"); assertThat(result.message().toolName()).isEqualTo("ToolBox");