Spaces:
No application file
No application file
from core.moderation.factory import ModerationFactory, ModerationOutputsResult | |
from extensions.ext_database import db | |
from models.model import App, AppModelConfig | |
class ModerationService: | |
def moderation_for_outputs(self, app_id: str, app_model: App, text: str) -> ModerationOutputsResult: | |
app_model_config: AppModelConfig = None | |
app_model_config = db.session.query(AppModelConfig).filter(AppModelConfig.id == app_model.app_model_config_id).first() | |
if not app_model_config: | |
raise ValueError("app model config not found") | |
name = app_model_config.sensitive_word_avoidance_dict['type'] | |
config = app_model_config.sensitive_word_avoidance_dict['config'] | |
moderation = ModerationFactory(name, app_id, app_model.tenant_id, config) | |
return moderation.moderation_for_outputs(text) | |