Toggle Menu
Prev Up Next

# Source code for langchain_experimental.comprehend_moderation.base_moderation_config

    from typing import List, Union

    from pydantic import BaseModel

    class ModerationPiiConfig(BaseModel):
        """Configuration for PII moderation filter."""

        threshold: float = 0.5
        """Threshold for PII confidence score, defaults to 0.5 i.e. 50%"""

        labels: List[str] = []
        """
        List of PII Universal Labels.
        Defaults to `list[]`
        """

        redact: bool = False
        """Whether to perform redaction of detected PII entities"""

        mask_character: str = "*"
        """Redaction mask character in case redact=True, defaults to asterisk (*)"""

    class ModerationToxicityConfig(BaseModel):
        """Configuration for Toxicity moderation filter."""

        threshold: float = 0.5
        """Threshold for Toxic label confidence score, defaults to 0.5 i.e. 50%"""

        labels: List[str] = []
        """List of toxic labels, defaults to `list[]`"""

    class ModerationPromptSafetyConfig(BaseModel):
        """Configuration for Prompt Safety moderation filter."""

        threshold: float = 0.5
        """
        Threshold for Prompt Safety classification
        confidence score, defaults to 0.5 i.e. 50%
        """

    class BaseModerationConfig(BaseModel):
        """Base configuration settings for moderation."""

        filters: List[
            Union[
                ModerationPiiConfig, ModerationToxicityConfig, ModerationPromptSafetyConfig
            ]
        ] = [
            ModerationPiiConfig(),
            ModerationToxicityConfig(),
            ModerationPromptSafetyConfig(),
        ]
        """
        Filters applied to the moderation chain, defaults to
        `[ModerationPiiConfig(), ModerationToxicityConfig(),
        ModerationPromptSafetyConfig()]`
        """