# カスタムモデルコンポーネント

> カスタムモデルコンポーネント - カスタムモデルのサポートおよびカスタムモデルのファイルを構造化する方法を説明します。

This Markdown file sits beside the HTML page at the same path (with a `.md` suffix). It summarizes the topic and lists links for tools and LLM context.

Companion generated at `2026-07-15T05:55:44.598418+00:00` (UTC).

## Primary page

- [カスタムモデルコンポーネント](https://docs.datarobot.com/ja/docs/api/code-first-tools/drum/custom-model-components.html.md): Full documentation for this topic (Markdown sidecar).

## Sections on this page

- [モデルコンテンツ](https://docs.datarobot.com/ja/docs/api/code-first-tools/drum/custom-model-components.html.md#model-content): In-page section heading.
- [モデルコード](https://docs.datarobot.com/ja/docs/api/code-first-tools/drum/custom-model-components.html.md#model-code): In-page section heading.
- [モデルメタデータ](https://docs.datarobot.com/ja/docs/api/code-first-tools/drum/custom-model-components.html.md#model-metadata): In-page section heading.
- [モデル環境](https://docs.datarobot.com/ja/docs/api/code-first-tools/drum/custom-model-components.html.md#model-environment): In-page section heading.

## Documentation content

カスタムモデルを作成してアップロードするには、2つのコンポーネント、つまりモデルコンテンツと、そのモデルコンテンツが実行される環境を定義する必要があります。

- モデルコンテンツは、PythonまたはRで記述されたコードです。 DataRobotで正しく解析するには、コードは特定の条件に従う必要があります。 モデルアーティファクトの構造は、モデルで使用されるライブラリと一致する必要があります。 さらに、Python、R、およびJavaモデルに適切なカスタムフックを使用する必要があります。 （オプション）アップロードしてモデルのコードとともに使用するファイルを追加できます（たとえば、カスタムモデルにテキスト前処理が含まれている場合、別のファイルに辞書を追加したい場合があります）。
- モデル環境は、Dockerファイルと追加のファイルを使用して定義されます。この機能により、DataRobotはモデルが実行されるイメージを構築できます。 さまざまなビルトイン環境があります。ユーザーはLinuxパッケージをインストールする必要がある場合にのみ独自の環境を構築する必要があります。 詳細については、カスタムモデル環境に関するセクションを参照してください。

高レベルでは、これらのコンポーネントのあるカスタムモデルを定義するステップには以下が含まれます。

1. ローカル（コンピューター）でモデルコンテンツを定義してテストします。
2. （オプション）モデルを実行するコンテナ環境を作成します。
3. モデルコンテンツと環境（該当する場合）をDataRobotにアップロードします。

## モデルコンテンツ

カスタムモデルを定義するには、以下のテーブルにリストされているファイルを含むローカルフォルダーを作成します（詳細については表を参照してください）。

> [!TIP] ヒント
> 構築済みのカスタムモデルフォルダーのコンテンツが正しいことを確認するために、これらのファイルの例がGitHubの [DataRobotモデルテンプレートリポジトリ](https://github.com/datarobot/datarobot-user-models/tree/master/model_templates) にあります。

| ファイル | 説明 | 必須 |
| --- | --- | --- |
| モデルアーティファクトファイルまたはcustom.py/custom.Rファイル | モデルアーティファクトおよびカスタムコードファイルを提供します。 モデルアーティファクト：選択した環境言語に対応するファイル拡張子のあるシリアル化されたモデルアーティファクト。カスタムコード：DataRobotがコードを実行し、それを他の機能と統合できるようにするフック（または関数）で実装されたカスタム機能。 | はい |
| model-metadata.yaml | A file describing a model's metadata, including input/output data requirements and runtime parameters. ブループリントを構築してトレーニングする際にモデルを検証するために使用できるスキーマを供給できます。 スキーマを使用してカスタムモデルがサポートするか出力するかを指定できます。特定のデータ型個の値が欠如していますスパースデータ特定の列数 | カスタムモデルが非数値データを出力するときに必要です。 提供しない場合、デフォルトスキーマが使用されます。 |
| requirements.txt | 基本環境に追加するPythonまたはRパッケージのリスト。 このリストは、カスタムモデルで使用されるが、基本環境には含まれていないPythonまたはRパッケージをプレインストールします。 | いいえ |
| 追加ファイル | モデルで使用するその他のファイル（たとえば、custom.py内で使用するヘルパー関数を定義するファイル）。 | いいえ |

**requirements.txt Python 例:**
Pythonでは、バージョン（行に1つのパッケージ）でパッケージのリストを提供します。 例：

```
numpy>=1.16.0, <1.19.0
pandas==1.1.0
scikit-learn==0.23.1
lightgbm==3.0.0
gensim==3.8.3
sagemaker-scikit-learn-extension==1.1.0 
```

**requirements.txt R 例:**
Rでは、バージョン（行に1つのパッケージ）でパッケージのリストを提供します。 例：

```
dplyr
stats 
```


### モデルコード

DataRobotのフレームワークを使用してカスタムモデルを定義するには、カスタムモデルには、選択した環境言語に対応するモデルアーティファクト、 `custom.py` （Pythonモデルの場合）または `custom.R` （Rモデルの場合）ファイルのカスタムコード、またはその両方が含まれている必要があります。 （モデルアーティファクトなしで）カスタムコードのみを指定する場合は、 `load_model` フックを使用する必要があります。 フックは、カスタムモデルのライフサイクル内の特定の時間中に、カスタムモデルフレームワークによって呼び出される関数です。 以下のフックはカスタムコードで使用できます。

> [!WARNING] 必要なすべてのカスタムモデルコードをフックに含める
> カスタムモデルフックは、カスタムモデルに渡されるコールバックです。 カスタムモデルに必要なすべてのコードは、カスタムモデルフック内に存在する必要があります。カスタムモデルは、定義されたカスタムモデルフックの外部で提供されるコードにはアクセスできません。 また、これらのフックの入力引数は事前定義されているため、変更することはできません。

| フック（機能） | 非構造化 / 構造化 | 目的 |
| --- | --- | --- |
| init() | 両方 | モデルライブラリをロードしてモデルファイルを読み取り、モデル実行を初期化します。 このフックは、実行の開始時に1回だけ実行されます。 |
| load_model() | 両方 | 複数のアーティファクトからすべてのサポート対象オブジェクトとトレーニング済みオブジェクトをロードするか、DataRobotでネイティブにはサポートされていない形式でアーティファクトに保存されているトレーニング済みオブジェクトをロードします。 このフックは、実行の開始時に1回だけ実行されます。 |
| read_input_data() | 構造化 | モデルがデータを読み取る方法をカスタマイズします。例えば、エンコーディングや欠損値の処理などです。 |
| transform() | 構造化 | 変換されたデータを生成するために、カスタムのトランスフォーマーおよび推定器で使用されるロジックを定義します。 |
| score() | 構造化 | 予測を生成するカスタム推定器で使用するロジックを定義します。 |
| score_unstructured() | 非構造化 | カスタム推定器の出力を定義し、出力データに予測を返します。 変換モデルにこのフックは使用しないでください。 |
| chat() | 構造化 | Define a text generation custom model's handing of real-time chat completion requests. |
| get_supported_llm_models() | 構造化 | Define a text generation custom model's response to the OpenAI "List Models" API. |
| post_process() | 構造化 | モデルの予測に適用される後処理ステップを定義します。 |

> [!NOTE] カスタムモデルのフック実行順序
> それぞれのフックがカスタムモデルのライフサイクルステップを表すように、これらのフックは、リストされた順序で実行されます。

カスタムモデルのコードの定義に関する詳細については、 [構造化カスタムモデル](https://docs.datarobot.com/ja/docs/api/code-first-tools/drum/structured-custom-models.html.md) または [非構造化カスタムモデル](https://docs.datarobot.com/ja/docs/api/code-first-tools/drum/unstructured-custom-models.html.md) のフックを参照してください。

### モデルメタデータ

カスタムモデルの [メタデータと入力検証スキーマ](https://docs.datarobot.com/ja/docs/api/code-first-tools/drum/custom-model-metadata.html.md) を定義するには、 `model-metadata.yaml` ファイルを作成し、model/modelディレクトリのトップレベルに追加します。 このファイルでは、 `runtimeParameterDefinitions` による [ランタイムパラメーター](https://docs.datarobot.com/ja/docs/api/code-first-tools/drum/custom-model-runtime-parameters.html.md) など、カスタムモデルに関する追加情報を指定します。

## モデル環境

カスタムモデルが実行される環境を定義するための複数のオプションがあります。 以下を実行することが可能です。

- さまざまなドロップイン環境から選択します。
- モデルのrequirements.txtファイルでパッケージを指定して、欠損しているPythonパッケージまたはRパッケージを含めるようにドロップイン環境を変更します。 If provided, therequirements.txtfile must be uploaded together with thecustom.pyorcustom.Rfile in the model content. モデルコンテンツにサブフォルダーが含まれている場合、上部フォルダーに置く必要があります。
- Linuxパッケージをインストールする必要がある場合、カスタム環境を構築してください。 カスタムモデルを作成する場合、使用するカスタム環境にはモデルコンテンツとの互換性がある必要があります（モデルのランタイム環境が定義されます）。 互換性ガイドラインを確実に遵守するには：
- デフォルトでは、モデルのバージョンを作成するとき、選択された実行環境が変更されない場合、その実行環境のバージョンは、より新しい環境のバージョンが利用可能であっても、以前のカスタムモデルのバージョンから維持されます。 カスタムモデルのバージョンが最新バージョンの実行環境を使用するようにする方法の詳細については、基本実行環境の更新をトリガーするを参照してください。

**基本実行環境の更新をトリガーする**

[新しい環境バージョン](https://docs.datarobot.com/ja/docs/classic-ui/mlops/deployment/custom-models/custom-model-environments/custom-environments.html.md#add-an-environment-version) が使用可能であっても、実行環境バージョンがカスタムモデルバージョン間で保持される、実行環境バージョン選択の デフォルトの動作をオーバーライドする には、 基本環境 の設定を一時的に変更する必要があります。 これを行うには、別の 基本環境 設定を使用して新しいカスタムモデルバージョンを作成してから、目的の 基本環境 に切り替えて、新しいカスタムモデルバージョンを作成します。 この変更後、カスタムモデルの最新バージョンでは、実行環境の最新バージョンが使用されます。
