Skip to content

Commit f7c7ece

Browse files
committed
Resolving Reviewed Issues.
1 parent 203eba6 commit f7c7ece

File tree

3 files changed

+15
-26
lines changed

3 files changed

+15
-26
lines changed

foundation-models/openai/src/main/java/com/sap/ai/sdk/foundationmodels/openai/generated/model/ChatCompletionRequestAssistantMessage.java

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -99,8 +99,6 @@ public static RoleEnum fromValue(@Nonnull final String value) {
9999
@JsonProperty("name")
100100
private String name;
101101

102-
// this should not be serialized if empty
103-
@JsonInclude(JsonInclude.Include.NON_EMPTY)
104102
@JsonProperty("tool_calls")
105103
private List<ChatCompletionMessageToolCall> toolCalls = new ArrayList<>();
106104

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

Lines changed: 10 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -11,17 +11,16 @@
1111
import java.util.Set;
1212
import javax.annotation.Nonnull;
1313
import javax.annotation.Nullable;
14-
import lombok.AccessLevel;
15-
import lombok.Data;
16-
import lombok.Getter;
17-
import lombok.val;
14+
15+
import lombok.*;
1816
import org.springframework.ai.chat.prompt.ChatOptions;
1917
import org.springframework.ai.model.ModelOptionsUtils;
2018
import org.springframework.ai.model.tool.ToolCallingChatOptions;
2119
import org.springframework.ai.tool.ToolCallback;
2220

2321
/** OpenAI Chat Options for configuring tool callbacks and execution settings. */
2422
@Data
23+
@NoArgsConstructor
2524
public class OpenAiChatOptions implements ToolCallingChatOptions {
2625

2726
@Nonnull private OpenAiChatCompletionConfig config;
@@ -52,13 +51,12 @@ public Boolean getInternalToolExecutionEnabled() {
5251

5352
private static ChatCompletionTool toOpenAiTool(final ToolCallback toolCallback) {
5453
val toolDef = toolCallback.getToolDefinition();
55-
return new ChatCompletionTool()
56-
.type(TypeEnum.FUNCTION)
57-
.function(
58-
new FunctionObject()
59-
.name(toolDef.name())
60-
.description(toolDef.description())
61-
.parameters(ModelOptionsUtils.jsonToMap(toolDef.inputSchema())));
54+
val functionobject =
55+
new FunctionObject()
56+
.name(toolDef.name())
57+
.description(toolDef.description())
58+
.parameters(ModelOptionsUtils.jsonToMap(toolDef.inputSchema()));
59+
return new ChatCompletionTool().type(TypeEnum.FUNCTION).function(functionobject);
6260
}
6361

6462
@Override
@@ -117,7 +115,7 @@ public Double getTopP() {
117115
@Override
118116
@Nonnull
119117
public <T extends ChatOptions> T copy() {
120-
final OpenAiChatOptions copy = new OpenAiChatOptions(new OpenAiChatCompletionConfig());
118+
final OpenAiChatOptions copy = new OpenAiChatOptions();
121119
copy.setToolCallbacks(this.toolCallbacks);
122120
copy.setInternalToolExecutionEnabled(this.internalToolExecutionEnabled);
123121
copy.setTools(this.tools);

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

Lines changed: 5 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
package com.sap.ai.sdk.app.services;
22

3-
import com.sap.ai.sdk.foundationmodels.openai.OpenAiChatCompletionConfig;
43
import com.sap.ai.sdk.foundationmodels.openai.OpenAiClient;
54
import com.sap.ai.sdk.foundationmodels.openai.OpenAiModel;
65
import com.sap.ai.sdk.foundationmodels.openai.spring.OpenAiChatModel;
@@ -54,7 +53,7 @@ public EmbeddingResponse embedStrings() {
5453
*/
5554
@Nonnull
5655
public ChatResponse completion() {
57-
val options = new OpenAiChatOptions(new OpenAiChatCompletionConfig());
56+
val options = new OpenAiChatOptions();
5857
val prompt = new Prompt("What is the capital of France?", options);
5958
return chatClient.call(prompt);
6059
}
@@ -66,7 +65,7 @@ public ChatResponse completion() {
6665
*/
6766
@Nonnull
6867
public ChatResponse streamChatCompletion() {
69-
val options = new OpenAiChatOptions(new OpenAiChatCompletionConfig());
68+
val options = new OpenAiChatOptions();
7069
val prompt =
7170
new Prompt("Can you give me the first 100 numbers of the Fibonacci sequence?", options);
7271
return chatClient.call(prompt);
@@ -82,7 +81,7 @@ public ChatResponse streamChatCompletion() {
8281
*/
8382
@Nonnull
8483
public ChatResponse toolCalling(final boolean internalToolExecutionEnabled) {
85-
val options = new OpenAiChatOptions(new OpenAiChatCompletionConfig());
84+
val options = new OpenAiChatOptions();
8685
options.setToolCallbacks(List.of(ToolCallbacks.from(new WeatherMethod())));
8786
options.setInternalToolExecutionEnabled(internalToolExecutionEnabled);
8887

@@ -101,14 +100,8 @@ public ChatResponse ChatMemory() {
101100
val memory = MessageWindowChatMemory.builder().chatMemoryRepository(repository).build();
102101
val advisor = MessageChatMemoryAdvisor.builder(memory).build();
103102
val cl = ChatClient.builder(chatClient).defaultAdvisors(advisor).build();
104-
val prompt1 =
105-
new Prompt(
106-
"What is the capital of France?",
107-
new OpenAiChatOptions(new OpenAiChatCompletionConfig()));
108-
val prompt2 =
109-
new Prompt(
110-
"And what is the typical food there?",
111-
new OpenAiChatOptions(new OpenAiChatCompletionConfig()));
103+
val prompt1 = new Prompt("What is the capital of France?", new OpenAiChatOptions());
104+
val prompt2 = new Prompt("And what is the typical food there?", new OpenAiChatOptions());
112105

113106
cl.prompt(prompt1).call().content();
114107
return Objects.requireNonNull(

0 commit comments

Comments
 (0)