|
1 | 1 | package com.sap.ai.sdk.orchestration; |
2 | 2 |
|
| 3 | +import static com.sap.ai.sdk.orchestration.model.UserChatMessage.RoleEnum.USER; |
| 4 | +import static com.sap.ai.sdk.orchestration.model.UserChatMessageContentItem.TypeEnum.IMAGE_URL; |
| 5 | +import static com.sap.ai.sdk.orchestration.model.UserChatMessageContentItem.TypeEnum.TEXT; |
| 6 | + |
3 | 7 | import com.google.common.annotations.Beta; |
4 | 8 | import com.sap.ai.sdk.orchestration.model.ChatMessage; |
5 | | -import com.sap.ai.sdk.orchestration.model.ChatMessageContent; |
6 | | -import com.sap.ai.sdk.orchestration.model.ImageContent; |
7 | 9 | import com.sap.ai.sdk.orchestration.model.ImageContentUrl; |
8 | | -import com.sap.ai.sdk.orchestration.model.MultiChatMessage; |
9 | | -import com.sap.ai.sdk.orchestration.model.SingleChatMessage; |
10 | | -import com.sap.ai.sdk.orchestration.model.TextContent; |
| 10 | +import com.sap.ai.sdk.orchestration.model.UserChatMessage; |
| 11 | +import com.sap.ai.sdk.orchestration.model.UserChatMessageContent; |
| 12 | +import com.sap.ai.sdk.orchestration.model.UserChatMessageContentItem; |
11 | 13 | import java.util.LinkedList; |
12 | 14 | import java.util.List; |
13 | 15 | import javax.annotation.Nonnull; |
@@ -67,21 +69,18 @@ static SystemMessage system(@Nonnull final String message) { |
67 | 69 | */ |
68 | 70 | @Nonnull |
69 | 71 | default ChatMessage createChatMessage() { |
70 | | - final var itemList = this.content().items(); |
71 | | - if (itemList.size() == 1 && itemList.get(0) instanceof TextItem textItem) { |
72 | | - return SingleChatMessage.create().role(role()).content(textItem.text()); |
73 | | - } |
74 | | - final var contentList = new LinkedList<ChatMessageContent>(); |
75 | | - for (final ContentItem item : itemList) { |
| 72 | + final var contentList = new LinkedList<UserChatMessageContentItem>(); |
| 73 | + |
| 74 | + for (final ContentItem item : this.content().items()) { |
76 | 75 | if (item instanceof TextItem textItem) { |
77 | | - contentList.add(TextContent.create().type(TextContent.TypeEnum.TEXT).text(textItem.text())); |
| 76 | + contentList.add(UserChatMessageContentItem.create().type(TEXT).text(textItem.text())); |
78 | 77 | } else if (item instanceof ImageItem imageItem) { |
79 | 78 | final var detail = imageItem.detailLevel().toString(); |
80 | 79 | final var img = ImageContentUrl.create().url(imageItem.imageUrl()).detail(detail); |
81 | | - contentList.add(ImageContent.create().type(ImageContent.TypeEnum.IMAGE_URL).imageUrl(img)); |
| 80 | + contentList.add(UserChatMessageContentItem.create().type(IMAGE_URL).imageUrl(img)); |
82 | 81 | } |
83 | 82 | } |
84 | | - return MultiChatMessage.create().role(role()).content(contentList); |
| 83 | + return UserChatMessage.create().content(UserChatMessageContent.create(contentList)).role(USER); |
85 | 84 | } |
86 | 85 |
|
87 | 86 | /** |
|
0 commit comments