yMetricConfig.metric(DatasetDriftMetric)]
    ),
)As can be seen in the example, there are two basic ways of adding metrics to your Evidently report step configuration:

to add a single metric or metric preset: call EvidentlyMetricConfig.metric with an Evidently metric or metric preset class name (or class path or class). The rest of the parameters are the same ones that you would usually pass to the Evidently metric or metric preset class constructor.

to generate multiple metrics, similar to calling the Evidently column metric generator: call EvidentlyMetricConfig.metric_generator with an Evidently metric or metric preset class name (or class path or class) and a list of column names. The rest of the parameters are the same ones that you would usually pass to the Evidently metric or metric preset class constructor.

The ZenML Evidently report step can then be inserted into your pipeline where it can take in two datasets and outputs the Evidently report generated in both JSON and HTML formats, e.g.:

@pipeline(enable_cache=False, settings={"docker": docker_settings})

def text_data_report_test_pipeline():

"""Links all the steps together in a pipeline."""

data = data_loader()

reference_dataset, comparison_dataset = data_splitter(data)

report, _ = text_data_report(

reference_dataset=reference_dataset,

comparison_dataset=comparison_dataset,

test_report, _ = text_data_test(

reference_dataset=reference_dataset,

comparison_dataset=comparison_dataset,

text_analyzer(report)

text_data_report_test_pipeline()

For a version of the same step that works with a single dataset, simply don't pass any comparison dataset:

text_data_report(reference_dataset=reference_dataset)

You should consult the official Evidently documentation for more information on what each metric is useful for and what data columns it requires as input.

The evidently_report_step step also allows for additional Report options to be passed to the Report constructor e.g.:

from zenml.integrations.evidently.steps import (

EvidentlyColumnMapping,