1414import com .sap .ai .sdk .foundationmodels .openai .generated .model .ChatCompletionResponseMessage ;
1515import java .util .List ;
1616import java .util .Map ;
17- import java .util .Objects ;
1817import java .util .stream .Stream ;
1918import javax .annotation .Nonnull ;
19+
20+ import io .vavr .control .Option ;
2021import lombok .RequiredArgsConstructor ;
2122import lombok .val ;
2223import org .springframework .ai .chat .messages .AssistantMessage ;
@@ -65,7 +66,10 @@ private List<OpenAiMessage> toOpenAiRequest(final Prompt prompt) {
6566 .flatMap (
6667 message ->
6768 switch (message .getMessageType ()) {
68- case USER -> Stream .of (OpenAiMessage .user (message .getText ()));
69+ case USER ->
70+ Stream .of (
71+ OpenAiMessage .user (
72+ Option .of (message .getText ()).getOrElse (message .getText ())));
6973 case ASSISTANT -> {
7074 val assistantMessage = (AssistantMessage ) message ;
7175 yield Stream .of (
@@ -74,7 +78,8 @@ private List<OpenAiMessage> toOpenAiRequest(final Prompt prompt) {
7478 new OpenAiMessageContent (
7579 List .of (
7680 new OpenAiTextItem (
77- Objects .requireNonNull (message .getText ())))),
81+ Option .of (message .getText ())
82+ .getOrElse (message .getText ())))),
7883 assistantMessage .getToolCalls ().stream ()
7984 .map (
8085 toolCall ->
@@ -85,7 +90,7 @@ private List<OpenAiMessage> toOpenAiRequest(final Prompt prompt) {
8590 toolCall .arguments ()))
8691 .toList ())
8792 : new OpenAiAssistantMessage (
88- Objects . requireNonNull (message .getText ())));
93+ Option . of ( message . getText ()). getOrElse (message .getText ())));
8994 }
9095 case SYSTEM -> Stream .of (OpenAiMessage .system (message .getText ()));
9196 case TOOL -> {
0 commit comments