Data Configuration

To configure a data source, specify a mapping in the main RIME JSON configuration file in the data_params argument.

The data_params configuration can take on different forms, offering a tradeoff between simplicity and flexibility.

The “Register a reference dataset” step in Stress Tests walkthrough has an example of using this configuration in a data registry.

Default Data Configuration Template

{
    "connection_info": {...}
    "data_params": {
        "label_col": "",
        "pred_col": "",
        "timestamp_col": "",
        "class_names": [],
        "ranking_info":{
            "query_col":"",
            "nqueries": null,
            "nrows_per_query": null,
            "drop_query_id": null
        },

        "nrows": null,
        "nrows_per_time_bin": null,
        "sample": null,
        "categorical_features": null,
        "protected_features": null,
        "features_not_in_model": null,
        "text_features": null,
        "image_features": null,
        "features": null,
        "loading_kwargs": null,
        "feature_type_path": null,
        "pred_path": null,
        "image_load_path": null
    },
    ...
}

Parameters for the data_params object

General

Parameter Type Description
label_col String Naming of special columns.
pred_col String Column to look at for predictions.
timestamp_col String Column to look at for CT timestamp.
class_names Repeated String List of label class names.
ranking_info JSON object Contains parameters used for the ranking model task.
    query_col String Name of column in dataset that contains the query IDs.
    nqueries Optional int64 Number of queries to consider. Uses all queries when null.
    nrows_per_query Optional int64 Number of rows to use per query. Uses all rows when null.
    drop_query_id Optional Boolean Specifies whether to drop the query ID column from the dataset in order to prevent passing the query ID column to the model as a feature.

Dataset sizing

Parameter Type Description
nrows Optional int64 Number of rows of data to load and test. Loads all rows when null and sample is not specified. Infers the maximum number rows possible when null and sample is specified.
nrows_per_time_bin Optional int64 Number of rows of data per time bin to load and test in CT. Loads all rows when null.
sample Optional Boolean Specifies whether to sample rows in the data. Default is True.

Feature types and relations

Parameter Type Description
categorical_features Repeated String A list of categorical features.
protected_features Repeated String A list of features that are protected attributes. When the Bias and Fairness category is specified, these tests are only run over the listed features.
features_not_in_model Repeated String A list of features not present in the model.
text_features Repeated String A list of text features to run NLP tests over.
image_features Repeated String A list of image features to run CV tests over.

Feature intersections

Parameter Type Description
features Repeated String A list of features to run tabular tests over.

External resources

Parameter Type Description
loading_kwargs String Keyword arguments passed to the pandas loading function. Do not specify nrows here.
feature_type_path String Deprecated. Path to a CSV file that specifies the data type of each feature. The file must have two columns, FeatureName and FeatureType.
pred_path String Deprecated. Path to a CSV file or Parquet file that contains predictions.
image_load_path String Path to a python file that contains a load_image function defining custom logic for loading an image from the file path provided in the dataset.

Data Info template

The data_info format supports separately specifying a reference and evaluation dataset. Register your reference and evaluation datasets separately, then specify the unique IDs for each dataset in data_info.

{
    "data_info": {
        "ref_dataset_id": ...,
        "eval_dataset_id": ...,
    },
    ...
}

Arguments

Parameter Type Description
ref_dataset_id String Unique identifier of a reference dataset.
eval_dataset_id String Unique identifier of an evaluation dataset.

Single Data Info Templates

Use SingleDataInfo to specify reference and evaluation datasets in a split approach, as seen in the previous template. SingleDataInfo takes two elements, a connection_info object and a data_params object, detailed following this section.

All SingleDataInfo objects also take a set of parameters that enable you to specify additional data properties.

Continuous Testing requires that you specify a prediction set by setting a value for either the pred_col or pred_path variables.

{
    "connection_info": ...,
    "data_params": ...,
}

General Parameters for Single Data Info

Parameter Type Description
connection_info ConnectionInfo Path to a ConnectionInfo object.
data_params DataInfoParams

Connection Info template

Specifies how to connect to a data source. Specify exactly one of the parameters in the following table.

Parameter Type Description
data_file DataFileInfo Information required by RIME to load a data file.
data_loading DataLoadingInfo Loads a data file with additional parameters
data_collector DataCollectorInfo Loads a data stream from a data collector
delta_lake DeltaLakeInfo Loads a Delta Lake table.
hugging_face HuggingFaceDataInfo Loads a HuggingFace dataset.

File-based Single Data Info Template

Uses ConnectionInfo and DataInfoParams objects, which are discussed earlier in this section.

{
    "connection_info": {
        "data_file": {
            "path": ""
        }
    }
    "data_params": ...,
}

Data Collector Single Data Info Template

This can only be specified as part of a Continuous Testing configuration.

{
    "connection_info": {
        "data_collector": {
            "data_stream_id": null,
            "start_time": 0,
            "end_time": 0
        }
    },
    "data_params": {},
}
Parameter Type Description
data_stream_id rime.UUID The unique identifier assigned by RIME to a data stream.
start_time int64 The start time in seconds from the UNIX epoch.
end_time int64 The end time in seconds from the UNIX epoch.

Delta Lake Single Data Info Template

Loads a Delta Lake table.

{
    "connection_info": {
        "delta_lake_info": {
            "table_name": "Table",
            "start_time": "1970-01-01 00:00:01",
            "end_time": "1970-01-01 00:00:02",
            "time_col": "Updated",
        }
    },
    "data_params": {},
}
Parameter Type Description
table_name String The name of the Delta Lake table.
start_time int64 The start time in seconds from the UNIX epoch.
end_time int64 The end time in seconds from the UNIX epoch.
time_col string The name of the column that contains the timestamp of the last update.

HuggingFace Single Data Info Template

Specifies how to load a HuggingFace dataset.

{
    "connection_info": {
        "hugging_face": {
            "dataset_uri": "",
            "split_name": "",
            "loading_params_json": ""
        }
    },
    "data_params": {}
}
Parameter Type Description
dataset_uri String The unique identifier of the dataset.
split_name String The name of a predefined subset of data.
loading_params_json String A JSON serialized string that contains loading parameters.