Skip to content

Commit d8fd060

Browse files
committed
Improve tests
1 parent 29ceee1 commit d8fd060

File tree

4 files changed

+43
-61
lines changed

4 files changed

+43
-61
lines changed
Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
package com.sap.ai.sdk.orchestration;
2+
3+
import static org.assertj.core.api.Assertions.assertThat;
4+
5+
import org.junit.jupiter.api.Test;
6+
7+
public class OrchestrationConvenienceUnitTest {
8+
9+
@Test
10+
void testMessageConstructionText() {
11+
var userMessageTwoTexts = Message.user("Text 1", "Text 2");
12+
var userMessageTwoTextsAndText = Message.user("Text 1").andText("Text 2");
13+
var userMessageTwoTextsAnd = Message.user("Text 1").and(MessageContent.text("Text 2"));
14+
var userMessageTwoTextsContent = Message.user(MessageContent.text("Text 1", "Text 2"));
15+
assertThat(userMessageTwoTexts).isEqualTo(userMessageTwoTextsAndText);
16+
assertThat(userMessageTwoTextsAndText).isEqualTo(userMessageTwoTextsAnd);
17+
assertThat(userMessageTwoTextsAnd).isEqualTo(userMessageTwoTextsContent);
18+
19+
var systemMessageTwoTexts = Message.system("Text 1", "Text 2");
20+
var systemMessageTwoTextsAndText = Message.system("Text 1").andText("Text 2");
21+
var systemMessageTwoTextsAnd = Message.system("Text 1").and(MessageContent.text("Text 2"));
22+
var systemMessageTwoTextsContent = Message.system(MessageContent.text("Text 1", "Text 2"));
23+
assertThat(systemMessageTwoTexts).isEqualTo(systemMessageTwoTextsAndText);
24+
assertThat(systemMessageTwoTextsAndText).isEqualTo(systemMessageTwoTextsAnd);
25+
assertThat(systemMessageTwoTextsAnd).isEqualTo(systemMessageTwoTextsContent);
26+
}
27+
28+
@Test
29+
void testMessageConstructionImage() {
30+
var userMessageWithImageAndImage = Message.user("Text 1").andImage("url");
31+
var userMessageWithImageAnd = Message.user("Text 1").and(MessageContent.image("url"));
32+
assertThat(userMessageWithImageAndImage).isEqualTo(userMessageWithImageAnd);
33+
34+
var userMessageWithImageDetailAndImage =
35+
Message.user("Text 1").andImage("url", ImageItem.DetailLevel.low);
36+
var userMessageWithImageDetailAnd =
37+
Message.user("Text 1").and(MessageContent.image("url", ImageItem.DetailLevel.low));
38+
assertThat(userMessageWithImageDetailAndImage).isEqualTo(userMessageWithImageDetailAnd);
39+
}
40+
}

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

Lines changed: 1 addition & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -683,15 +683,7 @@ void testMultiMessage() throws IOException {
683683
post("/completion")
684684
.willReturn(aResponse().withStatus(SC_OK).withBodyFile("multiMessageResponse.json")));
685685

686-
OrchestrationAiModel customGpt4o =
687-
GPT_4O_MINI
688-
.withParam(MAX_TOKENS, 50)
689-
.withParam(TEMPERATURE, 0.1)
690-
.withParam(FREQUENCY_PENALTY, 0)
691-
.withParam(PRESENCE_PENALTY, 0)
692-
.withParam(TOP_P, 1)
693-
.withParam(N, 1);
694-
var llmWithImageSupportConfig = new OrchestrationModuleConfig().withLlmConfig(customGpt4o);
686+
var llmWithImageSupportConfig = new OrchestrationModuleConfig().withLlmConfig(GPT_4O_MINI);
695687

696688
var messageWithTwoTexts =
697689
Message.system("Please answer in exactly two sentences.")
@@ -787,33 +779,4 @@ void testMultiMessage() throws IOException {
787779
.withRequestBody(equalToJson(requestBody)));
788780
}
789781
}
790-
791-
@Test
792-
void testMessageConstruction() {
793-
var userMessageTwoTexts = Message.user("Text 1", "Text 2");
794-
var userMessageTwoTextsAddText = Message.user("Text 1").andText("Text 2");
795-
var userMessageTwoTextsAdd = Message.user("Text 1").and(MessageContent.text("Text 2"));
796-
var userMessageTwoTextsContent = Message.user(MessageContent.text("Text 1", "Text 2"));
797-
assertThat(userMessageTwoTexts).isEqualTo(userMessageTwoTextsAddText);
798-
assertThat(userMessageTwoTextsAddText).isEqualTo(userMessageTwoTextsAdd);
799-
assertThat(userMessageTwoTextsAdd).isEqualTo(userMessageTwoTextsContent);
800-
801-
var userMessageWithImageAddImage = Message.user("Text 1").andImage("url");
802-
var userMessageWithImageAdd = Message.user("Text 1").and(MessageContent.image("url"));
803-
assertThat(userMessageWithImageAddImage).isEqualTo(userMessageWithImageAdd);
804-
805-
var userMessageWithImageDetailAddImage =
806-
Message.user("Text 1").andImage("url", ImageItem.DetailLevel.low);
807-
var userMessageWithImageDetailAdd =
808-
Message.user("Text 1").and(MessageContent.image("url", ImageItem.DetailLevel.low));
809-
assertThat(userMessageWithImageDetailAddImage).isEqualTo(userMessageWithImageDetailAdd);
810-
811-
var systemMessageTwoTexts = Message.system("Text 1", "Text 2");
812-
var systemMessageTwoTextsAddText = Message.system("Text 1").andText("Text 2");
813-
var systemMessageTwoTextsAdd = Message.system("Text 1").and(MessageContent.text("Text 2"));
814-
var systemMessageTwoTextsContent = Message.system(MessageContent.text("Text 1", "Text 2"));
815-
assertThat(systemMessageTwoTexts).isEqualTo(systemMessageTwoTextsAddText);
816-
assertThat(systemMessageTwoTextsAddText).isEqualTo(systemMessageTwoTextsAdd);
817-
assertThat(systemMessageTwoTextsAdd).isEqualTo(systemMessageTwoTextsContent);
818-
}
819782
}

orchestration/src/test/resources/multiMessageRequest.json

Lines changed: 1 addition & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -3,14 +3,7 @@
33
"module_configurations" : {
44
"llm_module_config" : {
55
"model_name" : "gpt-4o-mini",
6-
"model_params" : {
7-
"max_tokens" : 50,
8-
"temperature" : 0.1,
9-
"frequency_penalty" : 0,
10-
"presence_penalty" : 0,
11-
"top_p" : 1,
12-
"n" : 1
13-
},
6+
"model_params" : { },
147
"model_version" : "latest"
158
},
169
"templating_module_config" : {

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

Lines changed: 1 addition & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -2,12 +2,7 @@
22

33
import static com.sap.ai.sdk.orchestration.OrchestrationAiModel.GEMINI_1_5_FLASH;
44
import static com.sap.ai.sdk.orchestration.OrchestrationAiModel.GPT_4O_MINI;
5-
import static com.sap.ai.sdk.orchestration.OrchestrationAiModel.Parameter.FREQUENCY_PENALTY;
6-
import static com.sap.ai.sdk.orchestration.OrchestrationAiModel.Parameter.MAX_TOKENS;
7-
import static com.sap.ai.sdk.orchestration.OrchestrationAiModel.Parameter.N;
8-
import static com.sap.ai.sdk.orchestration.OrchestrationAiModel.Parameter.PRESENCE_PENALTY;
95
import static com.sap.ai.sdk.orchestration.OrchestrationAiModel.Parameter.TEMPERATURE;
10-
import static com.sap.ai.sdk.orchestration.OrchestrationAiModel.Parameter.TOP_P;
116

127
import com.sap.ai.sdk.core.AiCoreService;
138
import com.sap.ai.sdk.orchestration.AzureContentFilter;
@@ -18,7 +13,6 @@
1813
import com.sap.ai.sdk.orchestration.LlamaGuardFilter;
1914
import com.sap.ai.sdk.orchestration.Message;
2015
import com.sap.ai.sdk.orchestration.MessageContent;
21-
import com.sap.ai.sdk.orchestration.OrchestrationAiModel;
2216
import com.sap.ai.sdk.orchestration.OrchestrationChatResponse;
2317
import com.sap.ai.sdk.orchestration.OrchestrationClient;
2418
import com.sap.ai.sdk.orchestration.OrchestrationClientException;
@@ -69,16 +63,8 @@ public OrchestrationChatResponse completion(@Nonnull final String famousPhrase)
6963
*/
7064
@Nonnull
7165
public OrchestrationChatResponse imageInput(@Nonnull final String pathToImage) {
72-
final OrchestrationAiModel customGpt4o =
73-
GPT_4O_MINI
74-
.withParam(MAX_TOKENS, 50)
75-
.withParam(TEMPERATURE, 0.1)
76-
.withParam(FREQUENCY_PENALTY, 0)
77-
.withParam(PRESENCE_PENALTY, 0)
78-
.withParam(TOP_P, 1)
79-
.withParam(N, 1);
8066
final var llmWithImageSupportConfig =
81-
new OrchestrationModuleConfig().withLlmConfig(customGpt4o);
67+
new OrchestrationModuleConfig().withLlmConfig(GPT_4O_MINI);
8268

8369
final var multiMessage =
8470
Message.user("What is in this image?").andImage(pathToImage, ImageItem.DetailLevel.low);

0 commit comments

Comments
 (0)