All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.google.api.services.retail.v2.model.GoogleCloudRetailV2PredictRequest Maven / Gradle / Ivy

The newest version!
/*
 * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except
 * in compliance with the License. You may obtain a copy of the License at
 *
 * http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software distributed under the License
 * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
 * or implied. See the License for the specific language governing permissions and limitations under
 * the License.
 */
/*
 * This code was generated by https://github.com/googleapis/google-api-java-client-services/
 * Modify at your own risk.
 */

package com.google.api.services.retail.v2.model;

/**
 * Request message for Predict method.
 *
 * 

This is the Java data model class that specifies how to parse/serialize into the JSON that is * transmitted over HTTP when working with the Vertex AI Search for Retail API. For a detailed * explanation see: * https://developers.google.com/api-client-library/java/google-http-java-client/json *

* * @author Google, Inc. */ @SuppressWarnings("javadoc") public final class GoogleCloudRetailV2PredictRequest extends com.google.api.client.json.GenericJson { /** * Filter for restricting prediction results with a length limit of 5,000 characters. Accepts * values for tags and the `filterOutOfStockItems` flag. * Tag expressions. Restricts predictions * to products that match all of the specified tags. Boolean operators `OR` and `NOT` are * supported if the expression is enclosed in parentheses, and must be separated from the tag * values by a space. `-"tagA"` is also supported and is equivalent to `NOT "tagA"`. Tag values * must be double quoted UTF-8 encoded strings with a size limit of 1,000 characters. Note: * "Recently viewed" models don't support tag filtering at the moment. * filterOutOfStockItems. * Restricts predictions to products that do not have a stockState value of OUT_OF_STOCK. * Examples: * tag=("Red" OR "Blue") tag="New-Arrival" tag=(NOT "promotional") * * filterOutOfStockItems tag=(-"promotional") * filterOutOfStockItems If your filter blocks all * prediction results, the API will return *no* results. If instead you want empty result sets to * return generic (unfiltered) popular products, set `strictFiltering` to False in * `PredictRequest.params`. Note that the API will never return items with storageStatus of * "EXPIRED" or "DELETED" regardless of filter choices. If `filterSyntaxV2` is set to true under * the `params` field, then attribute-based expressions are expected instead of the above * described tag-based syntax. Examples: * (colors: ANY("Red", "Blue")) AND NOT (categories: * ANY("Phones")) * (availability: ANY("IN_STOCK")) AND (colors: ANY("Red") OR categories: * ANY("Phones")) For more information, see [Filter * recommendations](https://cloud.google.com/retail/docs/filter-recs). * The value may be {@code null}. */ @com.google.api.client.util.Key private java.lang.String filter; /** * The labels applied to a resource must meet the following requirements: * Each resource can have * multiple labels, up to a maximum of 64. * Each label must be a key-value pair. * Keys have a * minimum length of 1 character and a maximum length of 63 characters and cannot be empty. Values * can be empty and have a maximum length of 63 characters. * Keys and values can contain only * lowercase letters, numeric characters, underscores, and dashes. All characters must use UTF-8 * encoding, and international characters are allowed. * The key portion of a label must be * unique. However, you can use the same key with multiple resources. * Keys must start with a * lowercase letter or international character. See [Google Cloud * Document](https://cloud.google.com/resource-manager/docs/creating-managing-labels#requirements) * for more details. * The value may be {@code null}. */ @com.google.api.client.util.Key private java.util.Map labels; /** * Maximum number of results to return. Set this property to the number of prediction results * needed. If zero, the service will choose a reasonable default. The maximum allowed value is * 100. Values above 100 will be coerced to 100. * The value may be {@code null}. */ @com.google.api.client.util.Key private java.lang.Integer pageSize; /** * This field is not used; leave it unset. * The value may be {@code null}. */ @com.google.api.client.util.Key private java.lang.String pageToken; /** * Additional domain specific parameters for the predictions. Allowed values: * `returnProduct`: * Boolean. If set to true, the associated product object will be returned in the * `results.metadata` field in the prediction response. * `returnScore`: Boolean. If set to true, * the prediction 'score' corresponding to each returned product will be set in the * `results.metadata` field in the prediction response. The given 'score' indicates the * probability of a product being clicked/purchased given the user's context and history. * * `strictFiltering`: Boolean. True by default. If set to false, the service will return generic * (unfiltered) popular products instead of empty if your filter blocks all prediction results. * * `priceRerankLevel`: String. Default empty. If set to be non-empty, then it needs to be one of * {'no-price-reranking', 'low-price-reranking', 'medium-price-reranking', 'high-price- * reranking'}. This gives request-level control and adjusts prediction results based on product * price. * `diversityLevel`: String. Default empty. If set to be non-empty, then it needs to be * one of {'no-diversity', 'low-diversity', 'medium-diversity', 'high-diversity', 'auto- * diversity'}. This gives request-level control and adjusts prediction results based on product * category. * `filterSyntaxV2`: Boolean. False by default. If set to true, the `filter` field is * interpreteted according to the new, attribute-based syntax. * The value may be {@code null}. */ @com.google.api.client.util.Key private java.util.Map params; /** * Required. Context about the user, what they are looking at and what action they took to trigger * the predict request. Note that this user event detail won't be ingested to userEvent logs. * Thus, a separate userEvent write request is required for event logging. Don't set * UserEvent.visitor_id or UserInfo.user_id to the same fixed ID for different users. If you are * trying to receive non-personalized recommendations (not recommended; this can negatively impact * model performance), instead set UserEvent.visitor_id to a random unique ID and leave * UserInfo.user_id unset. * The value may be {@code null}. */ @com.google.api.client.util.Key private GoogleCloudRetailV2UserEvent userEvent; /** * Use validate only mode for this prediction query. If set to true, a dummy model will be used * that returns arbitrary products. Note that the validate only mode should only be used for * testing the API, or if the model is not ready. * The value may be {@code null}. */ @com.google.api.client.util.Key private java.lang.Boolean validateOnly; /** * Filter for restricting prediction results with a length limit of 5,000 characters. Accepts * values for tags and the `filterOutOfStockItems` flag. * Tag expressions. Restricts predictions * to products that match all of the specified tags. Boolean operators `OR` and `NOT` are * supported if the expression is enclosed in parentheses, and must be separated from the tag * values by a space. `-"tagA"` is also supported and is equivalent to `NOT "tagA"`. Tag values * must be double quoted UTF-8 encoded strings with a size limit of 1,000 characters. Note: * "Recently viewed" models don't support tag filtering at the moment. * filterOutOfStockItems. * Restricts predictions to products that do not have a stockState value of OUT_OF_STOCK. * Examples: * tag=("Red" OR "Blue") tag="New-Arrival" tag=(NOT "promotional") * * filterOutOfStockItems tag=(-"promotional") * filterOutOfStockItems If your filter blocks all * prediction results, the API will return *no* results. If instead you want empty result sets to * return generic (unfiltered) popular products, set `strictFiltering` to False in * `PredictRequest.params`. Note that the API will never return items with storageStatus of * "EXPIRED" or "DELETED" regardless of filter choices. If `filterSyntaxV2` is set to true under * the `params` field, then attribute-based expressions are expected instead of the above * described tag-based syntax. Examples: * (colors: ANY("Red", "Blue")) AND NOT (categories: * ANY("Phones")) * (availability: ANY("IN_STOCK")) AND (colors: ANY("Red") OR categories: * ANY("Phones")) For more information, see [Filter * recommendations](https://cloud.google.com/retail/docs/filter-recs). * @return value or {@code null} for none */ public java.lang.String getFilter() { return filter; } /** * Filter for restricting prediction results with a length limit of 5,000 characters. Accepts * values for tags and the `filterOutOfStockItems` flag. * Tag expressions. Restricts predictions * to products that match all of the specified tags. Boolean operators `OR` and `NOT` are * supported if the expression is enclosed in parentheses, and must be separated from the tag * values by a space. `-"tagA"` is also supported and is equivalent to `NOT "tagA"`. Tag values * must be double quoted UTF-8 encoded strings with a size limit of 1,000 characters. Note: * "Recently viewed" models don't support tag filtering at the moment. * filterOutOfStockItems. * Restricts predictions to products that do not have a stockState value of OUT_OF_STOCK. * Examples: * tag=("Red" OR "Blue") tag="New-Arrival" tag=(NOT "promotional") * * filterOutOfStockItems tag=(-"promotional") * filterOutOfStockItems If your filter blocks all * prediction results, the API will return *no* results. If instead you want empty result sets to * return generic (unfiltered) popular products, set `strictFiltering` to False in * `PredictRequest.params`. Note that the API will never return items with storageStatus of * "EXPIRED" or "DELETED" regardless of filter choices. If `filterSyntaxV2` is set to true under * the `params` field, then attribute-based expressions are expected instead of the above * described tag-based syntax. Examples: * (colors: ANY("Red", "Blue")) AND NOT (categories: * ANY("Phones")) * (availability: ANY("IN_STOCK")) AND (colors: ANY("Red") OR categories: * ANY("Phones")) For more information, see [Filter * recommendations](https://cloud.google.com/retail/docs/filter-recs). * @param filter filter or {@code null} for none */ public GoogleCloudRetailV2PredictRequest setFilter(java.lang.String filter) { this.filter = filter; return this; } /** * The labels applied to a resource must meet the following requirements: * Each resource can have * multiple labels, up to a maximum of 64. * Each label must be a key-value pair. * Keys have a * minimum length of 1 character and a maximum length of 63 characters and cannot be empty. Values * can be empty and have a maximum length of 63 characters. * Keys and values can contain only * lowercase letters, numeric characters, underscores, and dashes. All characters must use UTF-8 * encoding, and international characters are allowed. * The key portion of a label must be * unique. However, you can use the same key with multiple resources. * Keys must start with a * lowercase letter or international character. See [Google Cloud * Document](https://cloud.google.com/resource-manager/docs/creating-managing-labels#requirements) * for more details. * @return value or {@code null} for none */ public java.util.Map getLabels() { return labels; } /** * The labels applied to a resource must meet the following requirements: * Each resource can have * multiple labels, up to a maximum of 64. * Each label must be a key-value pair. * Keys have a * minimum length of 1 character and a maximum length of 63 characters and cannot be empty. Values * can be empty and have a maximum length of 63 characters. * Keys and values can contain only * lowercase letters, numeric characters, underscores, and dashes. All characters must use UTF-8 * encoding, and international characters are allowed. * The key portion of a label must be * unique. However, you can use the same key with multiple resources. * Keys must start with a * lowercase letter or international character. See [Google Cloud * Document](https://cloud.google.com/resource-manager/docs/creating-managing-labels#requirements) * for more details. * @param labels labels or {@code null} for none */ public GoogleCloudRetailV2PredictRequest setLabels(java.util.Map labels) { this.labels = labels; return this; } /** * Maximum number of results to return. Set this property to the number of prediction results * needed. If zero, the service will choose a reasonable default. The maximum allowed value is * 100. Values above 100 will be coerced to 100. * @return value or {@code null} for none */ public java.lang.Integer getPageSize() { return pageSize; } /** * Maximum number of results to return. Set this property to the number of prediction results * needed. If zero, the service will choose a reasonable default. The maximum allowed value is * 100. Values above 100 will be coerced to 100. * @param pageSize pageSize or {@code null} for none */ public GoogleCloudRetailV2PredictRequest setPageSize(java.lang.Integer pageSize) { this.pageSize = pageSize; return this; } /** * This field is not used; leave it unset. * @return value or {@code null} for none */ public java.lang.String getPageToken() { return pageToken; } /** * This field is not used; leave it unset. * @param pageToken pageToken or {@code null} for none */ public GoogleCloudRetailV2PredictRequest setPageToken(java.lang.String pageToken) { this.pageToken = pageToken; return this; } /** * Additional domain specific parameters for the predictions. Allowed values: * `returnProduct`: * Boolean. If set to true, the associated product object will be returned in the * `results.metadata` field in the prediction response. * `returnScore`: Boolean. If set to true, * the prediction 'score' corresponding to each returned product will be set in the * `results.metadata` field in the prediction response. The given 'score' indicates the * probability of a product being clicked/purchased given the user's context and history. * * `strictFiltering`: Boolean. True by default. If set to false, the service will return generic * (unfiltered) popular products instead of empty if your filter blocks all prediction results. * * `priceRerankLevel`: String. Default empty. If set to be non-empty, then it needs to be one of * {'no-price-reranking', 'low-price-reranking', 'medium-price-reranking', 'high-price- * reranking'}. This gives request-level control and adjusts prediction results based on product * price. * `diversityLevel`: String. Default empty. If set to be non-empty, then it needs to be * one of {'no-diversity', 'low-diversity', 'medium-diversity', 'high-diversity', 'auto- * diversity'}. This gives request-level control and adjusts prediction results based on product * category. * `filterSyntaxV2`: Boolean. False by default. If set to true, the `filter` field is * interpreteted according to the new, attribute-based syntax. * @return value or {@code null} for none */ public java.util.Map getParams() { return params; } /** * Additional domain specific parameters for the predictions. Allowed values: * `returnProduct`: * Boolean. If set to true, the associated product object will be returned in the * `results.metadata` field in the prediction response. * `returnScore`: Boolean. If set to true, * the prediction 'score' corresponding to each returned product will be set in the * `results.metadata` field in the prediction response. The given 'score' indicates the * probability of a product being clicked/purchased given the user's context and history. * * `strictFiltering`: Boolean. True by default. If set to false, the service will return generic * (unfiltered) popular products instead of empty if your filter blocks all prediction results. * * `priceRerankLevel`: String. Default empty. If set to be non-empty, then it needs to be one of * {'no-price-reranking', 'low-price-reranking', 'medium-price-reranking', 'high-price- * reranking'}. This gives request-level control and adjusts prediction results based on product * price. * `diversityLevel`: String. Default empty. If set to be non-empty, then it needs to be * one of {'no-diversity', 'low-diversity', 'medium-diversity', 'high-diversity', 'auto- * diversity'}. This gives request-level control and adjusts prediction results based on product * category. * `filterSyntaxV2`: Boolean. False by default. If set to true, the `filter` field is * interpreteted according to the new, attribute-based syntax. * @param params params or {@code null} for none */ public GoogleCloudRetailV2PredictRequest setParams(java.util.Map params) { this.params = params; return this; } /** * Required. Context about the user, what they are looking at and what action they took to trigger * the predict request. Note that this user event detail won't be ingested to userEvent logs. * Thus, a separate userEvent write request is required for event logging. Don't set * UserEvent.visitor_id or UserInfo.user_id to the same fixed ID for different users. If you are * trying to receive non-personalized recommendations (not recommended; this can negatively impact * model performance), instead set UserEvent.visitor_id to a random unique ID and leave * UserInfo.user_id unset. * @return value or {@code null} for none */ public GoogleCloudRetailV2UserEvent getUserEvent() { return userEvent; } /** * Required. Context about the user, what they are looking at and what action they took to trigger * the predict request. Note that this user event detail won't be ingested to userEvent logs. * Thus, a separate userEvent write request is required for event logging. Don't set * UserEvent.visitor_id or UserInfo.user_id to the same fixed ID for different users. If you are * trying to receive non-personalized recommendations (not recommended; this can negatively impact * model performance), instead set UserEvent.visitor_id to a random unique ID and leave * UserInfo.user_id unset. * @param userEvent userEvent or {@code null} for none */ public GoogleCloudRetailV2PredictRequest setUserEvent(GoogleCloudRetailV2UserEvent userEvent) { this.userEvent = userEvent; return this; } /** * Use validate only mode for this prediction query. If set to true, a dummy model will be used * that returns arbitrary products. Note that the validate only mode should only be used for * testing the API, or if the model is not ready. * @return value or {@code null} for none */ public java.lang.Boolean getValidateOnly() { return validateOnly; } /** * Use validate only mode for this prediction query. If set to true, a dummy model will be used * that returns arbitrary products. Note that the validate only mode should only be used for * testing the API, or if the model is not ready. * @param validateOnly validateOnly or {@code null} for none */ public GoogleCloudRetailV2PredictRequest setValidateOnly(java.lang.Boolean validateOnly) { this.validateOnly = validateOnly; return this; } @Override public GoogleCloudRetailV2PredictRequest set(String fieldName, Object value) { return (GoogleCloudRetailV2PredictRequest) super.set(fieldName, value); } @Override public GoogleCloudRetailV2PredictRequest clone() { return (GoogleCloudRetailV2PredictRequest) super.clone(); } }




© 2015 - 2025 Weber Informatics LLC | Privacy Policy