# DMMの環境設定

> DMMの環境設定 - DataRobotモデル指標ライブラリを使用して、カスタム指標を開発するための環境を設定します。

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

## Primary page

- [DMMの環境設定](https://docs.datarobot.com/ja/docs/api/code-first-tools/dr-model-metrics/dmm-environment-setup.html.md): Full documentation for this topic (Markdown sidecar).

## Sections on this page

- [環境の初期化](https://docs.datarobot.com/ja/docs/api/code-first-tools/dr-model-metrics/dmm-environment-setup.html.md#_1): In-page section heading.
- [save_to_csv()ユーティリティの使用](https://docs.datarobot.com/ja/docs/api/code-first-tools/dr-model-metrics/dmm-environment-setup.html.md#save_to_csv): In-page section heading.

## Documentation content

DataRobotモデル指標ライブラリ（DMM）を使用してカスタム指標を開発できる主なエコシステムは2つあります。

1. DataRobotアプリケーション内（ノートブックまたはスケジュールされたジョブを介して）。
2. ローカル開発環境。

> [!NOTE] 環境に関する注意事項
> Pythonモジュールのインストール：
> 
> DataRobotアプリケーションからDMMを実行する場合、エコシステムは必要なすべてのPythonモジュールで事前に設定されています。
> DMMをローカルで実行する場合は、
> dmm
> モジュールをインストールする必要があります。 これによりPython環境が自動的に更新され、必要なモジュールがすべて含まれます。
> 
> DMMパラメーターの設定：
> 
> DataRobotアプリケーション内からDMMを実行する場合、パラメーターは環境変数によって設定されます。
> DMMをローカルで実行する場合は、環境変数を設定するのではなく、引数で値を渡してこれらのパラメーターを設定することをお勧めします。

## 環境の初期化

`CustomMetricArgumentParser` クラスは標準の `argparser.ArgumentParser` をラップします。 このクラスは、環境から値を読み込んだり、通常の引数解析を行うための便利な関数を提供します。 `CustomMetricArgumentParser.parse_args()` が呼び出されると、欠損値をチェックします。

`log_manager` は、ロギングに役立つ一連の関数を提供します。 DMMライブラリとDataRobotパブリックAPIクライアントは、標準のPython `logging` プリミティブを使用します。 現在のレベルを含むログクラスの完全なリストは、 `get_log_levels()` を使用して見ることができます。 `initialize_loggers()` 関数は、すべてのロガーを初期化します。

```
2024-08-09 02:19:50 PM - dmm.data_source.datarobot_source - INFO - fetching the next predictions dataframe... 2024-07-15 00:00:00 - 2024-08-09 14:19:46.643722
2024-08-09 02:19:56 PM - urllib3.connectionpool - DEBUG - https://app.datarobot.com:443 "POST /api/v2/deployments/66a90a711zd81645df8c469c/predictionDataExports/ HTTP/1.1" 202 368 
```

次のスニペットは、前述のクラスを使用してランタイム環境を設定する方法を示しています。

```
import sys
from dmm import CustomMetricArgumentParser
from dmm.log_manager import initialize_loggers

parser = CustomMetricArgumentParser(description="My new custom metric")
parser.add_base_args()  # adds standard arguments
# Add more with standard ArgumentParser primitives, or some convenience functions such as add_environment_arg()

# Parse the program arguments (if any) to an argparse.Namespace.
args = parser.parse_args(sys.argv[1:])

# Initialize the logging based on the 'LOG' environment variable, or the --log option
initialize_loggers(args.log) 
```

標準/基本引数には、以下が含まれます。

| 引数 | 説明 |
| --- | --- |
| BASE_URL | パブリックAPIのURL。 |
| API_KEY | BASE_URLにあるサーバーへの認証に使用されるAPIトークン。 |
| DEPLOYMENT_ID | アプリケーションのデプロイID。 |
| CUSTOM_METRIC_ID | アプリケーションのカスタム指標ID。 |
| DRY_RUN | カスタム指標の結果をデプロイに報告するかどうかを示すフラグ。 DRY_RUNランタイムパラメーターを1に設定すると、実行はテストランであり、指標データは報告されません。 |
| START_TS | 指標計算の時間範囲の開始。 |
| END_TS | 指標計算の終了時間。 |
| MAX_ROWS | 処理する予測行の最大数。 |
| LOG | ロギングの初期化では、デフォルトですべてのdmmとWARNINGへのdatarobotモジュールに設定されます。 |

以下は `CustomMetricArgumentParser` を使用したヘルプの例です。

```
(model-runner) $ python3 custom.py --help
usage: custom.py [-h] [--api-key KEY] [--base-url URL] [--deployment-id ID] [--custom-metric-id ID] [--dry-run] [--start-ts TIMESTAMP] [--end-ts TIMESTAMP] [--max-rows ROWS] [--required] [--log [[NAME:]LEVEL ...]]

My new custom metric

optional arguments:
  -h, --help            show this help message and exit
  --api-key KEY         API key used to authenticate to server. Settable via 'API_KEY', required.
  --base-url URL        URL for server. Settable via 'BASE_URL' (default: https://staging.datarobot.com/api/v2), required.
  --deployment-id ID    Deployment ID. Settable via 'DEPLOYMENT_ID' (default: None), required.
  --custom-metric-id ID
                        Custom metric ID. Settable via 'CUSTOM_METRIC_ID' (default: None), required.
  --dry-run             Dry run. Settable via 'DRY_RUN' (default: False).
  --start-ts TIMESTAMP  Start timestamp. Settable with 'START_TS', or 'LAST_SUCCESSFUL_RUN_TS' (when not dry run). Default is 2024-08-08 14:27:55.493027
  --end-ts TIMESTAMP    End timestamp. Settable with 'END_TS' or 'CURRENT_RUN_TS'. Default is 2024-08-09 14:27:55.493044.
  --max-rows ROWS       Maximum number of rows. Settable via 'MAX_ROWS' (default: 100000).
  --required            List the required properties and exit.
  --log [[NAME:]LEVEL ...]
                        Logging level list. Settable via 'LOG' (default: WARNING).
(model-runner) $ 
```

## save_to_csv()ユーティリティの使用

開発中は、同じデータに対して何度もコードを実行し、変更が結果にどのように影響するかを確認するのが一般的です。 `save_to_csv()` ユーティリティを使用すると、結果をCSVファイルに保存できるので、同じデータで連続して実行した結果を比較することができます。
