云服务器内容精选

  • 请求示例 “endpoint”即调用API的请求地址,不同服务不同区域的endpoint不同,具体请参见终端节点。 例如,服务部署在“华北-北京四”区域的“endpoint”为“moderation.cn-north-4.myhuaweicloud.com”,请求URL为“https://moderation.cn-north-4.myhuaweicloud.com/v3/{project_id}/moderation/image”,“project_id”为项目ID,获取方法请参见获取项目ID。 使用图片的BASE64编码,分析并识别用户上传的图像内容是否有敏感内容,事件类型为头像,检测场景为涉黄,暴恐。 POST https://{endpoint}/v3/{project_id}/moderation/image { "event_type" : "head_image", "image" : "/9j/4AAQSkZJRgABAgEASABIAAD/4RFZRXhpZgAATU0AKgAAAAgABwESAAMAAAABAAEAAAEaAAUAAAABAAAAYgEbAAUAAAABAAAA...", "categories" : [ "porn", "terrorism" ], "image_text_config" : { "black_glossary_names" : [ "test" ] } } 使用图片的url,分析并识别用户上传的图像内容是否有敏感内容,事件类型为头像,检测场景为涉黄,暴恐。 POST https://{endpoint}/v3/{project_id}/moderation/image { "event_type" : "head_image", "url" : "https://bucketname.obs.myhwclouds.com/ObjectName1", "categories" : [ "porn", "terrorism" ], "image_text_config" : { "black_glossary_names" : [ "test" ] } } 使用biz_type请求 POST https://{endpoint}/v3/{project_id}/moderation/image { "url" : "https://bucketname.obs.myhwclouds.com/ObjectName1", "biz_type" : "test-type" }
  • 响应示例 状态码: 200 成功响应示例 { "request_id" : "53f9719c3730d1169e47403d5c8a9473", "result" : { "category" : "porn", "details" : [ { "category" : "porn", "confidence" : 0.9934315, "label" : "sexy_female", "suggestion" : "review" }, { "category" : "porn", "confidence" : 0.99798274, "label" : "intimacy", "suggestion" : "review" } ], "suggestion" : "review" } } 状态码: 400 失败响应示例 { "error_code" : "AIS.0402", "error_msg" : "The image format is not supported." }
  • 响应参数 状态码: 200 表5 响应Body参数 参数 参数类型 描述 request_id String 本次请求的唯一标识,用于问题排查,建议保存。 最小长度:2 最大长度:64 result ImageDetectionResult object 调用成功时表示调用结果。 调用失败时无此字段。 表6 ImageDetectionResult 参数 参数类型 描述 suggestion String 审核结果是否通过。 block:包含敏感信息,不通过 pass:不包含敏感信息,通过 review:需要人工复检 category String 检测结果的一级标签。 支持category列表如下: terrorism: 暴恐 porn: 色情 image_text: 图文审核 details Array of ImageDetectionResultDetail objects 检测详情。 ocr_text String 图文审核检测出的文本,只有在category参数配置image_text且检测出文本时展示该字段。 表7 ImageDetectionResultDetail 参数 参数类型 描述 suggestion String 审核结果是否通过。 block:包含敏感信息,不通过 pass:不包含敏感信息,通过 review:需要人工复检 category String 检测结果的一级标签。 支持category列表如下: terrorism: 暴恐 porn: 色情 image_text: 图文审核 confidence Float 置信度,可选值在0-1之间,值越大,可信度越高。 face_location FaceLocationDetail object 人物位置信息,该数组有四个值,分别代表左上角的坐标和右下角的坐标。 例如:[207,522,340,567],207代表的是左上角的横坐标,522代表左上角的纵坐标,340代表的是右下角的横坐标,567代表的是右下角的纵坐标。 qr_location QRLocationDetail object 二维码位置信息,该数组有四个值,分别代表左上角的坐标和右下角的坐标。 例如:[207,522,340,567],207代表的是左上角的横坐标,522代表左上角的纵坐标,340代表的是右下角的横坐标,567代表的是右下角的纵坐标。 qr_content String 图片中二维码指向的链接,当请求参数categories中包含image_text时存在。 segments Array of OCRTextDetail objects image_text场景下命中的文本片段。 label String 识别的详细标签。 表8 FaceLocationDetail 参数 参数类型 描述 top_left_x Integer 检测出人脸的左上角横坐标。 top_left_y Integer 检测出人脸的左上角纵坐标。 bottom_right_x Integer 检测出人脸的右下角横坐标。 bottom_right_y Integer 检测出人脸的右下角纵坐标。 表9 QRLocationDetail 参数 参数类型 描述 top_left_x Integer 检测出的二维码左上角横坐标。 top_left_y Integer 检测出的二维码左上角纵坐标。 bottom_right_x Integer 检测出的二维码右下角横坐标。 bottom_right_y Integer 检测出的二维码右下角纵坐标。 表10 OCRTextDetail 参数 参数类型 描述 segment String 命中的风险片段 glossary_name String 命中的自定义词库名称。 命中自定义词库时,才会返回当前字段。 状态码: 400 表11 响应Body参数 参数 参数类型 描述 error_code String 调用失败时的错误码,具体请参见错误码。 调用成功时无此字段。 最小长度:8 最大长度:36 error_msg String 调用失败时的错误信息。 调用成功时无此字段。 最小长度:2 最大长度:512
  • 请求参数 表2 请求Header参数 参数 是否必选 参数类型 描述 X-Auth-Token 是 String 用户Token。 用于获取操作API的权限。获取方法请参见 获取Token 接口,响应消息头中X-Subject-Token的值即为Token。 Enterprise-Project-Id 否 String 企业项目ID。Moderation支持通过企业项目管理(EPS)对不同用户组和用户的资源使用,进行分账。 获取方法:进入“企业项目管理”页面,单击企业项目名称,在企业项目详情页获取Enterprise-Project-Id(企业项目ID)。 企业项目创建步骤请参见用户指南。 说明: 创建企业项目后,在传参时,有以下三类场景: 携带正确的ID,正常使用Moderation服务,账单的企业项目会被分类到企业ID对应的企业项目中。 携带格式正确但不存在的ID,正常使用Moderation服务,账单的企业项目会显示对应不存在的企业项目ID。 不携带ID或格式错误ID(包含特殊字符等),正常使用Moderation服务,账单的企业项目会被分类到"default"中。 表3 请求Body参数 参数 是否必选 参数类型 描述 event_type 否 String 事件类型。 可选值如下: head_image:头像 album:相册 dynamic:动态 article:帖子 comment:评论 room_cover:房间封面 group_message:群聊图片 message:私聊图片 product:商品图片 说明: 群聊图片是指多人聊天的图片。 事件类型是服务提前预置的业务场景(部分场景下存在未拦截情况)。 如果您需要开启自定义审核策略,可以通过在控制台上自行添加自定义策略。 如果您有特殊的审核需求,如果工单的方式联系我们进行调整。 categories 否 Array of strings 检测场景。可添加的检测场景如下: terrorism:暴恐元素的检测。 porn:涉黄元素的检测。 image_text:广告图文的检测。 可通过配置上述场景,来完对应场景元素的检测。 说明: 每个检测场景的检测次数会分类统计。 image_text_config 否 ImgTextConfig object 图文审核黑白词库配置。 url 否 String 与image二选一。 图片url,目前支持:公网HTTP/HTTPS URL。 image 否 String 与url二选一。 图片文件Base64编码字符串,要求base64编码后大小不超过10M,图片宽高不低于20 x 20像素,支持JPG/PNG/JPEG/WEBP/GIF/TIFF/TIF/HEIF等格式。 language 否 String 可指定图片中的文字语种,目前支持中文(zh)。默认值为zh。 biz_type 否 String 用户在控制台界面创建的自定义审核策略名称,具体创建步骤请参见策略管理。 如果请求参数中传了biz_type则优先使用biz_type,event_type和categories参数将不生效,审核策略由biz_type的设置决定。 如果用户没传biz_type则event_type和categories必须传。 表4 ImgTextConfig 参数 是否必选 参数类型 描述 black_glossary_names 否 Array of strings 检测时使用的自定义黑名单词库列表。 详情请看配置自定义词库 V3。 white_glossary_names 否 Array of strings 检测时使用的自定义白名单词库列表。 详情请看配置自定义词库 V3。
  • 图像 内容审核 (V3) 本章节对图像内容审核AK/SK方式使用SDK进行示例说明。 示例代码中可以修改ImageDetectionReq的url或image方法配置图像信息(image和url参数二选一),示例中以url为例配置完成后运行即可。 服务所在的应用区域和终端节点,详情请查看 地区和终端节点 。 # coding: utf-8 from huaweicloudsdkcore.auth.credentials import BasicCredentials from huaweicloudsdkmoderation.v3.region.moderation_region import ModerationRegion from huaweicloudsdkcore.exceptions import exceptions from huaweicloudsdkmoderation.v3 import * import os if __name__ == "__main__": # 认证用的ak和sk硬编码到代码中或者明文存储都有很大的安全风险,建议在配置文件或者环境变量中密文存放,使用时解密,确保安全; # 本示例以ak和sk保存在环境变量中来实现身份验证为例,运行本示例前请先在本地环境中设置环境变量HUAWEICLOUD_SDK_AK和HUAWEICLOUD_SDK_SK。 ak = os.getenv("HUAWEICLOUD_SDK_AK") sk = os.getenv("HUAWEICLOUD_SDK_SK") projectId = "project_id" credentials = BasicCredentials(ak, sk, projectId) \ client = ModerationClient.new_builder() \ .with_credentials(credentials) \ .with_region(ModerationRegion.value_of("xxx")) \ //把xxx替换成服务所在的区域,例如北京四:cn-north-4。 .build() try: request = CheckImageModerationRequest() listCategoriesbody = [ "porn" ] request.body = ImageDetectionReq( url="http://www.xxxx.xxxx", categories=listCategoriesbody, event_type="head_image" ) response = client.check_image_moderation(request) print(response) except exceptions.ClientRequestException as e: print(e.status_code) print(e.request_id) print(e.error_code) print(e.error_msg) 控制台输出200即表示程序执行成功,图像内容审核结果输出到控制台。 {"request_id": "69b424920668cb15e6d25eef879a023b", "result": {"suggestion": "block", "category": "image_text", "details": [{"suggestion": "block", "category": "image_text", "confidence": 1.0, "qr_location": {"top_left_x": 74, "top_left_y": 66, "bottom_right_x": 151, "bottom_right_y": 142}, "qr_content": "http://xxxxxx/xxxxx", "label": "qr_code"}, {"suggestion": "block", "category": "image_text", "confidence": 0.98779297, "label": "ad"}, {"suggestion": "block", "category": "image_text", "confidence": 1.0, "label": "qr_code"}], "ocr_text": "xxxxxxxxx"}} 父主题: 图像审核
  • 请求示例 “endpoint”即调用API的请求地址,不同服务不同区域的endpoint不同,具体请参见终端节点。 例如,服务部署在“华北-北京四”区域的“endpoint”为“moderation.cn-north-4.myhuaweicloud.com”,请求URL为“https://moderation.cn-north-4.myhuaweicloud.com/v3/{project_id}/moderation/image/batch”,“project_id”为项目ID,获取方法请参见获取项目ID。 识别用户上传的图像内容是否有敏感内容,检测场景为涉黄,暴恐。 POST https://{endpoint}/v2/{project_id}/moderation/image/batch { "urls" : [ "https://bucketname.obs.myhwclouds.com/ObjectName1", "https://bucketname.obs.myhwclouds.com/ObjectName2" ], "categories" : [ "terrorism", "porn" ], "threshold" : "" }
  • 响应参数 状态码: 200 表4 响应Body参数 参数 参数类型 描述 result Array of ImageBatchModerationResultBody objects 调用成功时表示调用结果。 调用失败时无此字段。 表5 ImageBatchModerationResultBody 参数 参数类型 描述 url String 图片的URL路径。 suggestion String 审核结果是否通过。 block:包含敏感信息,不通过 pass:不包含敏感信息,通过 review:需要人工复检 说明: 当同时检测多个场景时,suggestion的值以最可能包含敏感信息的场景为准。即任一场景出现了block则总的suggestion为block,所有场景都pass时suggestion为pass,这两种情况之外则一定有场景需要review,此时suggestion为review。 目前本服务不会保存客户的调用结果(如block的历史信息),因为涉及到客户的数据隐私问题,建议您保留接口调用结果的日志信息。 detail ImageDetectionResultDetail object 针对选定的每个检测场景列出结果列表,terrorism为暴恐检测结果,porn为涉黄检测结果。如果检测场景中的最高置信度也未达到threshold则结果列表为空。 category_suggestions Object 具体每个场景的检测结果。 block:包含敏感信息,不通过 pass:不包含敏感信息,通过 review:需要人工复检 ocr_text String ocr识别结果,仅在审核图文场景下且“show_ocr_text”=true时返回,否则无此字段,调用失败时也无此字段。 表6 ImageDetectionResultDetail 参数 参数类型 描述 porn Array of ImageDetectionResultSimpleDetail objects 涉黄检测结果。 terrorism Array of ImageDetectionResultSimpleDetail objects 暴恐检测结果。 ad Array of ImageDetectionResultAdDetail objects 广告检测结果。 表7 face_detail 参数 参数类型 描述 h Integer 人脸区域高度。 w Integer 人脸区域宽度。 x Integer 人脸区域左上角到y轴距离。 y Integer 人脸区域左上角到x轴距离。 表8 ImageDetectionResultSimpleDetail 参数 参数类型 描述 confidence Float 置信度,取值范围 0-1。 label String 每个检测结果的标签化说明。 terrorism:label为对应的暴恐元素信息。 暴恐场景当前支持label列表如下: normal:正常(表示您上传的图像不涉及暴恐场景) knife:刀 gun:枪 fire:火灾 bloody :血腥 terrorist:暴恐组织及标志 fascist:法西斯组织及标志 cult:邪教组织及标志 special_characters :特殊文字 kidnap:绑架 corpse:尸体 riot:暴乱事件 parade :游行示威 sensitive_landmarks:敏感地标 military_weapon:军事武器 army:警察部队 crowd:人群聚集 porn:label为对应的涉黄分类(涉黄、性感等)信息。 鉴黄场景当前支持label列表如下: normal:正常(表示您上传的图像内容不涉黄) porn:色情 sexy:性感 ad:label为对应的广告识别结果信息。 广告场景当前支持label列表如下: normal:正常(表示您上传的图像不涉及广告内容) ad:广告 图文审核场景当前支持label列表如下: normal:正常 qr_code:二维码 porn:涉黄 ad:广告 abuse:辱骂 contraband:违禁品 其他自定义黑名单词库名称 表9 ImageDetectionResultAdDetail 参数 参数类型 描述 confidence Float 置信度,取值范围 0-1。 label String ad:label为对应的广告识别结果信息。 广告场景当前支持label列表如下: normal:正常 ad:广告 图文审核场景当前支持label列表如下: normal:正常 qr_code:二维码 porn:涉黄 ad:广告 abuse:辱骂 contraband:违禁品 其他自定义黑名单词库名称 hit_contexts Array of strings 图文审核场景命中的文本列表。 状态码: 400 表10 响应Body参数 参数 参数类型 描述 error_code String 调用失败时的错误码,具体请参见错误码。 调用成功时无此字段。 error_msg String 调用失败时的错误信息。 调用成功时无此字段。 fail_category String 当包含多个场景时,调用失败的场景。
  • 响应示例 状态码: 200 成功响应示例 { "result": [ { "url": "https://bucketname.obs.myhwclouds.com/ObjectName1", "suggestion": "block", "category_suggestions": { "terrorism": "pass", "porn": "block" }, "detail": { "terrorism": [ { "confidence": 0, "label": "xxx" }, { "confidence": 1, "label": "normal" } ], "porn": [ { "confidence": 0, "label": "normal" }, { "confidence": 1, "label": "xxx" } ] } } ] } 状态码: 400 失败响应示例 { "error_code" : "AIS.0005", "error_msg" : "The service does not exist." }
  • 请求参数 表2 请求Header参数 参数 是否必选 参数类型 描述 X-Auth-Token 是 String 用户Token。 用于获取操作API的权限。获取方法请参见获取Token接口,响应消息头中X-Subject-Token的值即为Token。 表3 请求Body参数 参数 是否必选 参数类型 描述 urls 是 Array of strings 图片的URL路径,目前支持: 公网HTTP/HTTPS URL 华为云OBS提供的URL,使用OBS数据需要进行授权。包括对服务授权、临时授权、匿名公开授权。详请参见配置OBS访问权限。 说明: 图片的URL路径列表最多支持10个URL地址。接口响应时间依赖图片的下载时间,如果图片下载时间过长,会返回接口调用失败。请保证被审核图片所在的存储服务稳定可靠,建议您使用华为云OBS存储。 categories 否 Array of strings 检测场景。 terrorism:暴恐元素的检测。 porn:涉黄内容元素的检测。 ad:广告图文的检测。 all:包含terrorism和porn场景的检测。 可通过配置上述场景,来完对应场景元素的检测。 为空或无此参数表示terrorism检测,但不包含porn场景。 说明: 每个检测场景的检测次数会分类统计。 ad_categories 否 Array of strings 图文审核检测场景。当categories包含ad时,该参数生效。 当前支持的场景有系统场景和用户自定义场景: 系统场景为: qr_code:二维码 porn:涉黄 ad:广告 abuse:辱骂 contraband:违禁品 用户自定义场景为:自定义黑名单词库。 说明: 自定义词库的创建和使用请参见配置自定义词库 V2。 threshold 否 Double 结果过滤门限,只有置信度不低于此门限的结果才会呈现在detail的列表中,取值范围 0-1,当未设置此值时各个检测场景会使用各自的默认值。 terrorism检测场景的默认值为0。 ad检测场景的默认值为0。 无特殊需求直接不传此参数或像示例中一样值设为空字符串即可。 说明: 如果检测场景中的最高置信度也未达到threshold,则结果列表为空;反之如果设置的threshold过小,则会使结果列表中内容过多。 threshold参数不支持porn场景筛选。 threshold参数不会对响应中的suggestion产生影响。 moderation_rule 否 String 图像审核规则名称,默认使用default规则。 说明: 审核规则的创建和使用请参见配置审核规则。 show_ocr_text 否 Boolean 是否返回ocr识别结果,默认值为false。
  • 图像内容审核(V2) 本章节对图像内容审核AK/SK方式使用SDK进行示例说明。 示例代码中可以使用Url或Image配置图像信息(代表使用url或者图像的base64),示例中以url为例配置完成后运行即可。 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 package main import ( "fmt" "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/auth/basic" moderation "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/moderation/v2" "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/moderation/v2/model" region "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/moderation/v2/region" ) func main() { // 认证用的ak和sk硬编码到代码中或者明文存储都有很大的安全风险,建议在配置文件或者环境变量中密文存放,使用时解密,确保安全; // 本示例以ak和sk保存在环境变量中来实现身份验证为例,运行本示例前请先在本地环境中设置环境变量HUAWEICLOUD_SDK_AK和HUAWEICLOUD_SDK_SK。 ak := os.Getenv("HUAWEICLOUD_SDK_AK") sk := os.Getenv("HUAWEICLOUD_SDK_SK") auth := basic.NewCredentialsBuilder(). WithAk(ak). WithSk(sk). Build() client := moderation.NewModerationClient( moderation.ModerationClientBuilder(). WithRegion(region.ValueOf("xxx")). //把xxx替换成服务所在的区域,例如北京四:cn-north-4。 WithCredential(auth). Build()) request := &model.RunImageModerationRequest{} var listCategoriesbody = []model.ImageDetectionReqCategories{ model.GetImageDetectionReqCategoriesEnum().PORN, model.GetImageDetectionReqCategoriesEnum().TERRORISM, model.GetImageDetectionReqCategoriesEnum().AD, } thresholdImageDetectionReq:= float32(0) moderationRuleImageDetectionReq:= "default" urlImageDetectionReq:= "https://XXX.jpg" //此处替换为公网可以访问的图片地址 request.Body = &model.ImageDetectionReq{ Threshold: &thresholdImageDetectionReq, Categories: &listCategoriesbody, ModerationRule: &moderationRuleImageDetectionReq, Url: &urlImageDetectionReq, } response, err := client.RunImageModeration(request) if err == nil { fmt.Printf("%+v\n", response) } else { fmt.Println(err) }} 审核结果输出到控制台表示执行成功,图像内容审核结果输出到控制台。 RunImageModerationResponse {"result":{"detail":{"porn":[{"confidence":0.9883,"label":"normal"},{"confidence":0.0039,"label":"porn"},{"confidence":0.0078,"label":"sexy"}],"terrorism":[{"confidence":0.0002,"label":"terrorist"},{"confidence":0.0002,"label":"fascist"},{"confidence":0.0001,"label":"cult"},{"confidence":0.0001,"label":"kidnap"},{"confidence":0.0006,"label":"riot"},{"confidence":0.0001,"label":"parade"},{"confidence":0.0002,"label":"corpse"},{"confidence":0.0001,"label":"bloody"},{"confidence":0.0001,"label":"knife"},{"confidence":0.0001,"label":"gun"},{"confidence":0.0002,"label":"military_weapon"},{"confidence":0,"label":"special_characters"},{"confidence":0.9994,"label":"normal"}],"ad":[{"confidence":0,"label":"ad"},{"confidence":1,"label":"normal"}]},"suggestion":"pass","category_suggestions":{"ad":"pass","porn":"pass","terrorism":"pass"}}} Process exiting with code: 0 父主题: 图像审核