Create a trained model

PUT /_ml/trained_models/{model_id}

Enable you to supply a trained model that is not created by data frame analytics.

Path parameters

  • model_id string Required

    The unique identifier of the trained model.

Query parameters

  • If set to true and a compressed_definition is provided, the request defers definition decompression and skips relevant validations.

  • Whether to wait for all child operations (e.g. model download) to complete.

application/json

Body Required

  • The compressed (GZipped and Base64 encoded) inference definition of the model. If compressed_definition is specified, then definition cannot be specified.

  • Hide definition attributes Show definition attributes object
  • A human-readable description of the inference trained model.

  • Inference configuration provided when storing the model config

    Hide inference_config attributes Show inference_config attributes object
    • Hide regression attributes Show regression attributes object
    • Hide classification attributes Show classification attributes object
      • Specifies the number of top class predictions to return. Defaults to 0.

      • Specifies the maximum number of feature importance values per document.

      • Specifies the type of the predicted field to write. Acceptable values are: string, number, boolean. When boolean is provided 1.0 is transformed to true and 0.0 to false.

      • The field that is added to incoming documents to contain the inference prediction. Defaults to predicted_value.

      • Specifies the field to which the top classes are written. Defaults to top_classes.

    • Hide text_classification attributes Show text_classification attributes object
      • Specifies the number of top class predictions to return. Defaults to 0.

      • Tokenization options stored in inference configuration

        Hide tokenization attributes Show tokenization attributes object
        • bert object
          Hide bert attributes Show bert attributes object
        • mpnet object
          Hide mpnet attributes Show mpnet attributes object
        • roberta object
          Hide roberta attributes Show roberta attributes object
      • The field that is added to incoming documents to contain the inference prediction. Defaults to predicted_value.

      • Classification labels to apply other than the stored labels. Must have the same deminsions as the default configured labels

    • Hide zero_shot_classification attributes Show zero_shot_classification attributes object
      • Tokenization options stored in inference configuration

        Hide tokenization attributes Show tokenization attributes object
        • bert object
          Hide bert attributes Show bert attributes object
        • mpnet object
          Hide mpnet attributes Show mpnet attributes object
        • roberta object
          Hide roberta attributes Show roberta attributes object
      • Hypothesis template used when tokenizing labels for prediction

      • classification_labels array[string] Required

        The zero shot classification labels indicating entailment, neutral, and contradiction Must contain exactly and only entailment, neutral, and contradiction

      • The field that is added to incoming documents to contain the inference prediction. Defaults to predicted_value.

      • Indicates if more than one true label exists.

      • labels array[string]

        The labels to predict.

    • Hide fill_mask attributes Show fill_mask attributes object
      • The string/token which will be removed from incoming documents and replaced with the inference prediction(s). In a response, this field contains the mask token for the specified model/tokenizer. Each model and tokenizer has a predefined mask token which cannot be changed. Thus, it is recommended not to set this value in requests. However, if this field is present in a request, its value must match the predefined value for that model/tokenizer, otherwise the request will fail.

      • Specifies the number of top class predictions to return. Defaults to 0.

      • Tokenization options stored in inference configuration

        Hide tokenization attributes Show tokenization attributes object
        • bert object
          Hide bert attributes Show bert attributes object
        • mpnet object
          Hide mpnet attributes Show mpnet attributes object
        • roberta object
          Hide roberta attributes Show roberta attributes object
      • The field that is added to incoming documents to contain the inference prediction. Defaults to predicted_value.

    • ner object
      Hide ner attributes Show ner attributes object
      • Tokenization options stored in inference configuration

        Hide tokenization attributes Show tokenization attributes object
        • bert object
          Hide bert attributes Show bert attributes object
        • mpnet object
          Hide mpnet attributes Show mpnet attributes object
        • roberta object
          Hide roberta attributes Show roberta attributes object
      • The field that is added to incoming documents to contain the inference prediction. Defaults to predicted_value.

      • The token classification labels. Must be IOB formatted tags

      • Hide vocabulary attribute Show vocabulary attribute object
    • Hide pass_through attributes Show pass_through attributes object
      • Tokenization options stored in inference configuration

        Hide tokenization attributes Show tokenization attributes object
        • bert object
          Hide bert attributes Show bert attributes object
        • mpnet object
          Hide mpnet attributes Show mpnet attributes object
        • roberta object
          Hide roberta attributes Show roberta attributes object
      • The field that is added to incoming documents to contain the inference prediction. Defaults to predicted_value.

      • Hide vocabulary attribute Show vocabulary attribute object
    • Hide text_embedding attributes Show text_embedding attributes object
      • The number of dimensions in the embedding output

      • Tokenization options stored in inference configuration

        Hide tokenization attributes Show tokenization attributes object
        • bert object
          Hide bert attributes Show bert attributes object
        • mpnet object
          Hide mpnet attributes Show mpnet attributes object
        • roberta object
          Hide roberta attributes Show roberta attributes object
      • The field that is added to incoming documents to contain the inference prediction. Defaults to predicted_value.

    • Hide text_expansion attributes Show text_expansion attributes object
      • Tokenization options stored in inference configuration

        Hide tokenization attributes Show tokenization attributes object
        • bert object
          Hide bert attributes Show bert attributes object
        • mpnet object
          Hide mpnet attributes Show mpnet attributes object
        • roberta object
          Hide roberta attributes Show roberta attributes object
      • The field that is added to incoming documents to contain the inference prediction. Defaults to predicted_value.

    • Hide question_answering attributes Show question_answering attributes object
      • Specifies the number of top class predictions to return. Defaults to 0.

      • Tokenization options stored in inference configuration

        Hide tokenization attributes Show tokenization attributes object
        • bert object
          Hide bert attributes Show bert attributes object
        • mpnet object
          Hide mpnet attributes Show mpnet attributes object
        • roberta object
          Hide roberta attributes Show roberta attributes object
      • The field that is added to incoming documents to contain the inference prediction. Defaults to predicted_value.

      • The maximum answer length to consider

  • input object
    Hide input attribute Show input attribute object
  • metadata object

    An object map that contains metadata about the model.

  • Values are tree_ensemble, lang_ident, or pytorch.

  • The estimated memory usage in bytes to keep the trained model in memory. This property is supported only if defer_definition_decompression is true or the model definition is not supplied.

  • The platform architecture (if applicable) of the trained mode. If the model only works on one platform, because it is heavily optimized for a particular processor architecture and OS combination, then this field specifies which. The format of the string must match the platform identifiers used by Elasticsearch, so one of, linux-x86_64, linux-aarch64, darwin-x86_64, darwin-aarch64, or windows-x86_64. For portable models (those that work independent of processor architecture or OS features), leave this field unset.

  • tags array[string]

    An array of tags to organize the model.

  • Hide prefix_strings attributes Show prefix_strings attributes object
    • ingest string

      String prepended to input at ingest

Responses

  • 200 application/json
    Hide response attributes Show response attributes object
    • model_id string Required
    • Values are tree_ensemble, lang_ident, or pytorch.

    • tags array[string] Required

      A comma delimited string of tags. A trained model can have many tags, or none.

    • version string
    • Information on the creator of the trained model.

    • create_time string | number

      A date and time, either as a string whose format can depend on the context (defaulting to ISO 8601), or a number of milliseconds since the Epoch. Elasticsearch accepts both as input, but will generally output a string representation.

    • Any field map described in the inference configuration takes precedence.

      Hide default_field_map attributes Show default_field_map attributes object
    • The free-text description of the trained model.

    • The estimated heap usage in bytes to keep the trained model in memory.

    • The estimated number of operations to use the trained model.

    • True if the full model definition is present.

    • Inference configuration provided when storing the model config

      Hide inference_config attributes Show inference_config attributes object
      • Hide regression attributes Show regression attributes object
      • Hide classification attributes Show classification attributes object
        • Specifies the number of top class predictions to return. Defaults to 0.

        • Specifies the maximum number of feature importance values per document.

        • Specifies the type of the predicted field to write. Acceptable values are: string, number, boolean. When boolean is provided 1.0 is transformed to true and 0.0 to false.

        • The field that is added to incoming documents to contain the inference prediction. Defaults to predicted_value.

        • Specifies the field to which the top classes are written. Defaults to top_classes.

      • Hide text_classification attributes Show text_classification attributes object
        • Specifies the number of top class predictions to return. Defaults to 0.

        • Tokenization options stored in inference configuration

          Hide tokenization attributes Show tokenization attributes object
          • bert object
            Hide bert attributes Show bert attributes object
          • mpnet object
            Hide mpnet attributes Show mpnet attributes object
          • roberta object
            Hide roberta attributes Show roberta attributes object
        • The field that is added to incoming documents to contain the inference prediction. Defaults to predicted_value.

        • Classification labels to apply other than the stored labels. Must have the same deminsions as the default configured labels

      • Hide zero_shot_classification attributes Show zero_shot_classification attributes object
        • Tokenization options stored in inference configuration

          Hide tokenization attributes Show tokenization attributes object
          • bert object
            Hide bert attributes Show bert attributes object
          • mpnet object
            Hide mpnet attributes Show mpnet attributes object
          • roberta object
            Hide roberta attributes Show roberta attributes object
        • Hypothesis template used when tokenizing labels for prediction

        • classification_labels array[string] Required

          The zero shot classification labels indicating entailment, neutral, and contradiction Must contain exactly and only entailment, neutral, and contradiction

        • The field that is added to incoming documents to contain the inference prediction. Defaults to predicted_value.

        • Indicates if more than one true label exists.

        • labels array[string]

          The labels to predict.

      • Hide fill_mask attributes Show fill_mask attributes object
        • The string/token which will be removed from incoming documents and replaced with the inference prediction(s). In a response, this field contains the mask token for the specified model/tokenizer. Each model and tokenizer has a predefined mask token which cannot be changed. Thus, it is recommended not to set this value in requests. However, if this field is present in a request, its value must match the predefined value for that model/tokenizer, otherwise the request will fail.

        • Specifies the number of top class predictions to return. Defaults to 0.

        • Tokenization options stored in inference configuration

          Hide tokenization attributes Show tokenization attributes object
          • bert object
            Hide bert attributes Show bert attributes object
          • mpnet object
            Hide mpnet attributes Show mpnet attributes object
          • roberta object
            Hide roberta attributes Show roberta attributes object
        • The field that is added to incoming documents to contain the inference prediction. Defaults to predicted_value.

      • ner object
        Hide ner attributes Show ner attributes object
        • Tokenization options stored in inference configuration

          Hide tokenization attributes Show tokenization attributes object
          • bert object
            Hide bert attributes Show bert attributes object
          • mpnet object
            Hide mpnet attributes Show mpnet attributes object
          • roberta object
            Hide roberta attributes Show roberta attributes object
        • The field that is added to incoming documents to contain the inference prediction. Defaults to predicted_value.

        • The token classification labels. Must be IOB formatted tags

        • Hide vocabulary attribute Show vocabulary attribute object
      • Hide pass_through attributes Show pass_through attributes object
        • Tokenization options stored in inference configuration

          Hide tokenization attributes Show tokenization attributes object
          • bert object
            Hide bert attributes Show bert attributes object
          • mpnet object
            Hide mpnet attributes Show mpnet attributes object
          • roberta object
            Hide roberta attributes Show roberta attributes object
        • The field that is added to incoming documents to contain the inference prediction. Defaults to predicted_value.

        • Hide vocabulary attribute Show vocabulary attribute object
      • Hide text_embedding attributes Show text_embedding attributes object
        • The number of dimensions in the embedding output

        • Tokenization options stored in inference configuration

          Hide tokenization attributes Show tokenization attributes object
          • bert object
            Hide bert attributes Show bert attributes object
          • mpnet object
            Hide mpnet attributes Show mpnet attributes object
          • roberta object
            Hide roberta attributes Show roberta attributes object
        • The field that is added to incoming documents to contain the inference prediction. Defaults to predicted_value.

      • Hide text_expansion attributes Show text_expansion attributes object
        • Tokenization options stored in inference configuration

          Hide tokenization attributes Show tokenization attributes object
          • bert object
            Hide bert attributes Show bert attributes object
          • mpnet object
            Hide mpnet attributes Show mpnet attributes object
          • roberta object
            Hide roberta attributes Show roberta attributes object
        • The field that is added to incoming documents to contain the inference prediction. Defaults to predicted_value.

      • Hide question_answering attributes Show question_answering attributes object
        • Specifies the number of top class predictions to return. Defaults to 0.

        • Tokenization options stored in inference configuration

          Hide tokenization attributes Show tokenization attributes object
          • bert object
            Hide bert attributes Show bert attributes object
          • mpnet object
            Hide mpnet attributes Show mpnet attributes object
          • roberta object
            Hide roberta attributes Show roberta attributes object
        • The field that is added to incoming documents to contain the inference prediction. Defaults to predicted_value.

        • The maximum answer length to consider

    • input object Required
      Hide input attribute Show input attribute object
      • field_names array[string] Required

        Path to field or array of paths. Some API's support wildcards in the path to select multiple fields.

    • The license level of the trained model.

    • metadata object
      Hide metadata attributes Show metadata attributes object
      • model_aliases array[string]
      • An object that contains the baseline for feature importance values. For regression analysis, it is a single value. For classification analysis, there is a value for each class.

        Hide feature_importance_baseline attributes Show feature_importance_baseline attributes object
      • hyperparameters array[object]

        List of the available hyperparameters optimized during the fine_parameter_tuning phase as well as specified by the user.

        Hide hyperparameters attributes Show hyperparameters attributes object
        • A positive number showing how much the parameter influences the variation of the loss function. For hyperparameters with values that are not specified by the user but tuned during hyperparameter optimization.

        • name string Required
        • A number between 0 and 1 showing the proportion of influence on the variation of the loss function among all tuned hyperparameters. For hyperparameters with values that are not specified by the user but tuned during hyperparameter optimization.

        • supplied boolean Required

          Indicates if the hyperparameter is specified by the user (true) or optimized (false).

        • value number Required

          The value of the hyperparameter, either optimized or specified by the user.

      • An array of the total feature importance for each feature used from the training data set. This array of objects is returned if data frame analytics trained the model and the request includes total_feature_importance in the include request parameter.

        Hide total_feature_importance attributes Show total_feature_importance attributes object
        • feature_name string Required
        • importance array[object] Required

          A collection of feature importance statistics related to the training data set for this particular feature.

          Hide importance attributes Show importance attributes object
          • mean_magnitude number Required

            The average magnitude of this feature across all the training data. This value is the average of the absolute values of the importance for this feature.

          • max number Required

            The maximum importance value across all the training data for this feature.

          • min number Required

            The minimum importance value across all the training data for this feature.

        • classes array[object] Required

          If the trained model is a classification model, feature importance statistics are gathered per target class value.

          Hide classes attributes Show classes attributes object
          • class_name string Required
          • importance array[object] Required

            A collection of feature importance statistics related to the training data set for this particular feature.

    • location object
      Hide location attribute Show location attribute object
      • index object Required
        Hide index attribute Show index attribute object
    • Hide prefix_strings attributes Show prefix_strings attributes object
      • ingest string

        String prepended to input at ingest

PUT /_ml/trained_models/{model_id}
curl \
 -X PUT http://api.example.com/_ml/trained_models/{model_id} \
 -H "Content-Type: application/json" \
 -d '{"compressed_definition":"string","definition":{"preprocessors":[{"frequency_encoding":{"field":"string","feature_name":"string","frequency_map":{"key":42.0}},"one_hot_encoding":{"field":"string","hot_map":{"key":"string"}},"target_mean_encoding":{"field":"string","feature_name":"string","target_map":{"key":42.0},"default_value":42.0}}],"trained_model":{"tree":{"classification_labels":["string"],"feature_names":["string"],"target_type":"string","tree_structure":[{"decision_type":"string","default_left":true,"leaf_value":42.0,"left_child":42.0,"node_index":42.0,"right_child":42.0,"split_feature":42.0,"split_gain":42.0,"threshold":42.0}]},"tree_node":{"decision_type":"string","default_left":true,"leaf_value":42.0,"left_child":42.0,"node_index":42.0,"right_child":42.0,"split_feature":42.0,"split_gain":42.0,"threshold":42.0},"ensemble":{"aggregate_output":{"logistic_regression":{"weights":42.0},"weighted_sum":{"weights":42.0},"weighted_mode":{"weights":42.0},"exponent":{"weights":42.0}},"classification_labels":["string"],"feature_names":["string"],"target_type":"string","trained_models":[{}]}}},"description":"string","inference_config":{"regression":{"results_field":"string","num_top_feature_importance_values":42.0},"classification":{"num_top_classes":42.0,"num_top_feature_importance_values":42.0,"prediction_field_type":"string","results_field":"string","top_classes_results_field":"string"},"text_classification":{"num_top_classes":42.0,"tokenization":{"bert":{"do_lower_case":true,"with_special_tokens":true,"max_sequence_length":42.0,"truncate":"first","span":42.0},"mpnet":{"do_lower_case":true,"with_special_tokens":true,"max_sequence_length":42.0,"truncate":"first","span":42.0},"roberta":{"add_prefix_space":true,"with_special_tokens":true,"max_sequence_length":42.0,"truncate":"first","span":42.0}},"results_field":"string","classification_labels":["string"]},"zero_shot_classification":{"tokenization":{"bert":{"do_lower_case":true,"with_special_tokens":true,"max_sequence_length":42.0,"truncate":"first","span":42.0},"mpnet":{"do_lower_case":true,"with_special_tokens":true,"max_sequence_length":42.0,"truncate":"first","span":42.0},"roberta":{"add_prefix_space":true,"with_special_tokens":true,"max_sequence_length":42.0,"truncate":"first","span":42.0}},"hypothesis_template":"string","classification_labels":["string"],"results_field":"string","multi_label":true,"labels":["string"]},"fill_mask":{"mask_token":"string","num_top_classes":42.0,"tokenization":{"bert":{"do_lower_case":true,"with_special_tokens":true,"max_sequence_length":42.0,"truncate":"first","span":42.0},"mpnet":{"do_lower_case":true,"with_special_tokens":true,"max_sequence_length":42.0,"truncate":"first","span":42.0},"roberta":{"add_prefix_space":true,"with_special_tokens":true,"max_sequence_length":42.0,"truncate":"first","span":42.0}},"results_field":"string"},"ner":{"tokenization":{"bert":{"do_lower_case":true,"with_special_tokens":true,"max_sequence_length":42.0,"truncate":"first","span":42.0},"mpnet":{"do_lower_case":true,"with_special_tokens":true,"max_sequence_length":42.0,"truncate":"first","span":42.0},"roberta":{"add_prefix_space":true,"with_special_tokens":true,"max_sequence_length":42.0,"truncate":"first","span":42.0}},"results_field":"string","classification_labels":["string"],"vocabulary":{"index":"string"}},"pass_through":{"tokenization":{"bert":{"do_lower_case":true,"with_special_tokens":true,"max_sequence_length":42.0,"truncate":"first","span":42.0},"mpnet":{"do_lower_case":true,"with_special_tokens":true,"max_sequence_length":42.0,"truncate":"first","span":42.0},"roberta":{"add_prefix_space":true,"with_special_tokens":true,"max_sequence_length":42.0,"truncate":"first","span":42.0}},"results_field":"string","vocabulary":{"index":"string"}},"text_embedding":{"embedding_size":42.0,"tokenization":{"bert":{"do_lower_case":true,"with_special_tokens":true,"max_sequence_length":42.0,"truncate":"first","span":42.0},"mpnet":{"do_lower_case":true,"with_special_tokens":true,"max_sequence_length":42.0,"truncate":"first","span":42.0},"roberta":{"add_prefix_space":true,"with_special_tokens":true,"max_sequence_length":42.0,"truncate":"first","span":42.0}},"results_field":"string"},"text_expansion":{"tokenization":{"bert":{"do_lower_case":true,"with_special_tokens":true,"max_sequence_length":42.0,"truncate":"first","span":42.0},"mpnet":{"do_lower_case":true,"with_special_tokens":true,"max_sequence_length":42.0,"truncate":"first","span":42.0},"roberta":{"add_prefix_space":true,"with_special_tokens":true,"max_sequence_length":42.0,"truncate":"first","span":42.0}},"results_field":"string"},"question_answering":{"num_top_classes":42.0,"tokenization":{"bert":{"do_lower_case":true,"with_special_tokens":true,"max_sequence_length":42.0,"truncate":"first","span":42.0},"mpnet":{"do_lower_case":true,"with_special_tokens":true,"max_sequence_length":42.0,"truncate":"first","span":42.0},"roberta":{"add_prefix_space":true,"with_special_tokens":true,"max_sequence_length":42.0,"truncate":"first","span":42.0}},"results_field":"string","max_answer_length":42.0}},"input":{"field_names":"string"},"metadata":{},"model_type":"tree_ensemble","model_size_bytes":42.0,"platform_architecture":"string","tags":["string"],"prefix_strings":{"ingest":"string","search":"string"}}'