From 30508e5c3e11bbcbebff73dd751bb5ebc0be9a29 Mon Sep 17 00:00:00 2001 From: Josh Long Date: Sun, 19 May 2024 15:47:22 +0200 Subject: [PATCH] copy constructor for ChatClient#call incantations based on defaults. --- .../main/java/org/springframework/ai/chat/ChatClient.java | 7 +++---- .../org/springframework/ai/chat/DefaultChatClient.java | 8 ++++---- 2 files changed, 7 insertions(+), 8 deletions(-) diff --git a/spring-ai-core/src/main/java/org/springframework/ai/chat/ChatClient.java b/spring-ai-core/src/main/java/org/springframework/ai/chat/ChatClient.java index ae30e8490..2ae23384c 100644 --- a/spring-ai-core/src/main/java/org/springframework/ai/chat/ChatClient.java +++ b/spring-ai-core/src/main/java/org/springframework/ai/chat/ChatClient.java @@ -186,8 +186,8 @@ public interface ChatClient { private final Map systemParams = new HashMap<>(); /* copy constructor */ - ChatClientRequest(ModelCall connector, ChatClientRequest ccr) { - this(connector, ccr.userText, ccr.systemText, ccr.functionCallbacks, ccr.functionNames, ccr.media, + ChatClientRequest(ChatClientRequest ccr) { + this(ccr.connector, ccr.userText, ccr.systemText, ccr.functionCallbacks, ccr.functionNames, ccr.media, ccr.chatOptions); } @@ -343,9 +343,9 @@ public interface ChatClient { class ChatClientBuilder { - private final ModelCall modelCall; private final ChatClientRequest defaultRequest; + private final ModelCall modelCall; ChatClientBuilder(ModelCall modelCall) { Assert.notNull(modelCall, "the " + ModelCall.class.getName() + " must be non-null"); @@ -374,7 +374,6 @@ public interface ChatClient { public ChatClientBuilder defaultFunctionWrappers(String name, String description, java.util.function.Function function) { - this.defaultRequest.function(name, description, function); return this; } diff --git a/spring-ai-core/src/main/java/org/springframework/ai/chat/DefaultChatClient.java b/spring-ai-core/src/main/java/org/springframework/ai/chat/DefaultChatClient.java index 63b6b7e1b..ea0541456 100644 --- a/spring-ai-core/src/main/java/org/springframework/ai/chat/DefaultChatClient.java +++ b/spring-ai-core/src/main/java/org/springframework/ai/chat/DefaultChatClient.java @@ -10,18 +10,18 @@ import org.springframework.ai.chat.prompt.Prompt; */ class DefaultChatClient implements ChatClient { - private final ModelCall modelCall; + private final ModelCall modelCall; private final ChatClientRequest defaultChatClientRequest; public DefaultChatClient(ModelCall modelCall, ChatClientRequest defaultChatClientRequest) { - this.modelCall = modelCall; - this.defaultChatClientRequest = defaultChatClientRequest; + this.modelCall = modelCall; + this.defaultChatClientRequest = defaultChatClientRequest; } @Override public ChatClientRequest call() { - return new ChatClientRequest(this.modelCall, this.defaultChatClientRequest); + return new ChatClientRequest(this.defaultChatClientRequest); } /**