Skip to content

Commit 1335c6f

Browse files
committed
Minor improvements
1 parent ea5f239 commit 1335c6f

File tree

12 files changed

+40
-48
lines changed

12 files changed

+40
-48
lines changed

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@ public enum Sensitivity {
4646
}
4747

4848
@Nonnull
49-
com.sap.ai.sdk.orchestration.client.model.FilterConfig toFilterConfigDTO() {
49+
com.sap.ai.sdk.orchestration.client.model.FilterConfig toFilterConfigDto() {
5050
val dto = AzureContentSafety.create();
5151
if (hate == null && selfHarm == null && sexual == null && violence == null) {
5252
throw new IllegalStateException(

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

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,6 @@
1111
import java.util.Arrays;
1212
import java.util.List;
1313
import javax.annotation.Nonnull;
14-
import javax.annotation.Nullable;
1514
import lombok.AccessLevel;
1615
import lombok.Getter;
1716
import lombok.RequiredArgsConstructor;
@@ -50,7 +49,7 @@ public static Builder pseudonymization() {
5049
}
5150

5251
@Nonnull
53-
MaskingProviderConfig toMaskingProviderDTO() {
52+
MaskingProviderConfig toMaskingProviderDto() {
5453
val entitiesDTO = entities.stream().map(it -> DPIEntityConfig.create().type(it)).toList();
5554
return MaskingProviderConfig.create()
5655
.type(SAP_DATA_PRIVACY_INTEGRATION)
@@ -76,12 +75,10 @@ public static class Builder {
7675
*/
7776
@Nonnull
7877
public DpiMaskingConfig withEntities(
79-
@Nonnull final DPIEntities entity, @Nullable final DPIEntities... entities) {
78+
@Nonnull final DPIEntities entity, @Nonnull final DPIEntities... entities) {
8079
val entitiesList = new ArrayList<DPIEntities>();
8180
entitiesList.add(entity);
82-
if (entities != null) {
83-
entitiesList.addAll(Arrays.asList(entities));
84-
}
81+
entitiesList.addAll(Arrays.asList(entities));
8582
return new DpiMaskingConfig(maskingMethod, entitiesList);
8683
}
8784
}

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,7 @@ public LlmConfig(@Nonnull final String name, @Nonnull final Map<String, ?> param
5454
}
5555

5656
@Nonnull
57-
LLMModuleConfig toLLMModuleConfigDTO() {
57+
LLMModuleConfig toLLMModuleConfigDto() {
5858
final Map<String, Object> params = new TreeMap<>();
5959
if (parameters != null) {
6060
params.putAll(parameters);

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

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -24,16 +24,16 @@
2424
@NoArgsConstructor(access = AccessLevel.NONE)
2525
final class ModuleConfigFactory {
2626
@Nonnull
27-
static ModuleConfigs toModuleConfigDTO(
27+
static ModuleConfigs toModuleConfigDto(
2828
@Nonnull final OrchestrationConfig<?> config, @Nonnull final List<Message> messages) {
2929
val llmDto =
3030
config
3131
.getLlmConfig()
32-
.map(ModuleConfigFactory::toLlmModuleConfigDTO)
32+
.map(ModuleConfigFactory::toLlmModuleConfigDto)
3333
.getOrElseThrow(() -> new IllegalStateException("LLM module config is required"));
3434

3535
val template = config.getTemplate().getOrElse(() -> TemplateConfig.fromMessages(List.of()));
36-
val templateDto = toTemplateModuleConfigDTO(template, messages);
36+
val templateDto = toTemplateModuleConfigDto(template, messages);
3737

3838
var resultDto =
3939
ModuleConfigs.create().llmModuleConfig(llmDto).templatingModuleConfig(templateDto);
@@ -42,7 +42,7 @@ static ModuleConfigs toModuleConfigDTO(
4242
.getMaskingConfig()
4343
.filter(DpiMaskingConfig.class::isInstance)
4444
.map(DpiMaskingConfig.class::cast)
45-
.map(DpiMaskingConfig::toMaskingProviderDTO)
45+
.map(DpiMaskingConfig::toMaskingProviderDto)
4646
.map(it -> MaskingModuleConfig.create().maskingProviders(it))
4747
.forEach(resultDto::maskingModuleConfig);
4848

@@ -54,13 +54,13 @@ static ModuleConfigs toModuleConfigDTO(
5454
maybeInputFilter
5555
.filter(AzureContentFilter.class::isInstance)
5656
.map(AzureContentFilter.class::cast)
57-
.map(AzureContentFilter::toFilterConfigDTO)
57+
.map(AzureContentFilter::toFilterConfigDto)
5858
.map(it -> InputFilteringConfig.create().filters(it))
5959
.forEach(filter::input);
6060
maybeOutputFilter
6161
.filter(AzureContentFilter.class::isInstance)
6262
.map(AzureContentFilter.class::cast)
63-
.map(AzureContentFilter::toFilterConfigDTO)
63+
.map(AzureContentFilter::toFilterConfigDto)
6464
.map(it -> OutputFilteringConfig.create().filters(it))
6565
.forEach(filter::output);
6666
resultDto = resultDto.filteringModuleConfig(filter);
@@ -70,9 +70,9 @@ static ModuleConfigs toModuleConfigDTO(
7070
}
7171

7272
@Nonnull
73-
static LLMModuleConfig toLlmModuleConfigDTO(@Nonnull final AiModel model) {
73+
static LLMModuleConfig toLlmModuleConfigDto(@Nonnull final AiModel model) {
7474
if (model instanceof LlmConfig llmConfig) {
75-
return llmConfig.toLLMModuleConfigDTO();
75+
return llmConfig.toLLMModuleConfigDto();
7676
}
7777
val dto = LLMModuleConfig.create().modelName(model.name()).modelParams(Map.of());
7878
if (model.version() != null) {
@@ -82,7 +82,7 @@ static LLMModuleConfig toLlmModuleConfigDTO(@Nonnull final AiModel model) {
8282
}
8383

8484
@Nonnull
85-
static TemplatingModuleConfig toTemplateModuleConfigDTO(
85+
static TemplatingModuleConfig toTemplateModuleConfigDto(
8686
@Nonnull final TemplateConfig templateConfig, @Nonnull final List<Message> messages) {
8787
if (templateConfig instanceof Template.Messages templateMessages) {
8888
/*

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

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -103,10 +103,10 @@ public OrchestrationResponse chatCompletion(@Nonnull final OrchestrationPrompt p
103103
""",
104104
prompt,
105105
clientConfig);
106-
val dto = prompt.toCompletionPostRequestDTO(clientConfig);
106+
val dto = prompt.toCompletionPostRequestDto(clientConfig);
107107
log.debug("Assembled data transfer object for request: {}", dto);
108108
val result = executeRequest(dto);
109-
return OrchestrationResponse.fromCompletionPostResponseDTO(result);
109+
return OrchestrationResponse.fromCompletionPostResponseDto(result);
110110
}
111111

112112
/**

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

Lines changed: 4 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,6 @@
66
import java.util.List;
77
import java.util.Map;
88
import javax.annotation.Nonnull;
9-
import javax.annotation.Nullable;
109
import lombok.AccessLevel;
1110
import lombok.AllArgsConstructor;
1211
import lombok.Getter;
@@ -51,12 +50,10 @@ public OrchestrationPrompt(@Nonnull final String message) {
5150
* @param message The first message.
5251
* @param messages Optionally, more messages.
5352
*/
54-
public OrchestrationPrompt(@Nonnull final Message message, @Nullable final Message... messages) {
53+
public OrchestrationPrompt(@Nonnull final Message message, @Nonnull final Message... messages) {
5554
val allMessages = new ArrayList<Message>();
5655
allMessages.add(message);
57-
if (messages != null) {
58-
allMessages.addAll(Arrays.asList(messages));
59-
}
56+
allMessages.addAll(Arrays.asList(messages));
6057
this.messages = allMessages;
6158
this.templateParameters = Map.of();
6259
}
@@ -88,11 +85,11 @@ public OrchestrationPrompt(@Nonnull final Map<String, String> inputParams) {
8885
}
8986

9087
@Nonnull
91-
CompletionPostRequest toCompletionPostRequestDTO(@Nonnull final OrchestrationConfig<?> defaults) {
88+
CompletionPostRequest toCompletionPostRequestDto(@Nonnull final OrchestrationConfig<?> defaults) {
9289
// duplicate the prompt config, then apply the defaults to the copy
9390
// that way this prompt remains unchanged and can be reused
9491
val config = DefaultOrchestrationConfig.standalone().copyFrom(this).copyFrom(defaults);
95-
val moduleConfigDTO = ModuleConfigFactory.toModuleConfigDTO(config, messages);
92+
val moduleConfigDTO = ModuleConfigFactory.toModuleConfigDto(config, messages);
9693
return CompletionPostRequest.create()
9794
.orchestrationConfig(
9895
com.sap.ai.sdk.orchestration.client.model.OrchestrationConfig.create()

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,7 @@ static FinishReason fromValue(@Nonnull final String value) {
5353
}
5454

5555
@Nonnull
56-
static OrchestrationResponse fromCompletionPostResponseDTO(
56+
static OrchestrationResponse fromCompletionPostResponseDto(
5757
@Nonnull final CompletionPostResponse response) {
5858
val choice = response.getOrchestrationResult().getChoices().get(0);
5959
val message = new AssistantMessage(choice.getMessage().getContent());

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

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,6 @@
77
import java.util.Arrays;
88
import java.util.List;
99
import javax.annotation.Nonnull;
10-
import javax.annotation.Nullable;
1110
import lombok.val;
1211

1312
/** A template configuration for orchestration requests. */
@@ -29,12 +28,10 @@ public sealed interface TemplateConfig permits Messages, IdReference, NameRefere
2928
*/
3029
@Nonnull
3130
static TemplateConfig fromMessages(
32-
@Nonnull final Message message, @Nullable final Message... messages) {
31+
@Nonnull final Message message, @Nonnull final Message... messages) {
3332
val allMessages = new ArrayList<Message>();
3433
allMessages.add(message);
35-
if (messages != null) {
36-
allMessages.addAll(Arrays.asList(messages));
37-
}
34+
allMessages.addAll(Arrays.asList(messages));
3835

3936
return new Messages(allMessages);
4037
}

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

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
import static com.sap.ai.sdk.orchestration.AzureContentFilter.Sensitivity.HIGH;
44
import static com.sap.ai.sdk.orchestration.AzureContentFilter.Sensitivity.LOW;
5-
import static com.sap.ai.sdk.orchestration.ModuleConfigFactory.toModuleConfigDTO;
5+
import static com.sap.ai.sdk.orchestration.ModuleConfigFactory.toModuleConfigDto;
66
import static com.sap.ai.sdk.orchestration.client.model.FilterConfig.TypeEnum.AZURE_CONTENT_SAFETY;
77
import static org.assertj.core.api.Assertions.assertThat;
88
import static org.assertj.core.api.Assertions.assertThatThrownBy;
@@ -33,12 +33,12 @@ void setUp() {
3333
void testThrowsOnMissingConfig() {
3434
config = DefaultOrchestrationConfig.standalone();
3535

36-
assertThatThrownBy(() -> toModuleConfigDTO(config, messages))
36+
assertThatThrownBy(() -> toModuleConfigDto(config, messages))
3737
.isInstanceOf(IllegalStateException.class)
3838
.hasMessageContaining("LLM module config is required");
3939

4040
config.withLlmConfig(mock(LlmConfig.class));
41-
assertThatThrownBy(() -> toModuleConfigDTO(config, List.of()))
41+
assertThatThrownBy(() -> toModuleConfigDto(config, List.of()))
4242
.isInstanceOf(IllegalStateException.class)
4343
.hasMessageContaining("prompt is required");
4444
}
@@ -49,7 +49,7 @@ void testLlmConfig() {
4949

5050
config.withLlmConfig(llmConfig);
5151

52-
var result = toModuleConfigDTO(config, messages).getLlmModuleConfig();
52+
var result = toModuleConfigDto(config, messages).getLlmModuleConfig();
5353
assertThat(result.getModelName()).isEqualTo("foo");
5454
assertThat(result.getModelVersion()).isEqualTo("bar");
5555
assertThat(result.getModelParams())
@@ -59,7 +59,7 @@ void testLlmConfig() {
5959

6060
@Test
6161
void testTemplateIsCreatedFromMessages() {
62-
var result = toModuleConfigDTO(config, messages).getTemplatingModuleConfig();
62+
var result = toModuleConfigDto(config, messages).getTemplatingModuleConfig();
6363
assertThat(result.getDefaults()).isNull();
6464

6565
var template = result.getTemplate();
@@ -78,7 +78,7 @@ void testMessagesAreMergedIntoTemplate() {
7878
config.withTemplate(TemplateConfig.fromMessages(messages.subList(0, 2)));
7979

8080
var result =
81-
toModuleConfigDTO(config, List.of(messages.get(2)))
81+
toModuleConfigDto(config, List.of(messages.get(2)))
8282
.getTemplatingModuleConfig()
8383
.getTemplate();
8484

@@ -96,12 +96,12 @@ void testTemplateReference() {
9696

9797
config.withTemplate(TemplateConfig.referenceById("foo"));
9898

99-
assertThatThrownBy(() -> toModuleConfigDTO(config, List.of()))
99+
assertThatThrownBy(() -> toModuleConfigDto(config, List.of()))
100100
.isInstanceOf(NotImplementedError.class);
101101

102102
config.withTemplate(TemplateConfig.referenceByName("foo", "bar", "baz"));
103103

104-
assertThatThrownBy(() -> toModuleConfigDTO(config, List.of()))
104+
assertThatThrownBy(() -> toModuleConfigDto(config, List.of()))
105105
.isInstanceOf(NotImplementedError.class);
106106
}
107107

@@ -110,7 +110,7 @@ void testInputFilter() {
110110
var filter = new AzureContentFilter().hate(HIGH);
111111
config.withInputContentFilter(filter);
112112

113-
var result = toModuleConfigDTO(config, messages).getFilteringModuleConfig();
113+
var result = toModuleConfigDto(config, messages).getFilteringModuleConfig();
114114

115115
assertThat(result.getInput().getFilters()).isNotEmpty();
116116

@@ -127,7 +127,7 @@ void testOutputFilter() {
127127
var filter = new AzureContentFilter().hate(HIGH);
128128
config.withOutputContentFilter(filter);
129129

130-
var result = toModuleConfigDTO(config, messages).getFilteringModuleConfig();
130+
var result = toModuleConfigDto(config, messages).getFilteringModuleConfig();
131131

132132
assertThat(result.getOutput().getFilters()).isNotEmpty();
133133
var filterDto = result.getOutput().getFilters().get(0);
@@ -144,7 +144,7 @@ void testInputAndOutputFilter() {
144144
config.withInputContentFilter(inputFilter);
145145
config.withOutputContentFilter(outputFilter);
146146

147-
var result = toModuleConfigDTO(config, messages).getFilteringModuleConfig();
147+
var result = toModuleConfigDto(config, messages).getFilteringModuleConfig();
148148

149149
assertThat(result.getInput().getFilters()).isNotEmpty();
150150
assertThat(result.getOutput().getFilters()).isNotEmpty();
@@ -153,7 +153,7 @@ void testInputAndOutputFilter() {
153153
@Test
154154
void testEmptyFilter() {
155155
var inputFilter = new AzureContentFilter();
156-
assertThatThrownBy(inputFilter::toFilterConfigDTO)
156+
assertThatThrownBy(inputFilter::toFilterConfigDto)
157157
.isInstanceOf(IllegalStateException.class)
158158
.hasMessageContaining(
159159
"When configuring an azure content filter, at least one filter category must be set");
@@ -164,7 +164,7 @@ void testMasking() {
164164
var maskingConfig = DpiMaskingConfig.anonymization().withEntities(DPIEntities.ADDRESS);
165165
config.withMaskingConfig(maskingConfig);
166166

167-
var result = toModuleConfigDTO(config, messages).getMaskingModuleConfig();
167+
var result = toModuleConfigDto(config, messages).getMaskingModuleConfig();
168168

169169
assertThat(result.getMaskingProviders())
170170
.isNotEmpty()

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

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,7 @@ void setup() {
3636
void testSimpleChatCompletion() {
3737
stubResponse("stop");
3838

39+
new OrchestrationPrompt(new UserMessage("Hello there!"));
3940
var result = client.chatCompletion("Hello there!");
4041
assertThat(result).isEqualTo("General Kenobi!");
4142

0 commit comments

Comments
 (0)