Skip to content

Commit 837fd66

Browse files
committed
Small fixes
1 parent 4899f36 commit 837fd66

File tree

5 files changed

+28
-16
lines changed

5 files changed

+28
-16
lines changed

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

Lines changed: 21 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -18,17 +18,19 @@ public record ImageItem(@Nonnull String imageUrl, @Nonnull DetailLevel detailLev
1818
* @param imageUrl the URL of the image
1919
*/
2020
public ImageItem(@Nonnull final String imageUrl) {
21-
this(imageUrl, DetailLevel.auto);
21+
this(imageUrl, DetailLevel.AUTO);
2222
}
2323

2424
/** The detail level of the image. */
2525
public enum DetailLevel {
2626
/** Low detail level. */
27-
low,
27+
LOW("low"),
2828
/** High detail level. */
29-
high,
29+
HIGH("high"),
3030
/** Automatic detail level. */
31-
auto;
31+
AUTO("auto");
32+
33+
private final String level;
3234

3335
/**
3436
* Converts a string to a detail level.
@@ -38,7 +40,21 @@ public enum DetailLevel {
3840
*/
3941
@Nonnull
4042
static DetailLevel fromString(@Nonnull final String str) {
41-
return DetailLevel.valueOf(str.toLowerCase(Locale.ENGLISH));
43+
return DetailLevel.valueOf(str.toUpperCase(Locale.ENGLISH));
44+
}
45+
46+
/**
47+
* Get the string representation of the DetailLevel
48+
*
49+
* @return the DetailLevel as string
50+
*/
51+
@Nonnull
52+
public String toString() {
53+
return level;
54+
}
55+
56+
DetailLevel(@Nonnull final String level) {
57+
this.level = level;
4258
}
4359
}
4460
}

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

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -10,8 +10,6 @@
1010
import javax.annotation.Nonnull;
1111
import javax.annotation.Nullable;
1212

13-
import static java.util.stream.Collectors.toList;
14-
1513
/**
1614
* Represents the content of a chat message.
1715
*
@@ -58,12 +56,11 @@ public static MessageContent image(@Nonnull final String imageUrl) {
5856
@Nonnull
5957
public static MessageContent text(
6058
@Nonnull final String message, @Nullable final String... additionalMessages) {
61-
var messagesStream =
59+
final var messagesStream =
6260
(additionalMessages != null)
6361
? Stream.concat(Stream.of(message), Stream.of(additionalMessages))
6462
: Stream.of(message);
65-
var contentList =
66-
messagesStream.map(text -> (ContentItem) new TextItem(text)).toList();
63+
final var contentList = messagesStream.map(text -> (ContentItem) new TextItem(text)).toList();
6764
return new MessageContent(contentList);
6865
}
6966

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

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

33
import com.google.common.annotations.Beta;
4-
54
import java.util.LinkedList;
65
import java.util.List;
76
import java.util.stream.Stream;
@@ -46,11 +45,11 @@ public UserMessage(@Nonnull final String message, @Nullable final String... addi
4645
@Nonnull
4746
public UserMessage andText(
4847
@Nonnull final String message, @Nullable final String... additionalMessages) {
49-
var messagesStream =
48+
final var messagesStream =
5049
(additionalMessages != null)
5150
? Stream.concat(Stream.of(message), Stream.of(additionalMessages))
5251
: Stream.of(message);
53-
var contentList =
52+
final var contentList =
5453
Stream.concat(content.contentItemList().stream(), messagesStream.map(TextItem::new))
5554
.toList();
5655
return new UserMessage(new MessageContent(contentList));

orchestration/src/test/java/com/sap/ai/sdk/orchestration/OrchestrationConvenienceUnitTest.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -32,9 +32,9 @@ void testMessageConstructionImage() {
3232
assertThat(userMessageWithImageAndImage).isEqualTo(userMessageWithImageAnd);
3333

3434
var userMessageWithImageDetailAndImage =
35-
Message.user("Text 1").andImage("url", ImageItem.DetailLevel.low);
35+
Message.user("Text 1").andImage("url", ImageItem.DetailLevel.LOW);
3636
var userMessageWithImageDetailAnd =
37-
Message.user("Text 1").and(MessageContent.image("url", ImageItem.DetailLevel.low));
37+
Message.user("Text 1").and(MessageContent.image("url", ImageItem.DetailLevel.LOW));
3838
assertThat(userMessageWithImageDetailAndImage).isEqualTo(userMessageWithImageDetailAnd);
3939
}
4040
}

sample-code/spring-app/src/main/java/com/sap/ai/sdk/app/services/OrchestrationService.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,7 @@ public OrchestrationChatResponse imageInput(@Nonnull final String pathToImage) {
6767
new OrchestrationModuleConfig().withLlmConfig(GPT_4O_MINI);
6868

6969
final var multiMessage =
70-
Message.user("What is in this image?").andImage(pathToImage, ImageItem.DetailLevel.low);
70+
Message.user("What is in this image?").andImage(pathToImage, ImageItem.DetailLevel.LOW);
7171
final var prompt = new OrchestrationPrompt(multiMessage);
7272
return client.chatCompletion(prompt, llmWithImageSupportConfig);
7373
}

0 commit comments

Comments
 (0)