Skip to content

Generative AI Moderation

class datarobot.models.moderation.configuration.ModerationConfiguration

Details of overall moderation configuration for a model.

classmethod get(config_id)

Get a guard configuration by ID.

Added in version v3.6.

classmethod list(entity_id, entity_type)

List Guard Configurations.

Added in version v3.6.

  • Parameters:
    • entity_id (str) – ID of the entity
    • entity_type (ModerationGuardEntityType) – Type of the entity
  • Returns: a list of configurations
  • Return type: List[ModerationConfiguration]
  • Raises:

classmethod create(template_id, name, description, stages, entity_id, entity_type, intervention=None, llm_type=None, deployment_id=None, model_info=None, nemo_info=None, openai_api_key='', openai_api_base='', openai_deployment_id='', openai_credential='')

Create a configuration. This is not a full create from scratch; it’s based on a template.

Added in version v3.6.

  • Parameters:
    • template_id (str) – ID of the template to base this configuration on.
    • name (str) – name of the configuration.
    • description (str) – description of the configuration.
    • stages (List[ModerationGuardStage]) – the stages of moderation where this guard is active
    • entity_id (str) – ID of the custom model version or playground this configuration applies to.
    • entity_type (ModerationGuardEntityType) – Type of the associated entity_id
    • llm_type (Optional[ModerationGuardLlmType]) – the backing LLM this guard uses.
    • nemo_info (Optional[GuardNemoInfo]) – additional configuration for NeMo Guardrails guards.
    • model_info (Optional[GuardModelInfo]) – additional configuration for guards using a deployed model.
    • intervention (Optional[GuardInterventionForConfiguration]) – the assessment conditions, and action the guard should take if conditions are met.
    • openai_api_key (str) – Token to use for OpenAI. Deprecated; use openai_credential instead.
    • openai_api_base (Optional[str]) – Base of the OpenAI connection
    • openai_deployment_id (Optional[str]) – ID of the OpenAI deployment
    • openai_credential (Optional[str]) – ID of the credential defined in DataRobot for OpenAI.
  • Returns: created ModerationConfiguration
  • Return type: ModerationConfiguration
  • Raises:

update(name=None, description=None, intervention=None, llm_type=None, deployment_id=None, model_info=None, nemo_info=None, openai_api_key='', openai_api_base='', openai_deployment_id='', openai_credential='')

Update configuration. All fields are optional, and omitted fields are left unchanged.

entity_id, entity_type, and stages cannot be modified for a guard configuration,.

Added in version v3.6.

  • Parameters:
    • name (str) – name of the configuration.
    • description (str) – description of the configuration.
    • llm_type (Optional[ModerationGuardLlmType]) – the backing LLM this guard uses.
    • nemo_info (Optional[GuardNemoInfo]) – additional configuration for NeMo Guardrails guards.
    • model_info (Optional[GuardModelInfo]) – additional configuration for guards using a deployed model.
    • intervention (Optional[GuardInterventionForConfiguration]) – the assessment conditions, and action the guard should take if conditions are met.
    • openai_api_key (str) – Token to use for OpenAI. Deprecated; use openai_credential instead.
    • openai_api_base (Optional[str]) – Base of the OpenAI connection
    • openai_deployment_id (Optional[str]) – ID of the OpenAI deployment
    • openai_credential (Optional[str]) – ID of the credential defined in DataRobot for OpenAI.
  • Raises:
  • Return type: None

refresh()

Update OverallModerationConfig with the latest data from server. :rtype: None

Added in version v3.6.

delete()

Delete configuration. :rtype: None

Added in version v3.6.

class datarobot.models.moderation.intervention.GuardInterventionCondition

Defines a condition for intervention.

class datarobot.models.moderation.intervention.GuardInterventionForTemplate

Defines the intervention conditions and actions a guard can take. Configuration schema differs slightly from template because changes were requested after templates were baked in.

classmethod ensure_object(maybe_dict)

intervention may arrive as an object, or as a dict. Return an object.

class datarobot.models.moderation.intervention.GuardInterventionForConfiguration

Defines the intervention conditions and actions a guard can take. Configuration schema differs slightly from template because changes were requested after templates were baked in.

classmethod ensure_object(maybe_dict)

intervention may arrive as an object, or as a dict. Return an object.

class datarobot.models.moderation.model_info.GuardModelInfo

Model information for moderation templates and configurations. Omitted optional values are stored and presented as: * [] (for class names) * None (all others)

to_dict()

Convert the model information object to a dictionary.

  • Return type: Dict[str, Union[str, List[str], None]]

classmethod ensure_object(maybe_dict)

intervention may arrive as an object, or as a dict. Return an object.

class datarobot.models.moderation.model_version_update.ModelVersionUpdate

Implements the operation provided by “Save Configuration” in moderation UI. All guard configurations and overall config is saved to a new custom model version.

classmethod new_custom_model_version_with_config(custom_model_id, overall_config, configs)

Create a new custom model version with the provided moderation configuration :type custom_model_id: str :param custom_model_id: :type overall_config: OverallModerationConfig :param overall_config: :type configs: List[ModerationConfiguration] :param configs:

  • Return type: ID of the new custom model version.

class datarobot.models.moderation.nemo_info.GuardNemoInfo

Details of a NeMo Guardrails moderation guard.

class datarobot.models.moderation.overall.OverallModerationConfig

Details of overall moderation configuration for a model.

classmethod find(entity_id, entity_type)

Find overall configuration by entity ID and entity type. Each entity (such as a customModelVersion) may have at most 1 overall moderation configuration.

Added in version v3.6.

  • Parameters:
    • entity_id (str) – ID of the entity
    • entity_type (str) – Type of the entity
  • Returns: an OverallModerationConfig or None
  • Return type: Optional[OverallModerationConfig]
  • Raises:

classmethod locate(entity_id, entity_type)

Find overall configuration by entity ID and entity type. This version of find() expects the object to exist. Its return type is not optional.

Added in version v3.6.

  • Parameters:
    • entity_id (str) – ID of the entity
    • entity_type (str) – Type of the entity
  • Returns: a list of OverallModerationConfig
  • Return type: List[OverallModerationConfig]
  • Raises:

classmethod create(timeout_sec, timeout_action, entity_id, entity_type)

Create an OverallModerationConfig.

Added in version v3.6.

  • Parameters:
    • timeout_sec (int) – how long to wait for all moderation tasks in a phase to complete.
    • timeout_action (ModerationTimeoutActionType) – what to do if moderation times out.
    • entity_id (str) – entity, such as customModelVersion, that this configuration applies to.
    • entity_type (ModerationGuardEntityType) – type of the entity defined by entity_id
  • Returns: created OverallModerationConfig
  • Return type: OverallModerationConfig
  • Raises:

update(timeout_sec, timeout_action, entity_id, entity_type)

Update an OverallModerationConfig.

Added in version v3.6.

  • Parameters:
    • timeout_sec (int) – how long to wait for all moderation tasks in a phase to complete.
    • timeout_action (ModerationTimeoutActionType) – what to do if moderation times out.
    • entity_id (str) – entity, such as customModelVersion, that this configuration applies to.
    • entity_type (ModerationGuardEntityType) – type of the entity defined by entity_id
  • Returns: created OverallModerationConfig
  • Return type: OverallModerationConfig
  • Raises:

refresh()

Update OverallModerationConfig with the latest data from server. :rtype: None

Added in version v3.6.

class datarobot.models.moderation.template.ModerationTemplate

A DataRobot Moderation Template.

Added in version v3.6.

  • Variables:
    • id (str) – ID of the Template
    • name (str) – Template name

classmethod get(template_id)

Get Template by id.

Added in version v3.6.

classmethod list(include_agentic=None, is_agentic=None, for_playground=None, for_production=None, name=None)

List Templates.

Added in version v3.6.

classmethod find(name)

Find Template by name.

Added in version v3.6.

classmethod create(name, description, type, allowed_stages, intervention=None, ootb_type=None, llm_type=None, model_info=None, nemo_info=None)

Create a Template.

Added in version v3.6.

  • Parameters:
    • name (str) – name of the template.
    • description (str) – description of the template.
    • type (GuardType) – type of the template.
    • allowed_stages (List[ModerationGuardStage]) – the stages of moderation this guard is allowed to be used
    • ootb_type (ModerationGuardOotbType) – for guards of type “ootb”, the specific “Out of the Box” metric type.
    • llm_type (Optional[ModerationGuardLlmType]) – the backing LLM this guard uses.
    • nemo_info (Optional[GuardNemoInfo]) – additional configuration for NeMo Guardrails guards.
    • model_info (Optional[GuardModelInfo]) – additional configuration for guards using a deployed model.
    • intervention (Optional[GuardInterventionForTemplate]) – the assessment conditions, and action the guard should take if conditions are met.
  • Returns: created Template
  • Return type: ModerationTemplate
  • Raises:

update(name=None, description=None, type=None, allowed_stages=None, intervention=None, ootb_type=None, llm_type=None, model_info=None, nemo_info=None)

Update Template. All fields are optional, and omitted fields are left unchanged.

Added in version v3.6.

  • Parameters:
    • name (str) – name of the template.
    • description (str) – description of the template.
    • type (GuardType) – type of the template.
    • allowed_stages (List[ModerationGuardStage]) – the stages of moderation this guard is allowed to be used
    • ootb_type (ModerationGuardOotbType) – for guards of type “ootb”, the specific “Out of the Box” metric type.
    • llm_type (Optional[ModerationGuardLlmType]) – the backing LLM this guard uses.
    • nemo_info (Optional[GuardNemoInfo]) – additional configuration for NeMo Guardrails guards.
    • model_info (Optional[GuardModelInfo]) – additional configuration for guards using a deployed model.
    • intervention (Optional[GuardInterventionForTemplate]) – the assessment conditions, and action the guard should take if conditions are met.
  • Raises:
  • Return type: None

refresh()

Update Template with the latest data from server. :rtype: None

Added in version v3.6.

delete()

Delete Template. :rtype: None

Added in version v3.6.

class datarobot.enums.ModerationGuardOotbType

Defines the available OOTB guards.