mirror of
				https://github.com/langgenius/dify.git
				synced 2025-10-31 02:42:59 +00:00 
			
		
		
		
	 d069c668f8
			
		
	
	
		d069c668f8
		
			
		
	
	
	
	
		
			
			Co-authored-by: StyleZhang <jasonapring2015@outlook.com> Co-authored-by: Garfield Dai <dai.hai@foxmail.com> Co-authored-by: chenhe <guchenhe@gmail.com> Co-authored-by: jyong <jyong@dify.ai> Co-authored-by: Joel <iamjoel007@gmail.com> Co-authored-by: Yeuoly <admin@srmxy.cn>
		
			
				
	
	
		
			33 lines
		
	
	
		
			1.0 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			33 lines
		
	
	
		
			1.0 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
| import logging
 | |
| 
 | |
| from core.entities.application_entities import ApplicationGenerateEntity
 | |
| from core.helper import moderation
 | |
| from core.model_runtime.entities.message_entities import PromptMessage
 | |
| 
 | |
| logger = logging.getLogger(__name__)
 | |
| 
 | |
| 
 | |
| class HostingModerationFeature:
 | |
|     def check(self, application_generate_entity: ApplicationGenerateEntity,
 | |
|               prompt_messages: list[PromptMessage]) -> bool:
 | |
|         """
 | |
|         Check hosting moderation
 | |
|         :param application_generate_entity: application generate entity
 | |
|         :param prompt_messages: prompt messages
 | |
|         :return:
 | |
|         """
 | |
|         app_orchestration_config = application_generate_entity.app_orchestration_config_entity
 | |
|         model_config = app_orchestration_config.model_config
 | |
| 
 | |
|         text = ""
 | |
|         for prompt_message in prompt_messages:
 | |
|             if isinstance(prompt_message.content, str):
 | |
|                 text += prompt_message.content + "\n"
 | |
| 
 | |
|         moderation_result = moderation.check_moderation(
 | |
|             model_config,
 | |
|             text
 | |
|         )
 | |
| 
 | |
|         return moderation_result
 |