|
|
|
|
@ -1,3 +1,6 @@
|
|
|
|
|
from collections.abc import Sequence
|
|
|
|
|
from typing import Any
|
|
|
|
|
|
|
|
|
|
from core.moderation.base import Moderation, ModerationAction, ModerationInputsResult, ModerationOutputsResult
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@ -62,5 +65,5 @@ class KeywordsModeration(Moderation):
|
|
|
|
|
def _is_violated(self, inputs: dict, keywords_list: list) -> bool:
|
|
|
|
|
return any(self._check_keywords_in_value(keywords_list, value) for value in inputs.values())
|
|
|
|
|
|
|
|
|
|
def _check_keywords_in_value(self, keywords_list, value) -> bool:
|
|
|
|
|
return any(keyword.lower() in value.lower() for keyword in keywords_list)
|
|
|
|
|
def _check_keywords_in_value(self, keywords_list: Sequence[str], value: Any) -> bool:
|
|
|
|
|
return any(keyword.lower() in str(value).lower() for keyword in keywords_list)
|
|
|
|
|
|