Skip to content

Streaming tool calls fail with No value present in OpenAiChatModel$ChunkMerger #6762

Description

@zhangmr-zmr

When using ChatClient.stream().content() with tools enabled, the stream fails in MessageAggregator while merging tool call chunks.

Exception:
java.util.NoSuchElementException: No value present

Failing component:
org.springframework.ai.openai.OpenAiChatModel$ChunkMerger.chunkToChatCompletion

Observed stack:
OpenAiChatModel$ChunkMerger.lambda$chunkToChatCompletion$6(OpenAiChatModel.java:1130)
OpenAiChatModel$ChunkMerger.lambda$chunkToChatCompletion$7(OpenAiChatModel.java:1134)
OpenAiChatModel$ChunkMerger.lambda$chunkToChatCompletion$8(OpenAiChatModel.java:1123)
MessageAggregator - Aggregation Error

ERROR openai-stream-handler-thread-0 org.springframework.ai.chat.model.MessageAggregator - Aggregation Error

java.util.NoSuchElementException: No value present
at java.base/java.util.Optional.get(Optional.java:143)
at org.springframework.ai.openai.OpenAiChatModel$ChunkMerger.lambda$chunkToChatCompletion$6(OpenAiChatModel.java:1130)
at java.base/java.util.stream.AbstractPipeline.evaluateToArrayNode(AbstractPipeline.java:260)
at java.base/java.util.stream.ReferencePipeline.toList(ReferencePipeline.java:627)
at org.springframework.ai.openai.OpenAiChatModel$ChunkMerger.lambda$chunkToChatCompletion$7(OpenAiChatModel.java:1134)
at java.base/java.util.Optional.ifPresent(Optional.java:178)
at org.springframework.ai.openai.OpenAiChatModel$ChunkMerger.lambda$chunkToChatCompletion$8(OpenAiChatModel.java:1123)

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions