diff --git a/spring-ai-client-chat/src/main/java/org/springframework/ai/chat/client/DefaultChatClient.java b/spring-ai-client-chat/src/main/java/org/springframework/ai/chat/client/DefaultChatClient.java index 5cfe18ac9b4..d0031342ba2 100644 --- a/spring-ai-client-chat/src/main/java/org/springframework/ai/chat/client/DefaultChatClient.java +++ b/spring-ai-client-chat/src/main/java/org/springframework/ai/chat/client/DefaultChatClient.java @@ -548,13 +548,10 @@ public Flux content() { // @formatter:off return doGetObservableFluxChatResponse(this.request) .mapNotNull(ChatClientResponse::chatResponse) - .map(r -> { - if (r.getResult() == null || r.getResult().getOutput() == null - || r.getResult().getOutput().getText() == null) { - return ""; - } - return r.getResult().getOutput().getText(); - }) + .map(r -> Optional.ofNullable(r.getResult()) + .map(Generation::getOutput) + .map(AbstractMessage::getText) + .orElse("")) .filter(StringUtils::hasLength); // @formatter:on }