Create trained model definition part API

edit

Creates part of a trained model definition.

Request

edit

PUT _ml/trained_models/<model_id>/definition/<part_num>

Prerequisites

edit

Requires the manage_ml cluster privilege. This privilege is included in the machine_learning_admin built-in role.

Path parameters

edit
<model_id>
(Required, string) The unique identifier of the trained model.
<part>
(Required, number) The definition part number. When the definition is loaded for inference the definition parts will be streamed in order of their part_num. The first part must be 0 and the final part must be total_parts - 1.

Request body

edit
definition
(Required, string) The definition part for the model. Must be a base64 encoded string.
total_definition_length
(Required, number) The total uncompressed definition length in bytes. Not base64 encoded.
total_parts
(Required, number) The total number of parts that will be uploaded. Must be greater than 0.

Examples

edit

The following example creates a model definition part for a previously stored model configuration. The definition part is stored in the index that is configured by the location.index.name.

The value of the definition object is elided from the example as it is a very large base64 encoded string.

resp = client.ml.put_trained_model_definition_part(
    model_id="elastic__distilbert-base-uncased-finetuned-conll03-english",
    part="0",
    body={
        "definition": "...",
        "total_definition_length": 265632637,
        "total_parts": 64,
    },
)
print(resp)
PUT _ml/trained_models/elastic__distilbert-base-uncased-finetuned-conll03-english/definition/0
{
    "definition": "...",
    "total_definition_length": 265632637,
    "total_parts": 64
}

The API returns the following results:

{
    "acknowledged": true
}