mirror of
				https://github.com/langgenius/dify.git
				synced 2025-11-04 04:43:09 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			21 lines
		
	
	
		
			848 B
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			21 lines
		
	
	
		
			848 B
		
	
	
	
		
			Python
		
	
	
	
	
	
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)
 |