mirror of
https://gitee.com/dify_ai/dify.git
synced 2024-12-02 19:27:48 +08:00
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
|