| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586 | 
							- # @Author    : Rocky
 
- # @File      : ContentSecurityObject.py
 
- # @Time      : 2023/8/18 11:02
 
- from alibabacloud_green20220302.client import Client as Green20220302Client
 
- from alibabacloud_tea_openapi import models as open_api_models
 
- from alibabacloud_green20220302 import models as green_20220302_models
 
- from alibabacloud_tea_util import models as util_models
 
- from Ansjer.config import ALI_ACCESS_KEY_ID, ALI_ACCESS_KEY_SECRET, LOGGER
 
- TEXT_ILLEGAL_LABEL_LIST = ['political_content', 'profanity', 'contraband', 'sexual_content', 'violence',
 
-                            'negative_content', 'religion', 'cyberbullying']
 
- IMAGE_ILLEGAL_LABEL_LIST = ['pornographic_adultContent', 'sexual_suggestiveContent', 'political_politicalFigure_1',
 
-                             'violent_blood', 'contraband_drug']
 
- class ContentSecurity:
 
-     """
 
-     阿里云内容安全服务类
 
-     """
 
-     def __init__(self):
 
-         pass
 
-     @staticmethod
 
-     def create_client() -> Green20220302Client:
 
-         """
 
-         使用AK&SK初始化账号Client
 
-         @return: Client
 
-         @throws Exception
 
-         """
 
-         config = open_api_models.Config(
 
-             # 必填,您的 AccessKey ID,
 
-             access_key_id=ALI_ACCESS_KEY_ID,
 
-             # 必填,您的 AccessKey Secret,
 
-             access_key_secret=ALI_ACCESS_KEY_SECRET
 
-         )
 
-         # Endpoint 请参考 https://api.aliyun.com/product/Green
 
-         config.endpoint = f'green-cip.cn-shanghai.aliyuncs.com'
 
-         return Green20220302Client(config)
 
-     def text_review(self, service, service_parameters):
 
-         """
 
-         文本审核
 
-         @param service: 审核服务类型
 
-         @param service_parameters: 审核服务参数集
 
-         @return: bool, True: 审核通过, False: 审核不通过
 
-         """
 
-         client = self.create_client()
 
-         text_moderation_request = green_20220302_models.TextModerationRequest(service, service_parameters)
 
-         runtime = util_models.RuntimeOptions()
 
-         res = client.text_moderation_with_options(text_moderation_request, runtime)
 
-         print(res)
 
-         if res.status_code != 200:
 
-             return False
 
-         labels = res.body.data.labels
 
-         labels_list = labels.split(',')
 
-         for label in labels_list:
 
-             if label in TEXT_ILLEGAL_LABEL_LIST:
 
-                 return False
 
-             return True
 
-     def image_review(self, service, service_parameters):
 
-         """
 
-         图片审核
 
-         @param service: 审核服务类型
 
-         @param service_parameters: 审核服务参数集
 
-         @return: bool, True: 审核通过, False: 审核不通过
 
-         """
 
-         client = self.create_client()
 
-         image_moderation_request = green_20220302_models.ImageModerationRequest(service, service_parameters)
 
-         runtime = util_models.RuntimeOptions()
 
-         res = client.image_moderation_with_options(image_moderation_request, runtime)
 
-         print(res)
 
-         LOGGER.info('图片审核响应内容:{}'.format(res))
 
-         if res.status_code != 200:
 
-             return False
 
-         # 获取审核结果
 
-         result = res.body
 
-         if result.code != 200:
 
-             return False
 
-         result_list = result.data.result
 
-         # 配到风险标签且置信分高于80时返回False
 
-         for result in result_list:
 
-             if result.label in IMAGE_ILLEGAL_LABEL_LIST:
 
-                 if result.confidence >= 80:
 
-                     return False
 
-         return True
 
 
  |