トレーニング済みモデル定義部分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エンコードされた文字列であるため、例から省略されています。

Python

  1. resp = client.ml.put_trained_model_definition_part(
  2. model_id="elastic__distilbert-base-uncased-finetuned-conll03-english",
  3. part="0",
  4. definition="...",
  5. total_definition_length=265632637,
  6. total_parts=64,
  7. )
  8. print(resp)

Js

  1. const response = await client.ml.putTrainedModelDefinitionPart({
  2. model_id: "elastic__distilbert-base-uncased-finetuned-conll03-english",
  3. part: 0,
  4. definition: "...",
  5. total_definition_length: 265632637,
  6. total_parts: 64,
  7. });
  8. console.log(response);

コンソール

  1. PUT _ml/trained_models/elastic__distilbert-base-uncased-finetuned-conll03-english/definition/0
  2. {
  3. "definition": "...",
  4. "total_definition_length": 265632637,
  5. "total_parts": 64
  6. }

APIは以下の結果を返します:

コンソール-結果

  1. {
  2. "acknowledged": true
  3. }