Skip to content

Click in-app to access the full platform documentation for your version of DataRobot.

Runtime parameters for custom models

Availability information

Runtime parameters for custom models are off by default. Contact your DataRobot representative or administrator for information on enabling this feature.

Feature flag: Enable the Injection of Runtime Parameters for Custom Models

Now available as a public preview feature, you can add runtime parameters to a custom model through the model metadata, making your custom model code easier to reuse.

Define runtime parameters

To define runtime parameters, you can add the following runtimeParameterDefinitions in model-metadata.yaml:

Key Value
fieldName The name of the runtime parameter.
type The data type the runtime parameter contains:string or credential.
defaultValue (Optional) The default string value for the runtime parameter (the credential type doesn't support default values).
description (Optional) A descripton of the purpose or contents of the runtime parameter.


If you define a runtime parameter without specifying a defuaultValue, the default value is None.

Example: model-metadata.yaml
name: runtime-parameter-example
type: inference
targetType: regression

- 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
  credentialType: basic
  description: string
  name: string
  password: string
  user: string
  credentialType: azure
  description: string
  name: string
  azureConnectionString: string
  credentialType: gcp
  description: string
  name: string
  gcpKey: string
  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:

Example: .runtime-parameters.yaml
my_first_runtime_parameter: Hello, world.
runtime_parameter_with_default_value: Override the default value.
  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:

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

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")
            f"\tCredentials (type={credential_type}): "
            + str({k: mask(v) for k, v in credentials.items()})
        print("No credential data set")
    return data

View and edit runtime parameters in 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:

Updated March 21, 2023
Back to top