Skip to content

Commit 36a93d2

Browse files
committed
optimization: Simplify the method for converting defaultChatOptions to DefaultToolCallingChatOptions
Signed-off-by: Sun Yuhan <[email protected]>
1 parent 101bbc4 commit 36a93d2

File tree

1 file changed

+3
-10
lines changed

1 file changed

+3
-10
lines changed

spring-ai-client-chat/src/main/java/org/springframework/ai/chat/client/DefaultChatClientUtils.java

Lines changed: 3 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@
3030
import org.springframework.ai.chat.prompt.DefaultChatOptions;
3131
import org.springframework.ai.chat.prompt.Prompt;
3232
import org.springframework.ai.chat.prompt.PromptTemplate;
33+
import org.springframework.ai.model.ModelOptionsUtils;
3334
import org.springframework.ai.model.tool.DefaultToolCallingChatOptions;
3435
import org.springframework.ai.model.tool.ToolCallingChatOptions;
3536
import org.springframework.ai.tool.ToolCallback;
@@ -101,16 +102,8 @@ static ChatClientRequest toChatClientRequest(DefaultChatClient.DefaultChatClient
101102
if (processedChatOptions instanceof DefaultChatOptions defaultChatOptions) {
102103
if (!inputRequest.getToolNames().isEmpty() || !inputRequest.getToolCallbacks().isEmpty()
103104
|| !CollectionUtils.isEmpty(inputRequest.getToolContext())) {
104-
processedChatOptions = DefaultToolCallingChatOptions.builder()
105-
.model(defaultChatOptions.getModel())
106-
.frequencyPenalty(defaultChatOptions.getFrequencyPenalty())
107-
.maxTokens(defaultChatOptions.getMaxTokens())
108-
.presencePenalty(defaultChatOptions.getPresencePenalty())
109-
.stopSequences(defaultChatOptions.getStopSequences())
110-
.temperature(defaultChatOptions.getTemperature())
111-
.topK(defaultChatOptions.getTopK())
112-
.topP(defaultChatOptions.getTopP())
113-
.build();
105+
processedChatOptions = ModelOptionsUtils.copyToTarget(defaultChatOptions, ChatOptions.class,
106+
DefaultToolCallingChatOptions.class);
114107
}
115108
}
116109

0 commit comments

Comments
 (0)