创建已训练模型词汇 API编辑

创建已训练模型词汇。这仅适用于自然语言处理 (NLP) 模型。

请求编辑

PUT _ml/trained_models/<model_id>/vocabulary/

先决条件编辑

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

描述编辑

词汇表存储在索引中,如已训练模型定义的 inference_config.*.vocabulary 中所述。

路径参数编辑

<model_id>
(必填,字符串)已训练模型的唯一标识符。

请求正文编辑

vocabulary
(数组)模型词汇表。不能为空。
merges
(可选,数组)字节对编码中使用的模型合并。合并必须是子标记对,以空格分隔,并按优先顺序排列。示例:["f o", "fo o"]。必须为 RoBERTa 和 BART 样式模型提供。
scores
(可选,数组)句子分词使用的词汇值分数。必须与 vocabulary 的长度相同。对于像 XLMRoberta 和 T5 这样的 unigram 句子分词模型是必需的。

示例编辑

以下示例显示如何为先前存储的已训练模型配置创建模型词汇表。

resp = client.ml.put_trained_model_vocabulary(
    model_id="elastic__distilbert-base-uncased-finetuned-conll03-english",
    body={"vocabulary": ["[PAD]", "[unused0]", ...]},
)
print(resp)
PUT _ml/trained_models/elastic__distilbert-base-uncased-finetuned-conll03-english/vocabulary
{
  "vocabulary": [
    "[PAD]",
    "[unused0]",
    ...
  ]
}

API 返回以下结果

{
    "acknowledged": true
}