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()

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.