add features structure validate

This commit is contained in:
takatost
2024-02-29 22:20:27 +08:00
parent 11e1b569ea
commit fea549679a
6 changed files with 49 additions and 58 deletions

View File

@ -7,7 +7,8 @@ logger = logging.getLogger(__name__)
class ModerationValidator:
@classmethod
def validate_and_set_defaults(cls, tenant_id, config: dict) -> tuple[dict, list[str]]:
def validate_and_set_defaults(cls, tenant_id, config: dict, only_structure_validate: bool = False) \
-> tuple[dict, list[str]]:
if not config.get("sensitive_word_avoidance"):
config["sensitive_word_avoidance"] = {
"enabled": False
@ -23,13 +24,14 @@ class ModerationValidator:
if not config["sensitive_word_avoidance"].get("type"):
raise ValueError("sensitive_word_avoidance.type is required")
typ = config["sensitive_word_avoidance"]["type"]
config = config["sensitive_word_avoidance"]["config"]
if not only_structure_validate:
typ = config["sensitive_word_avoidance"]["type"]
config = config["sensitive_word_avoidance"]["config"]
ModerationFactory.validate_config(
name=typ,
tenant_id=tenant_id,
config=config
)
ModerationFactory.validate_config(
name=typ,
tenant_id=tenant_id,
config=config
)
return config, ["sensitive_word_avoidance"]