Skip to content

Commit 5f6a163

Browse files
Alex's review
1 parent 5ffb8ec commit 5f6a163

File tree

4 files changed

+24
-26
lines changed

4 files changed

+24
-26
lines changed

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

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -15,9 +15,9 @@
1515
import lombok.NoArgsConstructor;
1616
import lombok.val;
1717

18-
/** Internal factory to create all data objects from an orchestration configuration. */
18+
/** Factory to create all data objects from an orchestration configuration. */
1919
@NoArgsConstructor(access = AccessLevel.NONE)
20-
public final class ConfigToRequestTransformer {
20+
final class ConfigToRequestTransformer {
2121
@Nonnull
2222
static CompletionPostRequest toCompletionPostRequest(
2323
@Nonnull final OrchestrationPrompt prompt, @Nonnull final OrchestrationModuleConfig config) {
@@ -59,9 +59,8 @@ static TemplatingModuleConfig toTemplateModuleConfig(
5959
return Template.create().template(messagesWithPrompt);
6060
}
6161

62-
/** Internal method to convert the convenience configuration to the data objec configuration. */
6362
@Nonnull
64-
public static ModuleConfigs toModuleConfigs(@Nonnull final OrchestrationModuleConfig config) {
63+
static ModuleConfigs toModuleConfigs(@Nonnull final OrchestrationModuleConfig config) {
6564
val llmConfig =
6665
Option.of(config.getLlmConfig())
6766
.getOrElseThrow(() -> new IllegalStateException("LLM config is required."));

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

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,12 @@
1313
import lombok.NoArgsConstructor;
1414
import lombok.val;
1515

16-
/** Internal utility class for getting a default object mapper with preset configuration. */
16+
/**
17+
* Internal utility class for getting a default object mapper with preset configuration.
18+
*
19+
* @since 1.2.0
20+
*/
21+
@Beta
1722
@NoArgsConstructor(access = AccessLevel.NONE)
1823
public class OrchestrationJacksonConfiguration {
1924

orchestration/src/main/java/com/sap/ai/sdk/orchestration/spring/OrchestrationChatOptions.java

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

3-
import static com.sap.ai.sdk.orchestration.ConfigToRequestTransformer.toModuleConfigs;
43
import static com.sap.ai.sdk.orchestration.OrchestrationAiModel.Parameter.FREQUENCY_PENALTY;
54
import static com.sap.ai.sdk.orchestration.OrchestrationAiModel.Parameter.MAX_TOKENS;
65
import static com.sap.ai.sdk.orchestration.OrchestrationAiModel.Parameter.PRESENCE_PENALTY;
76
import static com.sap.ai.sdk.orchestration.OrchestrationAiModel.Parameter.TEMPERATURE;
87
import static com.sap.ai.sdk.orchestration.OrchestrationAiModel.Parameter.TOP_P;
98
import static com.sap.ai.sdk.orchestration.OrchestrationJacksonConfiguration.getOrchestrationObjectMapper;
109

11-
import com.fasterxml.jackson.core.JsonProcessingException;
1210
import com.fasterxml.jackson.databind.ObjectMapper;
1311
import com.google.common.annotations.Beta;
14-
import com.sap.ai.sdk.orchestration.OrchestrationClientException;
1512
import com.sap.ai.sdk.orchestration.OrchestrationModuleConfig;
1613
import com.sap.ai.sdk.orchestration.model.LLMModuleConfig;
17-
import com.sap.ai.sdk.orchestration.model.ModuleConfigs;
1814
import java.util.List;
1915
import java.util.Map;
2016
import java.util.Objects;
@@ -153,22 +149,14 @@ public Double getTopP() {
153149
@Nonnull
154150
@Override
155151
public <T extends ChatOptions> T copy() {
156-
try {
157-
val json = JACKSON.writeValueAsString(toModuleConfigs(config));
158-
val copy = JACKSON.readValue(json, ModuleConfigs.class);
159-
val copyConfig =
160-
new OrchestrationModuleConfig()
161-
.withTemplateConfig(copy.getTemplatingModuleConfig())
162-
.withFilteringConfig(copy.getFilteringModuleConfig())
163-
.withLlmConfig(copy.getLlmModuleConfig())
164-
.withMaskingConfig(copy.getMaskingModuleConfig())
165-
.withGroundingConfig(copy.getGroundingModuleConfig());
166-
return (T) new OrchestrationChatOptions(copyConfig);
167-
168-
} catch (JsonProcessingException e) {
169-
throw new OrchestrationClientException(
170-
"Orchestration module configuration not readable: " + config, e);
171-
}
152+
val copyConfig =
153+
new OrchestrationModuleConfig()
154+
.withTemplateConfig(config.getTemplateConfig())
155+
.withFilteringConfig(config.getFilteringConfig())
156+
.withLlmConfig(config.getLlmConfig())
157+
.withMaskingConfig(config.getMaskingConfig())
158+
.withGroundingConfig(config.getGroundingConfig());
159+
return (T) new OrchestrationChatOptions(copyConfig);
172160
}
173161

174162
@SuppressWarnings("unchecked") // getModelParams() returns Object, it should return Map

orchestration/src/main/java/com/sap/ai/sdk/orchestration/spring/OrchestrationSpringChatResponse.java

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

3+
import com.google.common.annotations.Beta;
34
import com.sap.ai.sdk.orchestration.OrchestrationChatResponse;
45
import com.sap.ai.sdk.orchestration.model.LLMChoice;
56
import com.sap.ai.sdk.orchestration.model.LLMModuleResultSynchronous;
@@ -17,7 +18,12 @@
1718
import org.springframework.ai.chat.model.ChatResponse;
1819
import org.springframework.ai.chat.model.Generation;
1920

20-
/** Response from the orchestration service in a Spring AI {@link ChatResponse}. */
21+
/**
22+
* Response from the orchestration service in a Spring AI {@link ChatResponse}.
23+
*
24+
* @since 1.2.0
25+
*/
26+
@Beta
2127
@Value
2228
@EqualsAndHashCode(callSuper = true)
2329
public class OrchestrationSpringChatResponse extends ChatResponse {

0 commit comments

Comments
 (0)