From 0793b203f7b6d361c69cb3bcd78d10fc97f1df49 Mon Sep 17 00:00:00 2001 From: "copybara-service[bot]" <56741989+copybara-service[bot]@users.noreply.github.com> Date: Tue, 25 Mar 2025 11:41:17 -0700 Subject: [PATCH 1/2] fix: customHeaders are not passed to the VertexAI clients (#11506) PiperOrigin-RevId: 738911474 Co-authored-by: Jaycee Li --- .../com/google/cloud/vertexai/VertexAI.java | 14 -------- .../google/cloud/vertexai/VertexAITest.java | 32 +++++++++++++++++++ 2 files changed, 32 insertions(+), 14 deletions(-) diff --git a/java-vertexai/google-cloud-vertexai/src/main/java/com/google/cloud/vertexai/VertexAI.java b/java-vertexai/google-cloud-vertexai/src/main/java/com/google/cloud/vertexai/VertexAI.java index a6886e439450..8284e5821d88 100644 --- a/java-vertexai/google-cloud-vertexai/src/main/java/com/google/cloud/vertexai/VertexAI.java +++ b/java-vertexai/google-cloud-vertexai/src/main/java/com/google/cloud/vertexai/VertexAI.java @@ -360,13 +360,6 @@ private PredictionServiceSettings getPredictionServiceSettings() throws IOExcept builder.setEndpoint(String.format("%s:443", apiEndpoint)); builder.setCredentialsProvider(credentialsProvider); - HeaderProvider headerProvider = - FixedHeaderProvider.create( - "user-agent", - String.format( - "%s/%s", - Constants.USER_AGENT_HEADER, - GaxProperties.getLibraryVersion(PredictionServiceSettings.class))); builder.setHeaderProvider(headerProvider); return builder.build(); } @@ -435,13 +428,6 @@ private LlmUtilityServiceSettings getLlmUtilityServiceClientSettings() throws IO settingsBuilder.setEndpoint(String.format("%s:443", apiEndpoint)); settingsBuilder.setCredentialsProvider(credentialsProvider); - HeaderProvider headerProvider = - FixedHeaderProvider.create( - "user-agent", - String.format( - "%s/%s", - Constants.USER_AGENT_HEADER, - GaxProperties.getLibraryVersion(LlmUtilityServiceSettings.class))); settingsBuilder.setHeaderProvider(headerProvider); return settingsBuilder.build(); } diff --git a/java-vertexai/google-cloud-vertexai/src/test/java/com/google/cloud/vertexai/VertexAITest.java b/java-vertexai/google-cloud-vertexai/src/test/java/com/google/cloud/vertexai/VertexAITest.java index 7baddcf7b088..58a20773dc30 100644 --- a/java-vertexai/google-cloud-vertexai/src/test/java/com/google/cloud/vertexai/VertexAITest.java +++ b/java-vertexai/google-cloud-vertexai/src/test/java/com/google/cloud/vertexai/VertexAITest.java @@ -25,6 +25,8 @@ import com.google.api.gax.core.GaxProperties; import com.google.api.gax.core.GoogleCredentialsProvider; import com.google.auth.oauth2.GoogleCredentials; +import com.google.cloud.vertexai.api.LlmUtilityServiceClient; +import com.google.cloud.vertexai.api.LlmUtilityServiceSettings; import com.google.cloud.vertexai.api.PredictionServiceClient; import com.google.cloud.vertexai.api.PredictionServiceSettings; import com.google.common.collect.ImmutableList; @@ -58,6 +60,8 @@ public final class VertexAITest { @Mock private PredictionServiceClient mockPredictionServiceClient; + @Mock private LlmUtilityServiceClient mockLlmUtilityServiceClient; + @Mock private GoogleCredentialsProvider.Builder mockCredentialsProviderBuilder; @Mock private GoogleCredentialsProvider mockCredentialsProvider; @@ -425,6 +429,20 @@ public void testInstantiateVertexAI_builderWithCustomHeaders_shouldContainRightF Constants.USER_AGENT_HEADER, GaxProperties.getLibraryVersion(PredictionServiceSettings.class))); assertThat(vertexAi.getHeaders()).isEqualTo(expectedHeaders); + + // make sure the custom headers are set correctly in the prediction service client + try (MockedStatic mockStatic = mockStatic(PredictionServiceClient.class)) { + mockStatic + .when(() -> PredictionServiceClient.create(any(PredictionServiceSettings.class))) + .thenReturn(mockPredictionServiceClient); + PredictionServiceClient unused = vertexAi.getPredictionServiceClient(); + + ArgumentCaptor settings = + ArgumentCaptor.forClass(PredictionServiceSettings.class); + mockStatic.verify(() -> PredictionServiceClient.create(settings.capture())); + + assertThat(settings.getValue().getHeaderProvider().getHeaders()).isEqualTo(expectedHeaders); + } } @Test @@ -454,5 +472,19 @@ public void testInstantiateVertexAI_builderWithCustomHeaders_shouldContainRightF GaxProperties.getLibraryVersion(PredictionServiceSettings.class), "test_value")); assertThat(vertexAi.getHeaders()).isEqualTo(expectedHeaders); + + // make sure the custom headers are set correctly in the llm utility service client + try (MockedStatic mockStatic = mockStatic(LlmUtilityServiceClient.class)) { + mockStatic + .when(() -> LlmUtilityServiceClient.create(any(LlmUtilityServiceSettings.class))) + .thenReturn(mockLlmUtilityServiceClient); + LlmUtilityServiceClient unused = vertexAi.getLlmUtilityClient(); + + ArgumentCaptor settings = + ArgumentCaptor.forClass(LlmUtilityServiceSettings.class); + mockStatic.verify(() -> LlmUtilityServiceClient.create(settings.capture())); + + assertThat(settings.getValue().getHeaderProvider().getHeaders()).isEqualTo(expectedHeaders); + } } } From 44d9895038d2050ce20d075e13202c3307b7a98c Mon Sep 17 00:00:00 2001 From: Tomo Suzuki Date: Fri, 28 Mar 2025 14:47:24 -0400 Subject: [PATCH 2/2] chore: prepare java-vertexai release --- gapic-libraries-bom/pom.xml | 6 +++--- google-cloud-jar-parent/pom.xml | 4 ++-- google-cloud-pom-parent/pom.xml | 2 +- java-vertexai/google-cloud-vertexai-bom/pom.xml | 10 +++++----- java-vertexai/google-cloud-vertexai/pom.xml | 4 ++-- .../grpc-google-cloud-vertexai-v1/pom.xml | 4 ++-- java-vertexai/pom.xml | 10 +++++----- .../proto-google-cloud-vertexai-v1/pom.xml | 4 ++-- versions.txt | 14 +++++++------- 9 files changed, 29 insertions(+), 29 deletions(-) diff --git a/gapic-libraries-bom/pom.xml b/gapic-libraries-bom/pom.xml index 1a4ded39b1e5..9db4a0a8977b 100644 --- a/gapic-libraries-bom/pom.xml +++ b/gapic-libraries-bom/pom.xml @@ -4,7 +4,7 @@ com.google.cloud gapic-libraries-bom pom - 1.54.0 + 1.54.1 Google Cloud Java BOM BOM for the libraries in google-cloud-java repository. Users should not @@ -15,7 +15,7 @@ google-cloud-pom-parent com.google.cloud - 1.54.0 + 1.54.1 ../google-cloud-pom-parent/pom.xml @@ -1182,7 +1182,7 @@ com.google.cloud google-cloud-vertexai-bom - 1.20.0 + 1.20.1 pom import diff --git a/google-cloud-jar-parent/pom.xml b/google-cloud-jar-parent/pom.xml index 2e9add5ea4b3..6ec292c323c0 100644 --- a/google-cloud-jar-parent/pom.xml +++ b/google-cloud-jar-parent/pom.xml @@ -5,7 +5,7 @@ 4.0.0 google-cloud-jar-parent com.google.cloud - 1.54.0 + 1.54.1 pom Google Cloud JAR Parent @@ -15,7 +15,7 @@ com.google.cloud google-cloud-pom-parent - 1.54.0 + 1.54.1 ../google-cloud-pom-parent/pom.xml diff --git a/google-cloud-pom-parent/pom.xml b/google-cloud-pom-parent/pom.xml index 159efdc864c7..c3b2747419f9 100644 --- a/google-cloud-pom-parent/pom.xml +++ b/google-cloud-pom-parent/pom.xml @@ -5,7 +5,7 @@ 4.0.0 google-cloud-pom-parent com.google.cloud - 1.54.0 + 1.54.1 pom Google Cloud POM Parent https://github.com/googleapis/google-cloud-java diff --git a/java-vertexai/google-cloud-vertexai-bom/pom.xml b/java-vertexai/google-cloud-vertexai-bom/pom.xml index d3ebe96e2578..ea1c1e5e25f1 100644 --- a/java-vertexai/google-cloud-vertexai-bom/pom.xml +++ b/java-vertexai/google-cloud-vertexai-bom/pom.xml @@ -3,13 +3,13 @@ 4.0.0 com.google.cloud google-cloud-vertexai-bom - 1.20.0 + 1.20.1 pom com.google.cloud google-cloud-pom-parent - 1.54.0 + 1.54.1 ../../google-cloud-pom-parent/pom.xml @@ -27,17 +27,17 @@ com.google.cloud google-cloud-vertexai - 1.20.0 + 1.20.1 com.google.api.grpc grpc-google-cloud-vertexai-v1 - 1.20.0 + 1.20.1 com.google.api.grpc proto-google-cloud-vertexai-v1 - 1.20.0 + 1.20.1 diff --git a/java-vertexai/google-cloud-vertexai/pom.xml b/java-vertexai/google-cloud-vertexai/pom.xml index 097e738a5001..6f5ee7d6c3a9 100644 --- a/java-vertexai/google-cloud-vertexai/pom.xml +++ b/java-vertexai/google-cloud-vertexai/pom.xml @@ -3,7 +3,7 @@ 4.0.0 com.google.cloud google-cloud-vertexai - 1.20.0 + 1.20.1 jar Google VertexAI API VertexAI API Vertex AI is an integrated suite of machine learning tools and services @@ -12,7 +12,7 @@ com.google.cloud google-cloud-vertexai-parent - 1.20.0 + 1.20.1 google-cloud-vertexai diff --git a/java-vertexai/grpc-google-cloud-vertexai-v1/pom.xml b/java-vertexai/grpc-google-cloud-vertexai-v1/pom.xml index 4ed184a71211..b8f83ad6fc07 100644 --- a/java-vertexai/grpc-google-cloud-vertexai-v1/pom.xml +++ b/java-vertexai/grpc-google-cloud-vertexai-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-vertexai-v1 - 1.20.0 + 1.20.1 grpc-google-cloud-vertexai-v1 GRPC library for google-cloud-vertexai com.google.cloud google-cloud-vertexai-parent - 1.20.0 + 1.20.1 diff --git a/java-vertexai/pom.xml b/java-vertexai/pom.xml index 5a52d90f9ec7..b6d57103871a 100644 --- a/java-vertexai/pom.xml +++ b/java-vertexai/pom.xml @@ -4,7 +4,7 @@ com.google.cloud google-cloud-vertexai-parent pom - 1.20.0 + 1.20.1 Google VertexAI API Parent Java idiomatic client for Google Cloud Platform services. @@ -13,7 +13,7 @@ com.google.cloud google-cloud-jar-parent - 1.54.0 + 1.54.1 ../google-cloud-jar-parent/pom.xml @@ -29,17 +29,17 @@ com.google.cloud google-cloud-vertexai - 1.20.0 + 1.20.1 com.google.api.grpc grpc-google-cloud-vertexai-v1 - 1.20.0 + 1.20.1 com.google.api.grpc proto-google-cloud-vertexai-v1 - 1.20.0 + 1.20.1 diff --git a/java-vertexai/proto-google-cloud-vertexai-v1/pom.xml b/java-vertexai/proto-google-cloud-vertexai-v1/pom.xml index 5ddf4d1f376d..a7e2ecf43943 100644 --- a/java-vertexai/proto-google-cloud-vertexai-v1/pom.xml +++ b/java-vertexai/proto-google-cloud-vertexai-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-vertexai-v1 - 1.20.0 + 1.20.1 proto-google-cloud-vertexai-v1 Proto library for google-cloud-vertexai com.google.cloud google-cloud-vertexai-parent - 1.20.0 + 1.20.1 diff --git a/versions.txt b/versions.txt index 007199cbaf5f..63d2cc847512 100644 --- a/versions.txt +++ b/versions.txt @@ -1,7 +1,7 @@ # Format: # module:released-version:current-version -google-cloud-java:1.54.0:1.54.0 +google-cloud-java:1.54.1:1.54.1 google-cloud-accessapproval:2.61.0:2.61.0 grpc-google-cloud-accessapproval-v1:2.61.0:2.61.0 proto-google-cloud-accessapproval-v1:2.61.0:2.61.0 @@ -690,11 +690,11 @@ grpc-google-cloud-telcoautomation-v1alpha1:0.30.0:0.30.0 google-cloud-securesourcemanager:0.30.0:0.30.0 proto-google-cloud-securesourcemanager-v1:0.30.0:0.30.0 grpc-google-cloud-securesourcemanager-v1:0.30.0:0.30.0 -google-cloud-vertexai:1.20.0:1.20.0 -proto-google-cloud-vertexai-v1:1.20.0:1.20.0 -proto-google-cloud-vertexai-v1beta1:1.20.0:1.20.0 -grpc-google-cloud-vertexai-v1:1.20.0:1.20.0 -grpc-google-cloud-vertexai-v1beta1:1.20.0:1.20.0 +google-cloud-vertexai:1.20.1:1.20.1 +proto-google-cloud-vertexai-v1:1.20.1:1.20.1 +proto-google-cloud-vertexai-v1beta1:1.20.1:1.20.1 +grpc-google-cloud-vertexai-v1:1.20.1:1.20.1 +grpc-google-cloud-vertexai-v1beta1:1.20.1:1.20.1 google-cloud-edgenetwork:0.28.0:0.28.0 proto-google-cloud-edgenetwork-v1:0.28.0:0.28.0 grpc-google-cloud-edgenetwork-v1:0.28.0:0.28.0 @@ -830,4 +830,4 @@ proto-google-cloud-modelarmor-v1:0.1.0:0.1.0 grpc-google-cloud-modelarmor-v1:0.1.0:0.1.0 google-cloud-financialservices:0.1.0:0.1.0 proto-google-cloud-financialservices-v1:0.1.0:0.1.0 -grpc-google-cloud-financialservices-v1:0.1.0:0.1.0 +grpc-google-cloud-financialservices-v1:0.1.0:0.1.0 \ No newline at end of file