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:
- Raises:
datarobot.errors.ClientError – if the server responded with 4xx status.
datarobot.errors.ServerError – if the server responded with 5xx status.
- classmethod list(entity_id, entity_type)
List Guard Configurations.
Added in version v3.6.
- Parameters:
entity_id (
str
) – ID of the entityentity_type (
ModerationGuardEntityType
) – Type of the entity
- Returns:
a list of configurations
- Return type:
List[ModerationConfiguration]
- Raises:
datarobot.errors.ClientError – if the server responded with 4xx status
datarobot.errors.ServerError – if the server responded with 5xx status
- 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 activeentity_id (
str
) – ID of the custom model version or playground this configuration applies to.entity_type (
ModerationGuardEntityType
) – Type of the associated entity_idllm_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 connectionopenai_deployment_id (
Optional
[str
]) – ID of the OpenAI deploymentopenai_credential (
Optional
[str
]) – ID of the credential defined in DataRobot for OpenAI.
- Returns:
created ModerationConfiguration
- Return type:
- Raises:
datarobot.errors.ClientError – if the server responded with 4xx status.
datarobot.errors.ServerError – if the server responded with 5xx status.
- 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 connectionopenai_deployment_id (
Optional
[str
]) – ID of the OpenAI deploymentopenai_credential (
Optional
[str
]) – ID of the credential defined in DataRobot for OpenAI.
- Raises:
datarobot.errors.ClientError – if the server responded with 4xx status.
datarobot.errors.ServerError – if the server responded with 5xx status.
- Return type:
None
- refresh()
Update OverallModerationConfig with the latest data from server. :rtype:
None
Added in version v3.6.
- Raises:
datarobot.errors.ClientError – if the server responded with 4xx status
datarobot.errors.ServerError – if the server responded with 5xx status
- delete()
Delete configuration. :rtype:
None
Added in version v3.6.
- Raises:
datarobot.errors.ClientError – If the server responded with 4xx status.
datarobot.errors.ServerError – If the server responded with 5xx status.
- 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:
- 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:
- 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:
- 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
ofthe 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 entityentity_type (
str
) – Type of the entity
- Returns:
an OverallModerationConfig or None
- Return type:
Optional[OverallModerationConfig]
- Raises:
datarobot.errors.ClientError – if the server responded with 4xx status
datarobot.errors.ServerError – if the server responded with 5xx status
- 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 entityentity_type (
str
) – Type of the entity
- Returns:
a list of OverallModerationConfig
- Return type:
List[OverallModerationConfig]
- Raises:
datarobot.errors.ClientError – if the server responded with 4xx status
datarobot.errors.ServerError – if the server responded with 5xx status
- 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:
- Raises:
datarobot.errors.ClientError – if the server responded with 4xx status.
datarobot.errors.ServerError – if the server responded with 5xx status.
- 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:
- Raises:
datarobot.errors.ClientError – if the server responded with 4xx status.
datarobot.errors.ServerError – if the server responded with 5xx status.
- refresh()
Update OverallModerationConfig with the latest data from server. :rtype:
None
Added in version v3.6.
- Raises:
datarobot.errors.ClientError – if the server responded with 4xx status
datarobot.errors.ServerError – if the server responded with 5xx status
- class datarobot.models.moderation.template.ModerationTemplate
A DataRobot Moderation Template.
Added in version v3.6.
- Variables:
id (
str
) – ID of the Templatename (
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:
- Raises:
datarobot.errors.ClientError – if the server responded with 4xx status.
datarobot.errors.ServerError – if the server responded with 5xx status.
- classmethod list()
List Templates.
Added in version v3.6.
- Parameters:
yet (none)
- Returns:
a list of Templates
- Return type:
List[ModerationTemplate]
- Raises:
datarobot.errors.ClientError – if the server responded with 4xx status
datarobot.errors.ServerError – if the server responded with 5xx status
- 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:
datarobot.errors.ClientError – if the server responded with 4xx status
datarobot.errors.ServerError – if the server responded with 5xx status
- 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 usedootb_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:
- Raises:
datarobot.errors.ClientError – if the server responded with 4xx status.
datarobot.errors.ServerError – if the server responded with 5xx status.
- 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 usedootb_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:
datarobot.errors.ClientError – if the server responded with 4xx status.
datarobot.errors.ServerError – if the server responded with 5xx status.
- Return type:
None
- refresh()
Update Template with the latest data from server. :rtype:
None
Added in version v3.6.
- Raises:
datarobot.errors.ClientError – if the server responded with 4xx status
datarobot.errors.ServerError – if the server responded with 5xx status
- delete()
Delete Template. :rtype:
None
Added in version v3.6.
- Raises:
datarobot.errors.ClientError – If the server responded with 4xx status.
datarobot.errors.ServerError – If the server responded with 5xx status.