[role="xpack"] [testenv="basic"] [[inference-processor]] === {infer-cap} Processor Uses a pre-trained {dfanalytics} model to infer against the data that is being ingested in the pipeline. [[inference-options]] .{infer-cap} Options [options="header"] |====== | Name | Required | Default | Description | `model_id` | yes | - | (String) The ID of the model to load and infer against. | `target_field` | no | `ml.inference.` | (String) Field added to incoming documents to contain results objects. | `field_mappings` | yes | - | (Object) Maps the document field names to the known field names of the model. | `inference_config` | yes | - | (Object) Contains the inference type and its options. There are two types: <> and <>. include::common-options.asciidoc[] |====== [source,js] -------------------------------------------------- { "inference": { "model_id": "flight_delay_regression-1571767128603", "target_field": "FlightDelayMin_prediction_infer", "field_mappings": {}, "inference_config": {"regression": {}}, "model_info_field": "ml" } } -------------------------------------------------- // NOTCONSOLE [discrete] [[inference-processor-regression-opt]] ==== {regression-cap} configuration options `results_field`:: (Optional, string) Specifies the field to which the inference prediction is written. Defaults to `predicted_value`. [discrete] [[inference-processor-classification-opt]] ==== {classification-cap} configuration options `results_field`:: (Optional, string) The field that is added to incoming documents to contain the inference prediction. Defaults to `predicted_value`. `num_top_classes`:: (Optional, integer) Specifies the number of top class predictions to return. Defaults to 0. `top_classes_results_field`:: (Optional, string) Specifies the field to which the top classes are written. Defaults to `top_classes`. [discrete] [[inference-processor-config-example]] ==== `inference_config` examples [source,js] -------------------------------------------------- { "inference_config": { “regression”: { “results_field”: “my_regression” } }, } -------------------------------------------------- // NOTCONSOLE This configuration specifies a `regression` inference and the results are written to the `my_regression` field contained in the `target_field` results object. [source,js] -------------------------------------------------- { "inference_config": { “classification”: { “num_top_classes”: 2, “results_field”: “prediction”, “top_classes_results_field”: “probabilities” } } } -------------------------------------------------- // NOTCONSOLE This configuration specifies a `classification` inference. The number of categories for which the predicted probabilities are reported is 2 (`num_top_classes`). The result is written to the `prediction` field and the top classes to the `probabilities` field. Both fields are contained in the `target_field` results object.