Skip to content

Commit d3110ae

Browse files
chore: [vertexai] make GenerateContentConfig immutable (googleapis#10462)
PiperOrigin-RevId: 612549622 Co-authored-by: Jaycee Li <[email protected]>
1 parent ca29b55 commit d3110ae

File tree

2 files changed

+5
-72
lines changed

2 files changed

+5
-72
lines changed

java-vertexai/google-cloud-vertexai/src/main/java/com/google/cloud/vertexai/generativeai/GenerateContentConfig.java

Lines changed: 5 additions & 55 deletions
Original file line numberDiff line numberDiff line change
@@ -25,9 +25,9 @@
2525

2626
/** This class holds all the configs when making a generate content API call */
2727
public class GenerateContentConfig {
28-
private GenerationConfig generationConfig;
29-
private ImmutableList<SafetySetting> safetySettings;
30-
private ImmutableList<Tool> tools;
28+
private final GenerationConfig generationConfig;
29+
private final ImmutableList<SafetySetting> safetySettings;
30+
private final ImmutableList<Tool> tools;
3131

3232
/** Creates a builder for the GenerateContentConfig. */
3333
public static Builder newBuilder() {
@@ -85,14 +85,7 @@ public Builder setGenerationConfig(GenerationConfig generationConfig) {
8585
*/
8686
@BetaApi
8787
public Builder setSafetySettings(List<SafetySetting> safetySettings) {
88-
ImmutableList.Builder builder = ImmutableList.builder();
89-
for (SafetySetting safetySetting : safetySettings) {
90-
if (safetySetting != null) {
91-
builder.add(safetySetting);
92-
}
93-
}
94-
this.safetySettings = builder.build();
95-
88+
this.safetySettings = ImmutableList.copyOf(safetySettings);
9689
return this;
9790
}
9891

@@ -104,54 +97,11 @@ public Builder setSafetySettings(List<SafetySetting> safetySettings) {
10497
*/
10598
@BetaApi
10699
public Builder setTools(List<Tool> tools) {
107-
ImmutableList.Builder builder = ImmutableList.builder();
108-
for (Tool tool : tools) {
109-
if (tool != null) {
110-
builder.add(tool);
111-
}
112-
}
113-
this.tools = builder.build();
114-
100+
this.tools = ImmutableList.copyOf(tools);
115101
return this;
116102
}
117103
}
118104

119-
/**
120-
* Sets the value for {@link #getGenerationConfig}, which will be used in the generate content API
121-
* call.
122-
*/
123-
@BetaApi
124-
public void setGenerationConfig(GenerationConfig generationConfig) {
125-
this.generationConfig = generationConfig;
126-
}
127-
128-
/**
129-
* Sets the value for {@link #getSafetySettings}, which will be used in the generate content API
130-
* call.
131-
*/
132-
@BetaApi("safetySettings is a preview feature.")
133-
public void setSafetySettings(List<SafetySetting> safetySettings) {
134-
ImmutableList.Builder builder = ImmutableList.builder();
135-
for (SafetySetting safetySetting : safetySettings) {
136-
if (safetySetting != null) {
137-
builder.add(safetySetting);
138-
}
139-
}
140-
this.safetySettings = builder.build();
141-
}
142-
143-
/** Sets the value for {@link #getTools}, which will be used in the generate content API call. */
144-
@BetaApi("tools is a preview feature.")
145-
public void setTools(List<Tool> tools) {
146-
ImmutableList.Builder builder = ImmutableList.builder();
147-
for (Tool tool : tools) {
148-
if (tool != null) {
149-
builder.add(tool);
150-
}
151-
}
152-
this.tools = builder.build();
153-
}
154-
155105
/** Returns the {@link com.google.cloud.vertexai.api.GenerationConfig} of this config. */
156106
@BetaApi
157107
public GenerationConfig getGenerationConfig() {

java-vertexai/google-cloud-vertexai/src/test/java/com/google/cloud/vertexai/generativeai/GenerateContentConfigTest.java

Lines changed: 0 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -76,21 +76,4 @@ public void testInstantiateGenerateContentConfigWithBuilder() {
7676
assertThat(config.getSafetySettings()).isEqualTo(safetySettings);
7777
assertThat(config.getTools()).isEqualTo(tools);
7878
}
79-
80-
@Test
81-
public void testGenerateContentConfigSetters() {
82-
config = GenerateContentConfig.newBuilder().build();
83-
84-
assertThat(config.getGenerationConfig()).isNull();
85-
assertThat(config.getSafetySettings()).isEmpty();
86-
assertThat(config.getTools()).isEmpty();
87-
88-
config.setGenerationConfig(GENERATION_CONFIG);
89-
config.setSafetySettings(safetySettings);
90-
config.setTools(tools);
91-
92-
assertThat(config.getGenerationConfig()).isEqualTo(GENERATION_CONFIG);
93-
assertThat(config.getSafetySettings()).isEqualTo(safetySettings);
94-
assertThat(config.getTools()).isEqualTo(tools);
95-
}
9679
}

0 commit comments

Comments
 (0)