1717package org .springframework .ai .chat .model ;
1818
1919import java .util .Arrays ;
20+ import java .util .Optional ;
2021
22+ import org .springframework .ai .chat .messages .AssistantMessage ;
2123import reactor .core .publisher .Flux ;
2224
2325import 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