cognisafe-backend / app /models /moderation_request.py
zyriean's picture
add app
d68e65a verified
from pydantic import BaseModel
from typing import List
from app.models.check_type import CheckType
from app.services.text_cleaner import clean_text
from app.ml_models.classifier import Classifier
from app.ml_models.gemini_moderator import gemini_for_cleansing
from app.ml_models.gemini_moderator import gemini_for_misinfo_detection
classifier = Classifier()
classifier.initialize_classifier()
class ModerationRequest(BaseModel):
content: str
checkFor: List[CheckType]
threshold: float = 0.6
def correct_typos(self) -> None:
self.content = clean_text(self.content)
def classify_moderation(self) -> None:
result = classifier.predict_nsfw(self.content)
return result
def cleanse_content(self) -> str:
return gemini_for_cleansing.cleanse(self.content)
def identify_misinfo(self) -> str:
return gemini_for_misinfo_detection.check_misinfo(self.content)