How To
Documentation
    Learn More

      Machine Learning Stage

      Table of Contents

      The Machine Learning query pipeline stage uses a trained machine learning model to analyze a field or fields of a Request object and stores the results of analysis in a new field added to either the Request or the Context object.

      In order to use the Machine Learning Stage, you must train a machine learning model. There are two different ways to train a model:

      This stage requires that you use JavaScript to construct a model input object from the Request and/or Context. This JavaScript is defined in the "Model input transformation script" property. This script must construct a HashMap containing fields and values to be sent to the model. The field names and values will depend on the input schema of the model.

      Value types supported are:

      • String

      • Double

      • String[]

      • double[]

      • List<String>

      • List<Number>

      The JavaScript interpreter that executes the script will have the following variables available in scope:

      The last line of the script must be a reference to the HashMap object you created.

      Example 1: Single string parameter from request to modelInput HashMap
      var modelInput = new java.util.HashMap()
      modelInput.put("input_1", request.getFirstParam("q"))
      modelInput
      Example 2: List of strings from request to modelInput HashMap
      var modelInput = new java.util.HashMap()
      modelInput.put("input_1", request.getParam("q")) // request.getParam returns a Collection
      modelInput
      Example 3: List of numeric values from request to modelInput HashMap
      var modelInput = new java.util.HashMap()
      var list = new java.util.ArrayList()
      list.add(Double.parseDouble(request.getFirstParam("numeric_1")))
      list.add(Double.parseDouble(request.getFirstParam("numeric_2")))
      modelInput.put("input_1", list)
      modelInput

      Similarly, you will need to use JavaScript to store the predictions into the Request and/or Context from the model output object. The model output object is a HashMap containing fields and values produced by the model.

      The JavaScript interpreter that executes the script will have the following variables available in scope:

      Example: Place predictedLabel (string) on request
      request.putSingleParam("sentiment", modelOutput.get("predictedLabel"))

      When using Fusion's REST API, the ID for this stage is:ml-query.

      Loading liquid template...

      Loading configuration schema...