Skip to content

Commit 9e607f3

Browse files
Replaced ToolCall class with existing ResponseMessageToolCall
1 parent 93c5ae5 commit 9e607f3

File tree

3 files changed

+14
-56
lines changed

3 files changed

+14
-56
lines changed

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

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

33
import com.sap.ai.sdk.orchestration.model.ChatMessage;
4+
import com.sap.ai.sdk.orchestration.model.ResponseMessageToolCall;
45
import com.sap.ai.sdk.orchestration.model.SingleChatMessage;
56
import java.util.List;
67
import javax.annotation.Nonnull;
@@ -21,7 +22,7 @@ public final class AssistantMessage implements Message {
2122
@Nonnull String content;
2223

2324
/** Tool call if there is any. */
24-
@Nullable List<ToolCall> toolCalls = null;
25+
@Nullable List<ResponseMessageToolCall> toolCalls = null;
2526

2627
/**
2728
* Creates a new assistant message with the given text content.
@@ -37,7 +38,7 @@ public AssistantMessage(@Nonnull final String content) {
3738
*
3839
* @param toolCalls list of tool call objects
3940
*/
40-
public AssistantMessage(@Nonnull final List<ToolCall> toolCalls) {
41+
public AssistantMessage(@Nonnull final List<ResponseMessageToolCall> toolCalls) {
4142
content = "";
4243
this.toolCalls = toolCalls;
4344
}
@@ -48,10 +49,7 @@ public ChatMessage createChatMessage() {
4849
if (toolCalls() != null) {
4950
// content shouldn't be required for tool calls 🤷
5051
val message = SingleChatMessage.create().role(role).content("");
51-
52-
val maps = toolCalls().stream().map(ToolCall::map).toList();
53-
message.setCustomField("tool_calls", maps);
54-
52+
message.setCustomField("tool_calls", toolCalls);
5553
return message;
5654
}
5755
return Message.super.createChatMessage();

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

Lines changed: 0 additions & 44 deletions
This file was deleted.

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

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

33
import static com.sap.ai.sdk.orchestration.OrchestrationClient.toCompletionPostRequest;
4+
import static com.sap.ai.sdk.orchestration.model.ResponseMessageToolCall.TypeEnum.FUNCTION;
45

56
import com.google.common.annotations.Beta;
67
import com.sap.ai.sdk.orchestration.AssistantMessage;
78
import com.sap.ai.sdk.orchestration.OrchestrationChatCompletionDelta;
89
import com.sap.ai.sdk.orchestration.OrchestrationClient;
910
import com.sap.ai.sdk.orchestration.OrchestrationPrompt;
1011
import com.sap.ai.sdk.orchestration.SystemMessage;
11-
import com.sap.ai.sdk.orchestration.ToolCall;
1212
import com.sap.ai.sdk.orchestration.ToolMessage;
1313
import com.sap.ai.sdk.orchestration.UserMessage;
14+
import com.sap.ai.sdk.orchestration.model.ResponseMessageToolCall;
15+
import com.sap.ai.sdk.orchestration.model.ResponseMessageToolCallFunction;
1416
import java.util.List;
1517
import java.util.Map;
1618
import java.util.Set;
@@ -134,15 +136,17 @@ private static com.sap.ai.sdk.orchestration.Message[] toOrchestrationMessages(
134136
val springToolCalls =
135137
((org.springframework.ai.chat.messages.AssistantMessage) msg).getToolCalls();
136138
if (springToolCalls != null) {
137-
final List<ToolCall> sdkToolCalls =
139+
final List<ResponseMessageToolCall> sdkToolCalls =
138140
springToolCalls.stream()
139141
.map(
140142
toolCall ->
141-
new ToolCall()
143+
ResponseMessageToolCall.create()
142144
.id(toolCall.id())
143-
.type(toolCall.type())
144-
.name(toolCall.name())
145-
.arguments(toolCall.arguments()))
145+
.type(FUNCTION)
146+
.function(
147+
ResponseMessageToolCallFunction.create()
148+
.name(toolCall.name())
149+
.arguments(toolCall.arguments())))
146150
.toList();
147151
yield List.of(new AssistantMessage(sdkToolCalls));
148152
}

0 commit comments

Comments
 (0)