From 128f0f79f13630a5a070ecfd8ff27a1fa651b776 Mon Sep 17 00:00:00 2001 From: I538344 Date: Wed, 4 Mar 2026 10:58:29 +0100 Subject: [PATCH 1/3] feat: [RPT] GZIP encoding --- foundation-models/sap-rpt/pom.xml | 4 ++ .../sdk/foundationmodels/rpt/RptClient.java | 46 +++++++++++++++++-- .../rpt/generated/client/DefaultApi.java | 8 ++-- pom.xml | 2 +- 4 files changed, 51 insertions(+), 9 deletions(-) diff --git a/foundation-models/sap-rpt/pom.xml b/foundation-models/sap-rpt/pom.xml index 51632e973..12cc0f858 100644 --- a/foundation-models/sap-rpt/pom.xml +++ b/foundation-models/sap-rpt/pom.xml @@ -56,6 +56,10 @@ com.sap.cloud.sdk.cloudplatform cloudplatform-connectivity + + com.sap.cloud.sdk.datamodel + openapi-core-apache + com.sap.cloud.sdk.datamodel openapi-core diff --git a/foundation-models/sap-rpt/src/main/java/com/sap/ai/sdk/foundationmodels/rpt/RptClient.java b/foundation-models/sap-rpt/src/main/java/com/sap/ai/sdk/foundationmodels/rpt/RptClient.java index 154ce0535..dde008f4b 100644 --- a/foundation-models/sap-rpt/src/main/java/com/sap/ai/sdk/foundationmodels/rpt/RptClient.java +++ b/foundation-models/sap-rpt/src/main/java/com/sap/ai/sdk/foundationmodels/rpt/RptClient.java @@ -3,6 +3,7 @@ import static com.sap.ai.sdk.core.JacksonConfiguration.getDefaultObjectMapper; import com.fasterxml.jackson.core.JsonProcessingException; +import com.fasterxml.jackson.core.type.TypeReference; import com.google.common.annotations.Beta; import com.sap.ai.sdk.core.AiCoreService; import com.sap.ai.sdk.core.DeploymentResolutionException; @@ -12,8 +13,15 @@ import com.sap.ai.sdk.foundationmodels.rpt.generated.model.PredictResponsePayload; import com.sap.ai.sdk.foundationmodels.rpt.generated.model.PredictionConfig; import com.sap.cloud.sdk.cloudplatform.connectivity.Destination; -import com.sap.cloud.sdk.services.openapi.apache.ApiClient; +import com.sap.cloud.sdk.services.openapi.apache.apiclient.ApiClient; +import com.sap.cloud.sdk.services.openapi.apache.apiclient.Pair; +import com.sap.cloud.sdk.services.openapi.core.OpenApiRequestException; import java.io.File; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.StringJoiner; import javax.annotation.Nonnull; import lombok.AccessLevel; import lombok.RequiredArgsConstructor; @@ -26,6 +34,7 @@ @RequiredArgsConstructor(access = AccessLevel.PRIVATE) public class RptClient { @Nonnull private final DefaultApi api; + @Nonnull private final ApiClient apiClient; /** * Creates a new RptClient for the specified foundation model. @@ -49,7 +58,7 @@ public static RptClient forModel(@Nonnull final RptModel foundationModel) */ static RptClient forDestination(@Nonnull final Destination destination) { final var apiClient = ApiClient.create(destination).withObjectMapper(getDefaultObjectMapper()); - return new RptClient(new DefaultApi(apiClient)); + return new RptClient(new DefaultApi(apiClient), apiClient); } /** @@ -73,8 +82,37 @@ static RptClient forDestination(@Nonnull final Destination destination) { */ @Beta @Nonnull - public PredictResponsePayload tableCompletion(@Nonnull final PredictRequestPayload requestBody) { - return api.predict(requestBody); + public PredictResponsePayload tableCompletion(@Nonnull final PredictRequestPayload requestBody) + throws OpenApiRequestException { + + // create path and map variables + final String localVarPath = "/predict"; + + final StringJoiner localVarQueryStringJoiner = new StringJoiner("&"); + final List localVarQueryParams = new ArrayList<>(); + final List localVarCollectionQueryParams = new ArrayList<>(); + final Map localVarHeaderParams = Map.of("Content-Encoding", "gzip"); + final Map localVarFormParams = new HashMap<>(); + + final String[] localVarAccepts = {"application/json"}; + final String localVarAccept = ApiClient.selectHeaderAccept(localVarAccepts); + final String[] localVarContentTypes = {"application/json"}; + final String localVarContentType = ApiClient.selectHeaderContentType(localVarContentTypes); + + final TypeReference localVarReturnType = new TypeReference<>() {}; + + return apiClient.invokeAPI( + localVarPath, + "POST", + localVarQueryParams, + localVarCollectionQueryParams, + localVarQueryStringJoiner.toString(), + requestBody, + localVarHeaderParams, + localVarFormParams, + localVarAccept, + localVarContentType, + localVarReturnType); } /** diff --git a/foundation-models/sap-rpt/src/main/java/com/sap/ai/sdk/foundationmodels/rpt/generated/client/DefaultApi.java b/foundation-models/sap-rpt/src/main/java/com/sap/ai/sdk/foundationmodels/rpt/generated/client/DefaultApi.java index 99fa86dd4..be7bbdfe2 100644 --- a/foundation-models/sap-rpt/src/main/java/com/sap/ai/sdk/foundationmodels/rpt/generated/client/DefaultApi.java +++ b/foundation-models/sap-rpt/src/main/java/com/sap/ai/sdk/foundationmodels/rpt/generated/client/DefaultApi.java @@ -4,10 +4,10 @@ import com.sap.ai.sdk.foundationmodels.rpt.generated.model.PredictRequestPayload; import com.sap.ai.sdk.foundationmodels.rpt.generated.model.PredictResponsePayload; import com.sap.cloud.sdk.cloudplatform.connectivity.Destination; -import com.sap.cloud.sdk.services.openapi.apache.ApiClient; -import com.sap.cloud.sdk.services.openapi.apache.BaseApi; -import com.sap.cloud.sdk.services.openapi.apache.Pair; -import com.sap.cloud.sdk.services.openapi.core.OpenApiRequestException; +import com.sap.cloud.sdk.services.openapi.apache.apiclient.ApiClient; +import com.sap.cloud.sdk.services.openapi.apache.apiclient.BaseApi; +import com.sap.cloud.sdk.services.openapi.apache.apiclient.Pair; +import com.sap.cloud.sdk.services.openapi.apache.core.OpenApiRequestException; import java.io.File; import java.util.ArrayList; import java.util.HashMap; diff --git a/pom.xml b/pom.xml index 10abeb36f..d5f2154bb 100644 --- a/pom.xml +++ b/pom.xml @@ -56,7 +56,7 @@ full UTF-8 2025-04-03T13:23:00Z - 5.26.0 + 5.27.0-SNAPSHOT 6.0.3 3.13.2 3.27.7 From 421b03427373e7946cf56596ceb17c1605df108a Mon Sep 17 00:00:00 2001 From: I538344 Date: Wed, 4 Mar 2026 11:02:39 +0100 Subject: [PATCH 2/3] release notes --- docs/release_notes.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/release_notes.md b/docs/release_notes.md index 80e2325c3..8daf846df 100644 --- a/docs/release_notes.md +++ b/docs/release_notes.md @@ -16,7 +16,7 @@ ### 📈 Improvements -- +- [RPT] `RptClient.tableCompletion()` GZIP compresses the request body. ### 🐛 Fixed Issues From 4a7d0a1d5981aca181fce49ecfb18d2f128bb297 Mon Sep 17 00:00:00 2001 From: I538344 Date: Wed, 4 Mar 2026 11:05:23 +0100 Subject: [PATCH 3/3] release notes --- docs/release_notes.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/release_notes.md b/docs/release_notes.md index 8daf846df..0eeaf2aef 100644 --- a/docs/release_notes.md +++ b/docs/release_notes.md @@ -16,7 +16,7 @@ ### 📈 Improvements -- [RPT] `RptClient.tableCompletion()` GZIP compresses the request body. +- [RPT] `RptClient.tableCompletion()` GZIP compresses the request payload. ### 🐛 Fixed Issues