创建已训练模型定义部分 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",
    definition="...",
    total_definition_length=265632637,
    total_parts=64,
)
print(resp)
const response = await client.ml.putTrainedModelDefinitionPart({
  model_id: "elastic__distilbert-base-uncased-finetuned-conll03-english",
  part: 0,
  definition: "...",
  total_definition_length: 265632637,
  total_parts: 64,
});
console.log(response);
PUT _ml/trained_models/elastic__distilbert-base-uncased-finetuned-conll03-english/definition/0
{
    "definition": "...",
    "total_definition_length": 265632637,
    "total_parts": 64
}

API 返回以下结果

{
    "acknowledged": true
}