# 外部モデルのカスタムモデルプロキシを作成

> 外部モデルのカスタムモデルプロキシを作成 - カスタムモデルワークショップで外部モデル用のカスタムモデルプロキシを作成します。

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.921953+00:00` (UTC).

## Primary page

- [外部モデルのカスタムモデルプロキシを作成](https://docs.datarobot.com/ja/docs/classic-ui/mlops/deployment/custom-models/custom-model-workshop/ext-model-proxy.html.md): Full documentation for this topic (Markdown sidecar).

## Sections on this page

- [プロキシコードを追加](https://docs.datarobot.com/ja/docs/classic-ui/mlops/deployment/custom-models/custom-model-workshop/ext-model-proxy.html.md#add-proxy-code): In-page section heading.
- [プロキシモデルの作成](https://docs.datarobot.com/ja/docs/classic-ui/mlops/deployment/custom-models/custom-model-workshop/ext-model-proxy.html.md#create-a-proxy-model): In-page section heading.

## Documentation content

外部モデルのプロキシとしてカスタムモデルを作成するには、新しいプロキシモデルを [カスタムモデルワークショップ](https://docs.datarobot.com/ja/docs/classic-ui/mlops/deployment/custom-models/custom-model-workshop/index.html.md) に追加します。 プロキシモデルには、外部モデルと接続するために作成されたプロキシコードが含まれており、DataRobotの外部のインフラストラクチャで動作するモデルで [コンプライアンスドキュメント](https://docs.datarobot.com/ja/docs/classic-ui/mlops/deployment/registry/reg-compliance.html.md) 、 [チャレンジャー分析](https://docs.datarobot.com/ja/docs/api/dev-learning/python/mlops/challengers.html.md) 、 [カスタムモデルテスト](https://docs.datarobot.com/ja/docs/classic-ui/mlops/deployment/custom-models/custom-model-workshop/custom-model-test.html.md) などの機能を利用できます。

プロキシモデルを作成するには、次の操作を行います。

1. （オプション）モデルメタデータ（model-metadata.yaml）を介してカスタムモデルにランタイムパラメーターを追加します。
2. カスタムモデルファイル（custom.py）を使用して、カスタムモデルにプロキシコードを追加します。
3. カスタムモデルワークショップでプロキシモデルを作成します。

## プロキシコードを追加

外部モデルのプロキシとして作成するカスタムモデルでは、 [プロキシモデル](https://docs.datarobot.com/ja/docs/classic-ui/mlops/deployment/custom-models/custom-model-workshop/ext-model-proxy.html.md#create-a-proxy-model) と外部でホストされたモデルを接続するためのカスタムコードを `custom.py` ファイルに含める必要があります。このコードが プロキシコード です。 カスタムモデルコードの記述の詳細については、 [カスタムモデル構築](https://docs.datarobot.com/ja/docs/api/code-first-tools/drum/index.html.md) のドキュメントを参照してください。

`custom.py` ファイル内のプロキシコードは、次のことを行う必要があります。

- 必要なモジュールと、オプションでランタイムパラメーターをmodel-metadata.yamlからインポートします。
- HTTPS接続または外部モデルで必要とされるネットワークプロトコルを介して、カスタムモデルを外部モデルに接続します。
- 予測をリクエストし、必要に応じて予測データを変換します。

プロキシコードの再利用を簡素化するために、 `model-metadata.yaml` ファイルのモデルメタデータによって [ランタイムパラメーター](https://docs.datarobot.com/ja/docs/api/code-first-tools/drum/custom-model-runtime-parameters.html.md) を追加できます。

```
# model-metadata.yaml
name: runtime-parameter-example
type: inference
targetType: regression
runtimeParameterDefinitions:
- fieldName: endpoint
  type: string
  description: The name of the endpoint.
- fieldName: API_KEY
  type: credential
  description: The HTTP basic credential containing the endpoint's API key in the password field (the username field is ignored). 
```

モデルメタデータでランタイムパラメーターを定義した場合、それらを `custom.py` ファイルにインポートしてプロキシコードで使用できます。 これらのパラメーターをインポートした後、それらをプロキシコードの変数に割り当てることができます。 これにより、外部モデルに接続して予測データを取得する予測リクエストを作成できます。 次の例では、 `custom.py` ファイルの基本構造の概要を説明します。

```
# custom.py
# Import modules required to make a prediction request.
import json
import ssl
import urllib.request
import pandas as pd
# Import SimpleNamespace to create an object to store runtime parameter variables.
from types import SimpleNamespace
# Import RuntimeParameters to use the runtime parameters set in the model metadata.
from datarobot_drum import RuntimeParameters

# Override the default load_model hook to read the runtime parameters.
def load_model(code_dir):
    # Assign runtime parameters to variables.
    api_key = RuntimeParameters.get("API_KEY")["password"]
    endpoint = RuntimeParameters.get("endpoint")

    # Create scoring endpoint URL.
    url = f"https://{endpoint}.example.com/score"

    # Return an object containing the variables necessary to make a prediction request.
    return SimpleNamespace(**locals())

# Write proxy code to request and convert scoring data from the external model.
def score(data, model, **kwargs):
    # Call make_remote_prediction_request.
    # Convert prediction data as necessary.

def make_remote_prediction_request(payload, url, api_key):
    # Connect to the scoring endpoint URL.
    # Request predictions from the external model. 
```

## プロキシモデルの作成

外部モデルのプロキシとしてカスタムモデルを作成するには、新しいプロキシモデルを [カスタムモデルワークショップ](https://docs.datarobot.com/ja/docs/classic-ui/mlops/deployment/custom-models/custom-model-workshop/index.html.md) に追加します。 プロキシモデルには、外部モデルに接続するために作成したプロキシコードが含まれており、DataRobotの外部インフラストラクチャで実行されているモデルで [コンプライアンスドキュメント](https://docs.datarobot.com/ja/docs/classic-ui/mlops/deployment/registry/reg-compliance.html.md) 、 [チャレンジャー分析](https://docs.datarobot.com/ja/docs/api/dev-learning/python/mlops/challengers.html.md) 、 [カスタムモデルテスト](https://docs.datarobot.com/ja/docs/classic-ui/mlops/deployment/custom-models/custom-model-workshop/custom-model-test.html.md) などの機能を使用できます。

カスタムモデルワークショップを介してプロキシモデルを追加するには：

1. モデルレジストリ > カスタムモデルワークショップをクリックします。
2. モデルタブで、+新しいモデルを追加をクリックします。
3. カスタム推論モデルを追加ダイアログボックスで、プロキシを選択してから、モデル情報を追加します。 フィールド説明モデル名カスタムモデルに名前を付けます。ターゲットタイプ/ターゲット名ターゲットのタイプ（二値分類、連続値、多クラス分類、異常検知、またはテキスト生成（プレミアム機能））を選択し、ターゲット特徴量の名前を入力します。正のクラスのラベル/負のクラスのラベルこれらのフィールドは、二値分類モデルに対してのみ表示されます。 正のクラスのラベルとして使用する値と負のクラスのラベルとして使用する値を指定します。多クラス分類モデルの場合、これらのフィールドは、.csvまたは.txtの形式でターゲットクラスを入力またはアップロードするフィールドで置き換えられます。
4. オプションフィールドを表示をクリックし、必要に応じて、予測しきい値、モデルの構築に使用したコーディング言語、および説明を入力します。
5. フィールドに入力したら、カスタムモデルを追加をクリックします。
6. アセンブルタブの右側のモデル環境で、右側の基本環境ドロップダウンメニューをクリックして環境を選択し、モデル環境を選択します。 モデル環境は、カスタムモデルのテストとデプロイに使用されます。 備考基本環境プルダウンメニューにはドロップインモデル環境（存在する場合）と、作成可能なカスタム環境が含まれています。
7. 左側のモデルでファイルをドラッグアンドドロップするか参照して、プロキシモデルのコンテンツを追加します。 または、リモート統合リポジトリを選択します。 ローカルファイルを参照をクリックすると、ローカルフォルダーを追加するオプションが表示されます。 ローカルフォルダーは、モデル自体ではなく、モデルに必要な依存ファイルおよび追加のアセット用です。 モデルファイルがフォルダーに含まれている場合でも、ファイルがルートレベルに存在しない限り、DataRobotからモデルファイルにアクセスすることはできません。 ルートにあるファイルは、フォルダー内の依存関係を指定することができます。 備考また、モデル要件とstart_server.shファイルをモデルのフォルダーにアップロードする必要があります（モデルとドロップイン環境を組み合わせる場合を除く）。
8. アセンブルタブで、リソース設定の横にある編集アイコン（）をクリックして、プロキシモデルに必要なネットワークアクセスをアクティブ化します。
9. モデルメタデータでランタイムパラメーターを提供する場合、環境を構築し、新しいバージョンを作成すると、ランタイムパラメーターのアセンブルタブでパラメーターを設定できます。
10. 最後に、カスタムモデルを登録して、コンプライアンスドキュメントの生成に使用できるプロキシモデルを作成できます。 その後、プロキシモデルをデプロイして、外部モデルでチャレンジャー分析を設定し、カスタムモデルテストを実行できます。
