diff --git a/models/spring-ai-openai/src/main/java/org/springframework/ai/openai/api/OpenAiStreamFunctionCallingHelper.java b/models/spring-ai-openai/src/main/java/org/springframework/ai/openai/api/OpenAiStreamFunctionCallingHelper.java index d8fcb056f1f..55d74fa7b52 100644 --- a/models/spring-ai-openai/src/main/java/org/springframework/ai/openai/api/OpenAiStreamFunctionCallingHelper.java +++ b/models/spring-ai-openai/src/main/java/org/springframework/ai/openai/api/OpenAiStreamFunctionCallingHelper.java @@ -112,13 +112,13 @@ private ChatCompletionMessage merge(ChatCompletionMessage previous, ChatCompleti List toolCalls = new ArrayList<>(); ToolCall lastPreviousTooCall = null; - if (previous.toolCalls() != null) { + if (previous.toolCalls() != null && !previous.toolCalls().isEmpty()) { lastPreviousTooCall = previous.toolCalls().get(previous.toolCalls().size() - 1); if (previous.toolCalls().size() > 1) { toolCalls.addAll(previous.toolCalls().subList(0, previous.toolCalls().size() - 1)); } } - if (current.toolCalls() != null && current.toolCalls().size() > 0) { + if (current.toolCalls() != null && !current.toolCalls().isEmpty()) { if (current.toolCalls().size() > 1) { throw new IllegalStateException("Currently only one tool call is supported per message!"); }