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.

Parameters:

config_id (str) – ID of the configuration

Returns:

retrieved configuration

Return type:

ModerationConfiguration

Raises:
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.

Raises:
delete()

Delete configuration. :rtype: None

Added in version v3.6.

Raises:
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.

Return type:

GuardInterventionForTemplate

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.

Return type:

GuardInterventionForConfiguration

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.

Return type:

GuardModelInfo

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.

Raises:
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.

Parameters:

template_id (str) – ID of the Template

Returns:

retrieved Template

Return type:

ModerationTemplate

Raises:
classmethod list()

List Templates.

Added in version v3.6.

Parameters:

yet (none)

Returns:

a list of Templates

Return type:

List[ModerationTemplate]

Raises:
classmethod find(name)

Find Template by name.

Added in version v3.6.

Parameters:

name (str) – name of the Template

Returns:

a list of Templates

Return type:

List[ModerationTemplate]

Raises:
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.

Raises:
delete()

Delete Template. :rtype: None

Added in version v3.6.

Raises: