Skip to content

Commit 7a666f5

Browse files
committed
Better separate convenience for chat message in OrchestrationPrompt
1 parent 48cfa76 commit 7a666f5

File tree

3 files changed

+13
-11
lines changed

3 files changed

+13
-11
lines changed

orchestration/src/main/java/com/sap/ai/sdk/orchestration/ConfigToRequestTransformer.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ static CompletionPostRequest toCompletionPostRequest(
3131
.orchestrationConfig(
3232
OrchestrationConfig.create().moduleConfigurations(toModuleConfigs(configCopy)))
3333
.inputParams(prompt.getTemplateParameters())
34-
.messagesHistory(prompt.getMessagesHistory());
34+
.messagesHistory(prompt.getMessagesHistory().stream().map(Message::toChatMessage).toList());
3535
}
3636

3737
@Nonnull
@@ -46,7 +46,7 @@ static TemplatingModuleConfig toTemplateModuleConfig(
4646
*/
4747
val messages = template instanceof Template t ? t.getTemplate() : List.<ChatMessage>of();
4848
val messagesWithPrompt = new ArrayList<>(messages);
49-
messagesWithPrompt.addAll(prompt.getMessages());
49+
messagesWithPrompt.addAll(prompt.getMessages().stream().map(Message::toChatMessage).toList());
5050
if (messagesWithPrompt.isEmpty()) {
5151
throw new IllegalStateException(
5252
"A prompt is required. Pass at least one message or configure a template with messages or a template reference.");

orchestration/src/main/java/com/sap/ai/sdk/orchestration/OrchestrationClient.java

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -169,7 +169,10 @@ public OrchestrationChatResponse executeRequestFromJsonModuleConfig(
169169
}
170170

171171
final ObjectNode requestJson = JACKSON.createObjectNode();
172-
requestJson.set("messages_history", JACKSON.valueToTree(prompt.getMessagesHistory()));
172+
requestJson.set(
173+
"messages_history",
174+
JACKSON.valueToTree(
175+
prompt.getMessagesHistory().stream().map(Message::toChatMessage).toList()));
173176
requestJson.set("input_params", JACKSON.valueToTree(prompt.getTemplateParameters()));
174177

175178
final JsonNode moduleConfigJson;

orchestration/src/main/java/com/sap/ai/sdk/orchestration/OrchestrationPrompt.java

Lines changed: 7 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
package com.sap.ai.sdk.orchestration;
22

3-
import com.sap.ai.sdk.orchestration.client.model.ChatMessage;
43
import com.sap.ai.sdk.orchestration.client.model.OrchestrationConfig;
54
import java.util.ArrayList;
65
import java.util.Arrays;
@@ -22,17 +21,17 @@
2221
@Value
2322
@Getter(AccessLevel.PACKAGE)
2423
public class OrchestrationPrompt {
25-
@Nonnull List<ChatMessage> messages = new ArrayList<>();
24+
@Nonnull List<Message> messages = new ArrayList<>();
2625
@Nonnull Map<String, String> templateParameters = new TreeMap<>();
27-
@Nonnull List<ChatMessage> messagesHistory = new ArrayList<>();
26+
@Nonnull List<Message> messagesHistory = new ArrayList<>();
2827

2928
/**
3029
* Initialize a prompt with the given user message.
3130
*
3231
* @param message A user message.
3332
*/
3433
public OrchestrationPrompt(@Nonnull final String message) {
35-
messages.add(new UserMessage(message).toChatMessage());
34+
messages.add(new UserMessage(message));
3635
}
3736

3837
/**
@@ -42,8 +41,8 @@ public OrchestrationPrompt(@Nonnull final String message) {
4241
* @param messages Optionally, more messages.
4342
*/
4443
public OrchestrationPrompt(@Nonnull final Message message, @Nonnull final Message... messages) {
45-
this.messages.add(message.toChatMessage());
46-
this.messages.addAll(Arrays.stream(messages).map(Message::toChatMessage).toList());
44+
this.messages.add(message);
45+
this.messages.addAll(Arrays.asList(messages));
4746
}
4847

4948
/**
@@ -54,7 +53,7 @@ public OrchestrationPrompt(@Nonnull final Message message, @Nonnull final Messag
5453
public OrchestrationPrompt(
5554
@Nonnull final Map<String, String> inputParams, @Nonnull final Message... messages) {
5655
this.templateParameters.putAll(inputParams);
57-
this.messages.addAll(Arrays.stream(messages).map(Message::toChatMessage).toList());
56+
this.messages.addAll(Arrays.asList(messages));
5857
}
5958

6059
/**
@@ -65,7 +64,7 @@ public OrchestrationPrompt(
6564
@Nonnull
6665
public OrchestrationPrompt messageHistory(@Nonnull final List<Message> messagesHistory) {
6766
this.messagesHistory.clear();
68-
this.messagesHistory.addAll(messagesHistory.stream().map(Message::toChatMessage).toList());
67+
this.messagesHistory.addAll(messagesHistory);
6968
return this;
7069
}
7170
}

0 commit comments

Comments
 (0)