Class v2beta.PredictionServiceClient (1.4.0)

Service for making recommendation prediction. v2beta

Package

@google-cloud/retail

Constructors

(constructor)(opts)

constructor(opts?: ClientOptions);

Construct an instance of PredictionServiceClient.

Parameter
NameDescription
opts ClientOptions

Properties

apiEndpoint

static get apiEndpoint(): string;

The DNS address for this API service - same as servicePath(), exists for compatibility reasons.

auth

auth: gax.GoogleAuth;

descriptors

descriptors: Descriptors;

innerApiCalls

innerApiCalls: {
        [name: string]: Function;
    };

pathTemplates

pathTemplates: {
        [name: string]: gax.PathTemplate;
    };

port

static get port(): number;

The port for this API service.

predictionServiceStub

predictionServiceStub?: Promise<{
        [name: string]: Function;
    }>;

scopes

static get scopes(): string[];

The scopes needed to make gRPC calls for every method defined in this service.

servicePath

static get servicePath(): string;

The DNS address for this API service.

warn

warn: (code: string, message: string, warnType?: string) => void;

Methods

catalogPath(project, location, catalog)

catalogPath(project: string, location: string, catalog: string): string;

Return a fully-qualified catalog resource name string.

Parameters
NameDescription
project string
location string
catalog string
Returns
TypeDescription
string

{string} Resource name string.

close()

close(): Promise<void>;

Terminate the gRPC channel and close the client.

The client will no longer be usable and all future behavior is undefined.

Returns
TypeDescription
Promise<void>

{Promise} A promise that resolves when the client is closed.

getProjectId()

getProjectId(): Promise<string>;
Returns
TypeDescription
Promise<string>

getProjectId(callback)

getProjectId(callback: Callback<string, undefined, undefined>): void;
Parameter
NameDescription
callback Callback<string, undefined, undefined>
Returns
TypeDescription
void

initialize()

initialize(): Promise<{
        [name: string]: Function;
    }>;

Initialize the client. Performs asynchronous operations (such as authentication) and prepares the client. This function will be called automatically when any class method is called for the first time, but if you need to initialize it before calling an actual method, feel free to call initialize() directly.

You can await on this method if you want to make sure the client is initialized.

Returns
TypeDescription
Promise<{ [name: string]: Function; }>

{Promise} A promise that resolves to an authenticated service stub.

matchBranchFromProductName(productName)

matchBranchFromProductName(productName: string): string | number;

Parse the branch from Product resource.

Parameter
NameDescription
productName string

A fully-qualified path representing Product resource.

Returns
TypeDescription
string | number

{string} A string representing the branch.

matchCatalogFromCatalogName(catalogName)

matchCatalogFromCatalogName(catalogName: string): string | number;

Parse the catalog from Catalog resource.

Parameter
NameDescription
catalogName string

A fully-qualified path representing Catalog resource.

Returns
TypeDescription
string | number

{string} A string representing the catalog.

matchCatalogFromProductName(productName)

matchCatalogFromProductName(productName: string): string | number;

Parse the catalog from Product resource.

Parameter
NameDescription
productName string

A fully-qualified path representing Product resource.

Returns
TypeDescription
string | number

{string} A string representing the catalog.

matchLocationFromCatalogName(catalogName)

matchLocationFromCatalogName(catalogName: string): string | number;

Parse the location from Catalog resource.

Parameter
NameDescription
catalogName string

A fully-qualified path representing Catalog resource.

Returns
TypeDescription
string | number

{string} A string representing the location.

matchLocationFromProductName(productName)

matchLocationFromProductName(productName: string): string | number;

Parse the location from Product resource.

Parameter
NameDescription
productName string

A fully-qualified path representing Product resource.

Returns
TypeDescription
string | number

{string} A string representing the location.

matchProductFromProductName(productName)

matchProductFromProductName(productName: string): string | number;

Parse the product from Product resource.

Parameter
NameDescription
productName string

A fully-qualified path representing Product resource.

Returns
TypeDescription
string | number

{string} A string representing the product.

matchProjectFromCatalogName(catalogName)

matchProjectFromCatalogName(catalogName: string): string | number;

Parse the project from Catalog resource.

Parameter
NameDescription
catalogName string

A fully-qualified path representing Catalog resource.

Returns
TypeDescription
string | number

{string} A string representing the project.

matchProjectFromProductName(productName)

matchProjectFromProductName(productName: string): string | number;

Parse the project from Product resource.

Parameter
NameDescription
productName string

A fully-qualified path representing Product resource.

Returns
TypeDescription
string | number

{string} A string representing the project.

predict(request, options)

predict(request?: protos.google.cloud.retail.v2beta.IPredictRequest, options?: CallOptions): Promise<[
        protos.google.cloud.retail.v2beta.IPredictResponse,
        protos.google.cloud.retail.v2beta.IPredictRequest | undefined,
        {} | undefined
    ]>;

Makes a recommendation prediction.

Parameters
NameDescription
request protos.google.cloud.retail.v2beta.IPredictRequest

The request object that will be sent.

options CallOptions

Call options. See CallOptions for more details.

Returns
TypeDescription
Promise<[ protos.google.cloud.retail.v2beta.IPredictResponse, protos.google.cloud.retail.v2beta.IPredictRequest | undefined, {} | undefined ]>

{Promise} - The promise which resolves to an array. The first element of the array is an object representing [PredictResponse]. Please see the [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods) for more details and examples.

Example

  /**
   * TODO(developer): Uncomment these variables before running the sample.
   */
  /**
   *  Required. Full resource name of the format:
   *  {name=projects/* /locations/global/catalogs/default_catalog/placements/*}
   *  The ID of the Recommendations AI placement. Before you can request
   *  predictions from your model, you must create at least one placement for it.
   *  For more information, see Managing
   *  placements (https://cloud.google.com/retail/recommendations-ai/docs/manage-placements).
   *  The full list of available placements can be seen at
   *  https://console.cloud.google.com/recommendation/catalogs/default_catalog/placements
   */
  // const placement = 'abc123'
  /**
   *  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.
   */
  // const userEvent = {}
  /**
   *  Maximum number of results to return per page. 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.
   */
  // const pageSize = 1234
  /**
   *  The previous PredictResponse.next_page_token.
   */
  // const pageToken = 'abc123'
  /**
   *  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, nothing will be returned. If
   *  you want generic (unfiltered) popular products to be returned instead, set
   *  `strictFiltering` to false in `PredictRequest.params`.
   */
  // const filter = 'abc123'
  /**
   *  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.
   */
  // const validateOnly = true
  /**
   *  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 an 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.
   */
  // const params = 1234
  /**
   *  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.
   */
  // const labels = 1234

  // Imports the Retail library
  const {PredictionServiceClient} = require('@google-cloud/retail').v2beta;

  // Instantiates a client
  const retailClient = new PredictionServiceClient();

  async function callPredict() {
    // Construct request
    const request = {
      placement,
      userEvent,
    };

    // Run request
    const response = await retailClient.predict(request);
    console.log(response);
  }

  callPredict();

predict(request, options, callback)

predict(request: protos.google.cloud.retail.v2beta.IPredictRequest, options: CallOptions, callback: Callback<protos.google.cloud.retail.v2beta.IPredictResponse, protos.google.cloud.retail.v2beta.IPredictRequest | null | undefined, {} | null | undefined>): void;
Parameters
NameDescription
request protos.google.cloud.retail.v2beta.IPredictRequest
options CallOptions
callback Callback<protos.google.cloud.retail.v2beta.IPredictResponse, protos.google.cloud.retail.v2beta.IPredictRequest | null | undefined, {} | null | undefined>
Returns
TypeDescription
void

predict(request, callback)

predict(request: protos.google.cloud.retail.v2beta.IPredictRequest, callback: Callback<protos.google.cloud.retail.v2beta.IPredictResponse, protos.google.cloud.retail.v2beta.IPredictRequest | null | undefined, {} | null | undefined>): void;
Parameters
NameDescription
request protos.google.cloud.retail.v2beta.IPredictRequest
callback Callback<protos.google.cloud.retail.v2beta.IPredictResponse, protos.google.cloud.retail.v2beta.IPredictRequest | null | undefined, {} | null | undefined>
Returns
TypeDescription
void

productPath(project, location, catalog, branch, product)

productPath(project: string, location: string, catalog: string, branch: string, product: string): string;

Return a fully-qualified product resource name string.

Parameters
NameDescription
project string
location string
catalog string
branch string
product string
Returns
TypeDescription
string

{string} Resource name string.