创建已训练模型定义部分 API编辑

创建已训练模型定义的一部分。

请求编辑

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

先决条件编辑

需要 manage_ml 集群权限。此权限包含在 machine_learning_admin 内置角色中。

路径参数编辑

<model_id>
(必填,字符串)已训练模型的唯一标识符。
<part>
(必填,数字)定义部分编号。加载定义以进行推理时,定义部分将按其 part_num 的顺序进行流式传输。第一部分必须为 0,最后一部分必须为 total_parts - 1

请求正文编辑

definition
(必填,字符串)模型的定义部分。必须是 base64 编码的字符串。
total_definition_length
(必填,数字)以字节为单位的总未压缩定义长度。未进行 base64 编码。
total_parts
(必填,数字)将要上传的总部分数。必须大于 0。

示例编辑

以下示例为先前存储的模型配置创建模型定义部分。定义部分存储在由 location.index.name 配置的索引中。

示例中省略了 definition 对象的值,因为它是一个非常大的 base64 编码字符串。

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
}

API 返回以下结果

{
    "acknowledged": true
}