Skip to content

Commit be5e0a8

Browse files
committed
Use Optional to check null.
Signed-off-by: Mengqi Xu <[email protected]>
1 parent e0ccc13 commit be5e0a8

File tree

1 file changed

+12
-6
lines changed

1 file changed

+12
-6
lines changed

spring-ai-model/src/main/java/org/springframework/ai/chat/model/StreamingChatModel.java

Lines changed: 12 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,9 @@
1717
package org.springframework.ai.chat.model;
1818

1919
import java.util.Arrays;
20+
import java.util.Optional;
2021

22+
import org.springframework.ai.chat.messages.AssistantMessage;
2123
import reactor.core.publisher.Flux;
2224

2325
import org.springframework.ai.chat.messages.Message;
@@ -29,16 +31,20 @@ public interface StreamingChatModel extends StreamingModel<Prompt, ChatResponse>
2931

3032
default Flux<String> stream(String message) {
3133
Prompt prompt = new Prompt(message);
32-
return stream(prompt).map(response -> (response.getResult() == null || response.getResult().getOutput() == null
33-
|| response.getResult().getOutput().getText() == null) ? ""
34-
: response.getResult().getOutput().getText());
34+
return stream(prompt).map(response -> Optional
35+
.ofNullable(response.getResult())
36+
.map(Generation::getOutput)
37+
.map(AssistantMessage::getText)
38+
.orElse(""));
3539
}
3640

3741
default Flux<String> stream(Message... messages) {
3842
Prompt prompt = new Prompt(Arrays.asList(messages));
39-
return stream(prompt).map(response -> (response.getResult() == null || response.getResult().getOutput() == null
40-
|| response.getResult().getOutput().getText() == null) ? ""
41-
: response.getResult().getOutput().getText());
43+
return stream(prompt).map(response -> Optional
44+
.ofNullable(response.getResult())
45+
.map(Generation::getOutput)
46+
.map(AssistantMessage::getText)
47+
.orElse(""));
4248
}
4349

4450
@Override

0 commit comments

Comments
 (0)