Add default ChatOptions to Prompt

- Remove @Nullable on ChatOptions
 - By default, pass the default ChatOptions from the DefaultChatOptionsBuilder

Signed-off-by: Ilayaperumal Gopinathan <ilayaperumal.gopinathan@broadcom.com>
This commit is contained in:
Ilayaperumal Gopinathan
2025-04-28 15:46:03 +01:00
committed by Mark Pollack
parent 363ebf8de6
commit 4eeeb83d3f
2 changed files with 10 additions and 13 deletions

View File

@@ -110,7 +110,8 @@ class DefaultChatClientTests {
assertThat(spec.getMessages()).hasSize(2);
assertThat(spec.getMessages().get(0).getText()).isEqualTo("instructions");
assertThat(spec.getMessages().get(1).getText()).isEqualTo("my question");
assertThat(spec.getChatOptions()).isNull();
assertThat(spec.getChatOptions()).isNotNull();
assertThat(spec.getChatOptions()).isInstanceOf(ChatOptions.class);
}
@Test

View File

@@ -45,7 +45,6 @@ public class Prompt implements ModelRequest<List<Message>> {
private final List<Message> messages;
@Nullable
private ChatOptions chatOptions;
public Prompt(String contents) {
@@ -57,24 +56,24 @@ public class Prompt implements ModelRequest<List<Message>> {
}
public Prompt(List<Message> messages) {
this(messages, null);
this(messages, ChatOptions.builder().build());
}
public Prompt(Message... messages) {
this(Arrays.asList(messages), null);
this(Arrays.asList(messages), ChatOptions.builder().build());
}
public Prompt(String contents, @Nullable ChatOptions chatOptions) {
public Prompt(String contents, ChatOptions chatOptions) {
this(new UserMessage(contents), chatOptions);
}
public Prompt(Message message, @Nullable ChatOptions chatOptions) {
public Prompt(Message message, ChatOptions chatOptions) {
this(Collections.singletonList(message), chatOptions);
}
public Prompt(List<Message> messages, @Nullable ChatOptions chatOptions) {
public Prompt(List<Message> messages, ChatOptions chatOptions) {
this.messages = messages;
this.chatOptions = chatOptions;
this.chatOptions = (chatOptions != null) ? chatOptions : ChatOptions.builder().build();
}
public String getContents() {
@@ -86,7 +85,6 @@ public class Prompt implements ModelRequest<List<Message>> {
}
@Override
@Nullable
public ChatOptions getOptions() {
return this.chatOptions;
}
@@ -118,7 +116,7 @@ public class Prompt implements ModelRequest<List<Message>> {
}
public Prompt copy() {
return new Prompt(instructionsCopy(), null == this.chatOptions ? null : this.chatOptions.copy());
return new Prompt(instructionsCopy(), this.chatOptions.copy());
}
private List<Message> instructionsCopy() {
@@ -155,9 +153,7 @@ public class Prompt implements ModelRequest<List<Message>> {
public Builder mutate() {
Builder builder = new Builder().messages(instructionsCopy());
if (this.chatOptions != null) {
builder.chatOptions(this.chatOptions.copy());
}
builder.chatOptions(this.chatOptions.copy());
return builder;
}