Skip to content

Commit c073c8d

Browse files
committed
Updating OpenAiChatOptions.java with our Config Object.
1 parent d99dc0e commit c073c8d

File tree

1 file changed

+21
-17
lines changed

1 file changed

+21
-17
lines changed

foundation-models/openai/src/main/java/com/sap/ai/sdk/foundationmodels/openai/spring/OpenAiChatOptions.java

Lines changed: 21 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,18 @@
11
package com.sap.ai.sdk.foundationmodels.openai.spring;
22

3+
import com.sap.ai.sdk.foundationmodels.openai.OpenAiChatCompletionConfig;
34
import com.sap.ai.sdk.foundationmodels.openai.generated.model.ChatCompletionTool;
45
import com.sap.ai.sdk.foundationmodels.openai.generated.model.ChatCompletionTool.TypeEnum;
56
import com.sap.ai.sdk.foundationmodels.openai.generated.model.FunctionObject;
7+
8+
import java.math.BigDecimal;
69
import java.util.List;
710
import java.util.Map;
811
import java.util.Set;
912
import javax.annotation.Nonnull;
1013
import javax.annotation.Nullable;
14+
15+
import io.vavr.control.Option;
1116
import lombok.AccessLevel;
1217
import lombok.Data;
1318
import lombok.Getter;
@@ -21,8 +26,7 @@
2126
@Data
2227
public class OpenAiChatOptions implements ToolCallingChatOptions {
2328

24-
// @Nonnull
25-
// private final OpenAiChatCompletionConfig config;
29+
@Nonnull private OpenAiChatCompletionConfig config;
2630

2731
@Nonnull private List<ToolCallback> toolCallbacks = List.of();
2832

@@ -71,51 +75,51 @@ public String getModel() {
7175
}
7276

7377
@Override
74-
@Nonnull
78+
@Nullable
7579
public Double getFrequencyPenalty() {
76-
return 0.0;
80+
return Option.of(config.getFrequencyPenalty()).map(BigDecimal::doubleValue).getOrNull();
7781
}
7882

7983
@Override
80-
@Nonnull
84+
@Nullable
8185
public Integer getMaxTokens() {
82-
return 0;
86+
return config.getMaxTokens();
8387
}
8488

8589
@Override
86-
@Nonnull
90+
@Nullable
8791
public Double getPresencePenalty() {
88-
return 0.0;
92+
return Option.of(config.getPresencePenalty()).map(BigDecimal::doubleValue).getOrNull();
8993
}
9094

9195
@Override
92-
@Nonnull
96+
@Nullable
9397
public List<String> getStopSequences() {
94-
return List.of();
98+
return config.getStop();
9599
}
96100

97101
@Override
98-
@Nonnull
102+
@Nullable
99103
public Double getTemperature() {
100-
return 0.0;
104+
return Option.of(config.getTemperature()).map(BigDecimal::doubleValue).getOrNull();
101105
}
102106

103107
@Override
104-
@Nonnull
108+
@Nullable // this is available here but not in OpenAiChatCompletionConfig so added it there ?
105109
public Integer getTopK() {
106-
return 0;
110+
return config.getTopK();
107111
}
108112

109113
@Override
110-
@Nonnull
114+
@Nullable
111115
public Double getTopP() {
112-
return 0.0;
116+
return Option.of(config.getTopP()).map(BigDecimal::doubleValue).getOrNull();
113117
}
114118

115119
@Override
116120
@Nonnull
117121
public <T extends ChatOptions> T copy() {
118-
final OpenAiChatOptions copy = new OpenAiChatOptions();
122+
final OpenAiChatOptions copy = new OpenAiChatOptions(new OpenAiChatCompletionConfig());
119123
copy.setToolCallbacks(this.toolCallbacks);
120124
copy.setInternalToolExecutionEnabled(this.internalToolExecutionEnabled);
121125
copy.setTools(this.tools);

0 commit comments

Comments
 (0)