copy constructor for ChatClient#call incantations based on defaults.

This commit is contained in:
Josh Long
2024-05-19 15:42:02 +02:00
committed by Christian Tzolov
parent 9ffc315e1f
commit c89ac8a622
2 changed files with 9 additions and 3 deletions

View File

@@ -175,7 +175,7 @@ public interface ChatClient {
private final List<Media> media = new ArrayList<>();
private final Set<String> functionNames = new HashSet<>();
private final List<String> functionNames = new ArrayList<>();
private final List<FunctionCallback> functionCallbacks = new ArrayList<>();
@@ -185,6 +185,12 @@ public interface ChatClient {
private final Map<String, Object> systemParams = new HashMap<>();
/* copy constructor */
ChatClientRequest(ModelCall connector, ChatClientRequest ccr) {
this(connector, ccr.userText, ccr.systemText, ccr.functionCallbacks, ccr.functionNames, ccr.media,
ccr.chatOptions);
}
public ChatClientRequest(ModelCall connector, String userText, String systemText,
List<FunctionCallback> functionCallbacks, List<String> functionNames, List<Media> media,
ChatOptions chatOptions) {
@@ -299,7 +305,7 @@ public interface ChatClient {
}
if (this.request.chatOptions instanceof FunctionCallingOptionsBuilder.PortableFunctionCallingOptions functionCallingOptions) {
if (!this.request.functionNames.isEmpty()) {
functionCallingOptions.setFunctions(this.request.functionNames);
functionCallingOptions.setFunctions(new HashSet<>(this.request.functionNames));
}
if (!this.request.functionCallbacks.isEmpty()) {
functionCallingOptions.setFunctionCallbacks(this.request.functionCallbacks);

View File

@@ -21,7 +21,7 @@ class DefaultChatClient implements ChatClient {
@Override
public ChatClientRequest call() {
return this.defaultChatClientRequest;
return new ChatClientRequest(this.modelCall, this.defaultChatClientRequest);
}
/**