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 9bbfdb86b..e968aff49 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 @@ -14,6 +14,7 @@ import com.sap.cloud.sdk.cloudplatform.connectivity.Destination; import com.sap.cloud.sdk.services.openapi.apache.apiclient.ApiClient; import java.io.File; +import java.util.Map; import javax.annotation.Nonnull; import lombok.AccessLevel; import lombok.RequiredArgsConstructor; @@ -26,6 +27,7 @@ @RequiredArgsConstructor(access = AccessLevel.PRIVATE) public class RptClient { @Nonnull private final DefaultApi api; + @Nonnull private final DefaultApi apiWithGzipEncoding; /** * Creates a new RptClient for the specified foundation model. @@ -49,7 +51,8 @@ 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)); + final var api = new DefaultApi(apiClient); + return new RptClient(api, api.withDefaultHeaders(Map.of("Content-Encoding", "gzip"))); } /** @@ -74,7 +77,7 @@ static RptClient forDestination(@Nonnull final Destination destination) { @Beta @Nonnull public PredictResponsePayload tableCompletion(@Nonnull final PredictRequestPayload requestBody) { - return api.predict(requestBody, "gzip"); + return apiWithGzipEncoding.predict(requestBody); } /** 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 afa977348..6d742e0a2 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 @@ -75,16 +75,12 @@ public DefaultApi withDefaultHeaders(@Nonnull final Map defaultH * *

500 - Internal Server Error * - * @param predictRequestPayload (required) The value for the parameter predictRequestPayload - * @param contentEncoding (optional) Content encoding of the request body. Use 'gzip' for - * gzip-compressed payloads. + * @param predictRequestPayload The value for the parameter predictRequestPayload * @return PredictResponsePayload * @throws OpenApiRequestException if an error occurs while attempting to invoke the API */ @Nonnull - public PredictResponsePayload predict( - @Nonnull final PredictRequestPayload predictRequestPayload, - @Nullable final String contentEncoding) + public PredictResponsePayload predict(@Nonnull final PredictRequestPayload predictRequestPayload) throws OpenApiRequestException { // verify the required parameter 'predictRequestPayload' is set @@ -103,9 +99,6 @@ public PredictResponsePayload predict( final Map localVarHeaderParams = new HashMap(defaultHeaders); final Map localVarFormParams = new HashMap(); - if (contentEncoding != null) - localVarHeaderParams.put("Content-Encoding", ApiClient.parameterToString(contentEncoding)); - final String[] localVarAccepts = {"application/json"}; final String localVarAccept = ApiClient.selectHeaderAccept(localVarAccepts); final String[] localVarContentTypes = {"application/json"}; @@ -128,35 +121,6 @@ public PredictResponsePayload predict( localVarReturnType); } - /** - * Make in-context predictions for specified target columns based on provided table data JSON - * (optionally gzip-compressed). - * - *

Make in-context predictions for specified target columns. Either \"rows\" or - * \"columns\" must be provided and must contain both context and query rows. You can - * optionally send gzip-compressed JSON payloads and set a \"Content-Encoding: gzip\" - * header. - * - *

200 - Successful Prediction - * - *

400 - Bad Request - Invalid input data - * - *

413 - Payload Too Large - * - *

422 - Validation Error - * - *

500 - Internal Server Error - * - * @param predictRequestPayload The value for the parameter predictRequestPayload - * @return PredictResponsePayload - * @throws OpenApiRequestException if an error occurs while attempting to invoke the API - */ - @Nonnull - public PredictResponsePayload predict(@Nonnull final PredictRequestPayload predictRequestPayload) - throws OpenApiRequestException { - return predict(predictRequestPayload, null); - } - /** * Make in-context predictions for specified target columns based on provided table data Parquet * file. diff --git a/foundation-models/sap-rpt/src/main/resources/spec/sap-rpt-1_openapi.json b/foundation-models/sap-rpt/src/main/resources/spec/sap-rpt-1_openapi.json index 38c725e3b..a047fb708 100644 --- a/foundation-models/sap-rpt/src/main/resources/spec/sap-rpt-1_openapi.json +++ b/foundation-models/sap-rpt/src/main/resources/spec/sap-rpt-1_openapi.json @@ -19,18 +19,6 @@ "summary": "Make in-context predictions for specified target columns based on provided table data JSON (optionally gzip-compressed).", "description": "Make in-context predictions for specified target columns.\nEither \"rows\" or \"columns\" must be provided and must contain both context and query rows.\nYou can optionally send gzip-compressed JSON payloads and set a \"Content-Encoding: gzip\" header.", "operationId": "predict", - "parameters": [ - { - "name": "Content-Encoding", - "in": "header", - "description": "Content encoding of the request body. Use 'gzip' for gzip-compressed payloads.", - "required": false, - "schema": { - "type": "string", - "enum": ["gzip"] - } - } - ], "requestBody": { "content": { "application/json": { diff --git a/foundation-models/sap-rpt/src/test/resources/mappings/predictColumnWise.json b/foundation-models/sap-rpt/src/test/resources/mappings/predictColumnWise.json index b04f39fb9..5e6b63aa0 100644 --- a/foundation-models/sap-rpt/src/test/resources/mappings/predictColumnWise.json +++ b/foundation-models/sap-rpt/src/test/resources/mappings/predictColumnWise.json @@ -2,6 +2,11 @@ "request": { "method": "POST", "url": "/predict", + "headers": { + "Content-Encoding": { + "equalTo": "gzip" + } + }, "bodyPatterns": [ { "equalToJson": { diff --git a/foundation-models/sap-rpt/src/test/resources/mappings/predictRowWise.json b/foundation-models/sap-rpt/src/test/resources/mappings/predictRowWise.json index 9d97f1f84..a829a5c22 100644 --- a/foundation-models/sap-rpt/src/test/resources/mappings/predictRowWise.json +++ b/foundation-models/sap-rpt/src/test/resources/mappings/predictRowWise.json @@ -2,6 +2,11 @@ "request": { "method": "POST", "url": "/predict", + "headers": { + "Content-Encoding": { + "equalTo": "gzip" + } + }, "bodyPatterns": [ { "equalToJson": {