Constructor

PredictionServiceClient

new PredictionServiceClient(options)

Construct an instance of PredictionServiceClient.

Parameter

options

Optional

object

The configuration object. See the subsequent parameters for more details.

Values in options have the following properties:

Parameter

credentials

Optional

object

Credentials object.

credentials.client_email

Optional

string

credentials.private_key

Optional

string

email

Optional

string

Account email address. Required when using a .pem or .p12 keyFilename.

keyFilename

Optional

string

Full path to the a .json, .pem, or .p12 key downloaded from the Google Developers Console. If you provide a path to a JSON file, the projectId option below is not necessary. NOTE: .pem and .p12 require you to specify options.email as well.

port

Optional

number

The port on which to connect to the remote host.

projectId

Optional

string

The project ID from the Google Developer's Console, e.g. 'grape-spaceship-123'. We will also check the environment variable GCLOUD_PROJECT for your project ID. If your app is running in an environment which supports Application Default Credentials, your project ID will be detected automatically.

promise

Optional

function()

Custom promise module to use instead of native Promises.

servicePath

Optional

string

The domain name of the API remote host.

Properties

port

static

The port for this API service.

scopes

static

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

servicePath

static

The DNS address for this API service.

Methods

batchPredict

batchPredict(request, options, callback) returns Promise

Perform a batch prediction. Unlike the online Predict, batch prediction result won't be immediately available in the response. Instead, a long running operation object is returned. User can poll the operation result via GetOperation method. Once the operation is done, BatchPredictResult is returned in the response field. Available for following ML problems:

  • Video Classification
  • Text Extraction
  • Tables

Parameter

request

Object

The request object that will be sent.

Values in request have the following properties:

Parameter

name

string

Name of the model requested to serve the batch prediction.

inputConfig

Object

Required. The input configuration for batch prediction.

This object should have the same structure as BatchPredictInputConfig

outputConfig

Object

Required. The Configuration specifying where output predictions should be written.

This object should have the same structure as BatchPredictOutputConfig

params

Optional

Object with string properties

Additional domain-specific parameters for the predictions, any string must be up to 25000 characters long.

  • For Video Classification : score_threshold - (float) A value from 0.0 to 1.0. When the model
    makes predictions for a video, it will only produce results that
    have at least this confidence score. The default is 0.5.
    segment_classification - (boolean) Set to true to request
    segment-level classification. AutoML Video Intelligence returns
    labels and their confidence scores for the entire segment of the
    video that user specified in the request configuration.
    The default is "true".
    shot_classification - (boolean) Set to true to request shot-level
    classification. AutoML Video Intelligence determines the boundaries
    for each camera shot in the entire segment of the video that user
    specified in the request configuration. AutoML Video Intelligence
    then returns labels and their confidence scores for each detected
    shot, along with the start and end time of the shot.
    WARNING: Model evaluation is not done for this classification type,
    the quality of it depends on training data, but there are no metrics
    provided to describe that quality. The default is "false".
    1s_interval_classification - (boolean) Set to true to request
    classification for a video at one-second intervals. AutoML Video
    Intelligence returns labels and their confidence scores for each
    second of the entire segment of the video that user specified in the
    request configuration.
    WARNING: Model evaluation is not done for this classification
    type, the quality of it depends on training data, but there are no
    metrics provided to describe that quality. The default is
    "false".

options

Optional

Object

Optional parameters. You can override the default settings for this call, e.g, timeout, retries, paginations, etc. See gax.CallOptions for the details.

callback

Optional

function(nullable Error, nullable Object)

The function which will be called with the result of the API call.

The second parameter to the callback is a gax.Operation object.

Returns

Promise 

  • The promise which resolves to an array. The first element of the array is a gax.Operation object. The promise has a method named "cancel" which cancels the ongoing API call.

Example

const automl = require('@google-cloud/automl');

const client = new automl.v1beta1.PredictionServiceClient({
  // optional auth parameters.
});

const formattedName = client.modelPath('[PROJECT]', '[LOCATION]', '[MODEL]');
const inputConfig = {};
const outputConfig = {};
const request = {
  name: formattedName,
  inputConfig: inputConfig,
  outputConfig: outputConfig,
};

// Handle the operation using the promise pattern.
client.batchPredict(request)
  .then(responses => {
    const [operation, initialApiResponse] = responses;

    // Operation#promise starts polling for the completion of the LRO.
    return operation.promise();
  })
  .then(responses => {
    const result = responses[0];
    const metadata = responses[1];
    const finalApiResponse = responses[2];
  })
  .catch(err => {
    console.error(err);
  });

const formattedName = client.modelPath('[PROJECT]', '[LOCATION]', '[MODEL]');
const inputConfig = {};
const outputConfig = {};
const request = {
  name: formattedName,
  inputConfig: inputConfig,
  outputConfig: outputConfig,
};

// Handle the operation using the event emitter pattern.
client.batchPredict(request)
  .then(responses => {
    const [operation, initialApiResponse] = responses;

    // Adding a listener for the "complete" event starts polling for the
    // completion of the operation.
    operation.on('complete', (result, metadata, finalApiResponse) => {
      // doSomethingWith(result);
    });

    // Adding a listener for the "progress" event causes the callback to be
    // called on any change in metadata when the operation is polled.
    operation.on('progress', (metadata, apiResponse) => {
      // doSomethingWith(metadata)
    });

    // Adding a listener for the "error" event handles any errors found during polling.
    operation.on('error', err => {
      // throw(err);
    });
  })
  .catch(err => {
    console.error(err);
  });

const formattedName = client.modelPath('[PROJECT]', '[LOCATION]', '[MODEL]');
const inputConfig = {};
const outputConfig = {};
const request = {
  name: formattedName,
  inputConfig: inputConfig,
  outputConfig: outputConfig,
};

// Handle the operation using the await pattern.
const [operation] = await client.batchPredict(request);

const [response] = await operation.promise();

getProjectId

getProjectId(callback)

Return the project ID used by this class.

Parameter

callback

function(Error, string)

the callback to be called with the current project Id.

matchLocationFromModelName

matchLocationFromModelName(modelName) returns String

Parse the modelName from a model resource.

Parameter

modelName

String

A fully-qualified path representing a model resources.

Returns

String 

  • A string representing the location.

matchModelFromModelName

matchModelFromModelName(modelName) returns String

Parse the modelName from a model resource.

Parameter

modelName

String

A fully-qualified path representing a model resources.

Returns

String 

  • A string representing the model.

matchProjectFromModelName

matchProjectFromModelName(modelName) returns String

Parse the modelName from a model resource.

Parameter

modelName

String

A fully-qualified path representing a model resources.

Returns

String 

  • A string representing the project.

modelPath

modelPath(project, location, model) returns String

Return a fully-qualified model resource name string.

Parameter

project

String

location

String

model

String

Returns

String 

predict

predict(request, options, callback) returns Promise

Perform an online prediction. The prediction result will be directly returned in the response. Available for following ML problems, and their expected request payloads:

  • Image Classification - Image in .JPEG, .GIF or .PNG format, image_bytes
                       up to 30MB.
  • Image Object Detection - Image in .JPEG, .GIF or .PNG format, image_bytes
                         up to 30MB.
  • Text Classification - TextSnippet, content up to 10,000 characters,
                      UTF-8 encoded.
  • Text Extraction - TextSnippet, content up to 30,000 characters,
                  UTF-8 NFC encoded. * Translation - TextSnippet, content up to 25,000 characters, UTF-8
              encoded.
  • Tables - Row, with column values matching the columns of the model,
         up to 5MB.
  • Text Sentiment - TextSnippet, content up 500 characters, UTF-8 encoded.

Parameter

request

Object

The request object that will be sent.

Values in request have the following properties:

Parameter

name

string

Name of the model requested to serve the prediction.

payload

Object

Required. Payload to perform a prediction on. The payload must match the problem type that the model was trained to solve.

This object should have the same structure as ExamplePayload

params

Optional

Object with string properties

Additional domain-specific parameters, any string must be up to 25000 characters long.

  • For Image Classification:

    score_threshold - (float) A value from 0.0 to 1.0. When the model makes predictions for an image, it will only produce results that have at least this confidence score. The default is 0.5.

    • For Image Object Detection: score_threshold - (float) When Model detects objects on the image, it will only produce bounding boxes which have at least this confidence score. Value in 0 to 1 range, default is 0.5. max_bounding_box_count - (int64) No more than this number of bounding boxes will be returned in the response. Default is 100, the requested value may be limited by server.

options

Optional

Object

Optional parameters. You can override the default settings for this call, e.g, timeout, retries, paginations, etc. See gax.CallOptions for the details.

callback

Optional

function(nullable Error, nullable Object)

The function which will be called with the result of the API call.

The second parameter to the callback is an object representing PredictResponse.

Returns

Promise 

  • The promise which resolves to an array. The first element of the array is an object representing PredictResponse. The promise has a method named "cancel" which cancels the ongoing API call.

Example

const automl = require('@google-cloud/automl');

const client = new automl.v1beta1.PredictionServiceClient({
  // optional auth parameters.
});

const formattedName = client.modelPath('[PROJECT]', '[LOCATION]', '[MODEL]');
const payload = {};
const request = {
  name: formattedName,
  payload: payload,
};
client.predict(request)
  .then(responses => {
    const response = responses[0];
    // doThingsWith(response)
  })
  .catch(err => {
    console.error(err);
  });