aliyun_security.py 2.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. # coding=utf-8
  2. # python version >= 3.6
  3. from alibabacloud_green20220302.client import Client
  4. from alibabacloud_green20220302 import models
  5. from alibabacloud_tea_openapi.models import Config
  6. import json
  7. from loguru import logger
  8. config = Config(
  9. # 阿里云账号AccessKey拥有所有API的访问权限,建议您使用RAM用户进行API访问或日常运维。
  10. # 强烈建议不要把AccessKey ID和AccessKey Secret保存到工程代码里,否则可能导致AccessKey泄露,威胁您账号下所有资源的安全。
  11. # 常见获取环境变量方式:
  12. # contentsecurity@1894469520484605.onaliyun.com
  13. access_key_id='LTAI5tEv9SCKZFpTshJpi618',
  14. access_key_secret='7N13xskcYEJzgiRLcYO1ngEVFmTq6Z',
  15. # 连接超时时间 单位毫秒(ms)
  16. connect_timeout=10000,
  17. # 读超时时间 单位毫秒(ms)
  18. read_timeout=3000,
  19. region_id='cn-hangzhou',
  20. #endpoint='green-cip-vpc.cn-hangzhou.aliyuncs.com'
  21. endpoint='green-cip.cn-hangzhou.aliyuncs.com'
  22. )
  23. clt = Client(config)
  24. class Security:
  25. @classmethod
  26. def security(cls, content):
  27. serviceParameters = {
  28. 'content': content
  29. }
  30. textModerationPlusRequest = models.TextModerationPlusRequest(
  31. # 检测类型
  32. service='llm_response_moderation_01',
  33. service_parameters=json.dumps(serviceParameters)
  34. )
  35. try:
  36. response = clt.text_moderation_plus(textModerationPlusRequest)
  37. if response.status_code == 200:
  38. # 调用成功
  39. result = response.body
  40. logger.info('response success. result:{}'.format(result))
  41. if result.code == 200:
  42. if result.Data.RiskLevel == "high" or result.Data.RiskLevel == "medium":
  43. return false,result
  44. return true,result
  45. else:
  46. print('response not success. status:{} ,result:{}'.format(response.status_code, response))
  47. except Exception as err:
  48. print(err)
  49. if __name__ == '__main__':
  50. Security.security("测试安全边界")