mirror of
https://github.com/hwchase17/langchain
synced 2024-11-08 07:10:35 +00:00
3f6bf852ea
Added missed docstrings. Formatted docsctrings to the consistent format.
62 lines
1.6 KiB
Python
62 lines
1.6 KiB
Python
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()]`
|
|
"""
|