Runtime parameters for custom models¶
本機能の提供について
Runtime parameters for custom models are off by default. この機能を有効にする方法については、DataRobotの担当者または管理者にお問い合わせください。
Feature flag: Enable the Injection of Runtime Parameters for Custom Models
パブリックプレビュー版の機能です。モデルのメタデータを通じてカスタムモデルにランタイムパラメーターを追加でき、カスタムモデルのコードが再利用しやすくなりました
ランタイムパラメーターの定義¶
ランタイムパラメーターを定義するには、model-metadata.yaml
に以下の runtimeParameterDefinitions
を追加します。
キー | 値 |
---|---|
fieldName |
ランタイムパラメーターの名前 |
type |
ランタイムパラメーターに含まれるデータタイプ:string またはcredential |
defaultValue |
(オプション)ランタイムパラメーターのデフォルト文字列値(credentialタイプはデフォルト値をサポートしません) |
description |
(オプション)ランタイムパラメーターの目的または内容の説明 |
備考
If you define a runtime parameter without specifying a defuaultValue
, the default value is None
.
yaml title="Example: model-metadata.yaml"
name: runtime-parameter-example
type: inference
targetType: regression
runtimeParameterDefinitions:
- fieldName: my_first_runtime_parameter
type: string
description: My first runtime parameter.
- fieldName: runtime_parameter_with_default_value
type: string
defaultValue: Default
description: A runtime parameter with a default value.
- fieldName: runtime_parameter_for_credentials
type: credential
description: A runtime parameter containing a dictionary of credentials.
The credential
runtime parameter type supports any credentialType
value available in the DataRobot REST API. The credential information included depends on the credentialType
, as shown in the examples below:
備考
For more information on the supported credential types, see the API reference documentation for credentials.
Credential Type | Example |
---|---|
basic |
basic: credentialType: basic description: string name: string password: string user: string |
azure |
azure: credentialType: azure description: string name: string azureConnectionString: string |
gcp |
gcp: credentialType: gcp description: string name: string gcpKey: string |
s3 |
s3: credentialType: s3 description: string name: string awsAccessKeyId: string awsSecretAccessKey: string awsSessionToken: string |
Provide override values during local development¶
For local development with DRUM, you can specify a .yaml
file containing the values of the runtime parameters. The values defined here override the defaultValue
set in model-metadata.yaml
:
yaml title="Example: .runtime-parameters.yaml"
my_first_runtime_parameter: Hello, world.
runtime_parameter_with_default_value: Override the default value.
runtime_parameter_for_credentials:
credentialType: basic
name: credentials
password: password1
user: user1
When using DRUM, the new --runtime-params-file
option specifies the file containing the runtime parameter values:
sh title="Example: --runtime-params-file"
drum score --runtime-params-file .runtime-parameters.yaml --code-dir model_templates/python3_sklearn --target-type regression --input tests/testdata/juniors_3_year_stats_regression.csv
Import and use runtime parameters in custom code¶
To import and access runtime parameters, you can import the RuntimeParameters
module in your code in custom.py
:
py title="Example: custom.py"
from datarobot_drum import RuntimeParameters
def mask(value, visible=3):
return value[:visible] + ("*" * len(value[visible:]))
def transform(data, model):
print("Loading the following Runtime Parameters:")
parameter1 = RuntimeParameters.get("my_first_runtime_parameter")
parameter2 = RuntimeParameters.get("runtime_parameter_with_default_value")
print(f"\tParameter 1: {parameter1}")
print(f"\tParameter 2: {parameter2}")
credentials = RuntimeParameters.get("runtime_parameter_for_credentials")
if credentials is not None:
credential_type = credentials.pop("credentialType")
print(
f"\tCredentials (type={credential_type}): "
+ str({k: mask(v) for k, v in credentials.items()})
)
else:
print("No credential data set")
return data
DataRobotでのランタイムパラメーターの表示と編集¶
When you add a model-metadata.yaml
file with runtimeParameterDefinitions
to DataRobot while creating a custom model, the Runtime Parameters section appears on the Assemble tab for that custom model. After you build the environment and create a new version, you can click View and Edit to configure the parameters:
備考
Each change to a runtime parameter creates a new minor version of the custom model.
After you test a model with runtime parameters in the Custom Model Workshop, you can navigate to the Test > Runtime Parameters to view the model's parameters: