云服务器内容精选

  • 响应示例 状态码: 200 成功响应示例 { "request_id" : "58e7d9c7-3456-4ba1-80df-6f25506bc4df", "result" : { "suggestion" : "block", "label" : "customized", "details" : [ { "suggestion" : "block", "label" : "customized", "confidence" : 1, "segments" : [ { "segment" : "xxx", "glossary_name" : "zzz" } ] } ] } } 状态码: 400 失败响应示例 { "error_code" : "AIS.0011", "error_msg" : "Lack the request parameter, or the request parameter is empty." }
  • 请求示例 “endpoint”即调用API的请求地址,不同服务不同区域的endpoint不同,具体请参见终端节点。 例如,服务部署在“华北-北京四”区域的“endpoint”为“moderation.cn-north-4.myhuaweicloud.com”,请求URL为“https://moderation.cn-north-4.myhuaweicloud.com/v3/{project_id}/moderation/text”,“project_id”为项目ID,获取方法请参见获取项目ID。 识别文本内容是否有敏感内容,事件类型为评论,命中的自定义词库名称为custom_xxx,检测时使用的自定义白名单词库列表为custom_xxx,检测文本为asdfasdfasdf。 POST https://{endpoint}/v3/{project_id}/moderation/text { "event_type" : "comment", "glossary_names" : [ "custom_xxx" ], "white_glossary_names" : [ "custom_xxx" ], "data" : { "text" : "asdfasdfasdf" } } 使用biz_type调用 POST https://{endpoint}/v3/{project_id}/moderation/text { "biz_type" : "my_custom_type", "data" : { "text" : "asdfasdfasdf" } }
  • 响应参数 状态码: 200 表5 响应Body参数 参数 参数类型 描述 request_id String 本次请求的唯一标识,用于问题排查,建议保存 最小长度:2 最大长度:64 result TextDetectionResult object 调用成功时表示调用结果。 调用失败时无此字段。 表6 TextDetectionResult 参数 参数类型 描述 suggestion String 审核结果是否通过。 block:包含敏感信息,不通过 pass:不包含敏感信息,通过 review:需要人工复检 label String 检测结果的标签。支持label列表如下: terrorism: 暴恐 porn: 色情 ban: 违禁 abuse: 辱骂 ad: 广告 customized:自定义(命中自定义词库中的关键词) details Array of TextDetectionResultDetail objects 检测详情。 表7 TextDetectionResultDetail 参数 参数类型 描述 suggestion String 审核结果是否通过。 block:包含敏感信息,不通过 pass:不包含敏感信息,通过 review:需要人工复检 label String 检测结果的标签。 支持label列表如下: terrorism: 暴恐 porn: 色情 ban: 违禁 abuse: 辱骂 ad: 广告 customized:自定义(命中自定义词库中的关键词) confidence Float 置信度,取值范围 0-1,值越大,可信度越高。 segments Array of Segment objects 命中的风险片段信息,如果命中了语义算法模型,则会返回一个空的列表。 表8 Segment 参数 参数类型 描述 segment String 命中的风险片段。 glossary_name String 命中的自定义词库名称。 命中自定义词库时,才会返回当前字段。 position Array of integers 命中的风险片段在文本中的位置,起始位置从0开始。 状态码: 400 表9 响应Body参数 参数 参数类型 描述 error_code String 调用失败时的错误码,具体请参见错误码。 调用成功时无此字段。 error_msg String 调用失败时的错误信息。 调用成功时无此字段。
  • 功能介绍 分析并识别上传的文本内容是否有敏感内容,并将识别结果返回给您。 相比于V2版本,V3版本增强了服务的审核能力,能够给您带来更好的 内容审核 使用体验。 当前仅支持中文内容审核,其他语言的 文本审核 暂不支持。 文本内容审核 默认API调用最大并发为50,如需调整更高并发限制请联系华为专业工程师为您服务。 您可以配置自定义词库,来过滤和检测指定文本内容。自定义词库的创建和使用请参见配置自定义词库 V3。
  • 请求参数 表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 事件类型。可选值如下: nickname: 昵称。 title: 标题。 article: 帖子。 comment: 评论。 barrage: 弹幕。 search: 搜索栏。 profile: 个人简介。 glossary_names 否 Array of strings 检测时使用的自定义黑名单词库列表。 说明: 自定义黑名单词库的创建和使用请参见配置自定义词库 V3。 white_glossary_names 否 Array of strings 检测时使用的自定义白名单词库列表。 说明: 自定义白名单词库的创建和使用请参见配置自定义词库 V3。 categories 否 Array of strings 文本审核场景,可选值如下: terrorism:暴恐。 porn:色情。 ban:违禁。 abuse: 辱骂。 ad:广告。 当categories为空时,默认为所有审核场景。 data 是 TextDetectionDataReq object 检测数据。 biz_type 否 String 用户在控制台界面创建的自定义审核策略名称。 如果请求参数中传了biz_type则优先使用biz_type,event_type和categories参数将不生效,审核策略由biz_type的设置决定。 如果用户没传biz_type则event_type必须传。 表4 TextDetectionDataReq 参数 是否必选 参数类型 描述 text 是 String 待检测文本,编码格式为“utf-8”,限定1500个字符以内,文本长度超过1500个字符时,只检测前1500个字符。 最小长度:1 最大长度:1500 language 否 String 支持检测的文本语言。可选值为zh:中文。 不传该参数表示默认为zh。
  • 文本内容审核(V3) 本章节对文本内容审核AK/SK方式使用SDK进行示例说明。 示例代码中可以使用TextDetectionDataReq类的withText方法配置待检测的文本信息,配置完成后运行即可。 服务所在的应用区域和终端节点,详情请查看 地区和终端节点 。 package com.huaweicloud.sdk.test; import com.huaweicloud.sdk.core.auth.ICredential; import com.huaweicloud.sdk.core.auth.BasicCredentials; import com.huaweicloud.sdk.core.exception.ConnectionException; import com.huaweicloud.sdk.core.exception.RequestTimeoutException; import com.huaweicloud.sdk.core.exception.ServiceResponseException; import com.huaweicloud.sdk.core.region.Region; import com.huaweicloud.sdk.moderation.v3.*; import com.huaweicloud.sdk.moderation.v3.model.*; public class RunTextModerationSolution { public static void main(String[] args) { // 认证用的ak和sk硬编码到代码中或者明文存储都有很大的安全风险,建议在配置文件或者环境变量中密文存放,使用时解密,确保安全 // 本示例以ak和sk保存在环境变量中来实现身份验证为例,运行本示例前请先在本地环境中设置环境变量HUAWEICLOUD_SDK_AK和HUAWEICLOUD_SDK_SK String ak = System.getenv("HUAWEICLOUD_SDK_AK"); String sk = System.getenv("HUAWEICLOUD_SDK_SK"); ICredential auth = new BasicCredentials() .withAk(ak) .withSk(sk); ModerationClient client = ModerationClient.newBuilder() .withCredential(auth) .withRegion(ModerationRegion.valueOf("xxx")) //把xxx替换成服务所在的区域,例如北京四:cn-north-4。 .build(); RunTextModerationRequest request = new RunTextModerationRequest(); TextDetectionReq body = new TextDetectionReq(); TextDetectionDataReq databody = new TextDetectionDataReq(); databody.withText("test"); body.withData(databody); body.withEventType("comment"); request.withBody(body); try { RunTextModerationResponse response = client.runTextModeration(request); System.out.println(response.toString()); } catch (ConnectionException e) { e.printStackTrace(); } catch (RequestTimeoutException e) { e.printStackTrace(); } catch (ServiceResponseException e) { e.printStackTrace(); System.out.println(e.getHttpStatusCode()); System.out.println(e.getErrorCode()); System.out.println(e.getErrorMsg()); } } } 控制台输出200即表示程序执行成功,文本内容审核结果输出到控制台。 class RunTextModerationResponse { requestId: 308b6ad2740e51de73597da9fdc94ee1 result: class TextDetectionResult { suggestion: pass label: normal details: [] } } 父主题: 文本审核
  • 文本内容审核(V2) 本章节对文本内容审核AK/SK方式使用SDK进行示例说明。 示例代码中可以将TextDetectionItemsReq的Text配置待检测的文本信息,配置完成后运行即可。 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 49 50 51 52 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.RunTextModerationRequest{} typeItemsTextDetectionItemsReq:= "content" var listItemsbody = []model.TextDetectionItemsReq{ { Text: "text", //此处输入待检测文本 Type: &typeItemsTextDetectionItemsReq, }, } var listCategoriesbody = []string{ "porn", "ad", "abuse", "contraband", "flood", } request.Body = &model.TextDetectionReq{ Items: listItemsbody, Categories: &listCategoriesbody, } response, err := client.RunTextModeration(request) if err == nil { fmt.Printf("%+v\n", response) } else { fmt.Println(err) }} 审核结果输出到控制台表示执行成功,文本内容审核结果输出到控制台。 RunTextModerationResponse {"result":{"suggestion":"block","detail":{"contraband":["亚砷酸钾"],"porn":["luo聊"]}}} Process exiting with code: 0 父主题: 文本审核
  • 响应参数 状态码: 200 表5 响应Body参数 参数 参数类型 描述 result result object 调用成功时表示调用结果。 调用失败时无此字段。 表6 result 参数 参数类型 描述 suggestion String 检测结果是否通过。 block:包含敏感信息,不通过。 pass:不包含敏感信息,通过。 review:需要人工复查。 detail Object 返回的相关检测结果详细信息。 porn:涉黄敏感词列表。 ad:广告敏感词列表。 abuse:辱骂敏感词列表。 contraband:违禁品敏感词列表。 flood:灌水文本(指无意义的文本词语常见于贴吧等灌水帖子)。 说明: 灌水文本最多显示200个字符。 每个场景的返回结果的详细信息是指命中词,不是返回全部文本。 状态码: 400 表7 响应Body参数 参数 参数类型 描述 error_code String 调用失败时的错误码,具体请参见错误码。 调用成功时无此字段。 error_msg String 调用失败时的错误信息。 调用成功时无此字段。 fail_category String 当包含多个场景时,调用失败的场景。
  • 响应示例 状态码: 200 成功响应示例 { "result" : { "detail" : { "abuse" : [ "fuck" ] }, "suggestion" : "block" }} 状态码: 400 失败响应示例 { "error_code" : "AIS.0005", "error_msg" : "The service does not exist."}
  • 请求示例 识别文本内容是否有敏感内容,检测场景为广告,辱骂,涉黄,违禁品,灌水,检测文本为asdfasdfasdf。 “endpoint”即调用API的请求地址,不同服务不同区域的endpoint不同,具体请参见终端节点。 例如,服务部署在“华北-北京四”区域的“endpoint”为“moderation.cn-north-4.myhuaweicloud.com”,请求URL为“https://moderation.cn-north-4.myhuaweicloud.com/v2/{project_id}/moderation/text”,“project_id”为项目ID,获取方法请参见获取项目ID。 POST https://{endpoint}/v2/{project_id}/moderation/text{ "categories" : [ "ad", "abuse", "porn", "contraband", "flood" ], "items" : [ { "text" : "asdfasdfasdf", "type" : "content" } ]}
  • 请求参数 表2 请求Header参数 参数 是否必选 参数类型 描述 X-Auth-Token 是 String 用户Token。 用于获取操作API的权限。获取方法请参见获取Token接口,响应消息头中X-Subject-Token的值即为Token。 表3 请求Body参数 参数 是否必选 参数类型 描述 categories 否 Array of strings 检测场景。 当前支持的场景有默认场景和用户自定义场景: 默认场景为: porn:涉黄 ad:广告 abuse:辱骂 contraband:违禁品 flood:灌水 (单个或多个数字/字符/标点符号大量重复出现在文本中,将被识别为灌水) 用户自定义场景为:自定义黑名单词库。 说明: 默认场景采用人工智能文本检测技术识别您所上传的文本内容,自定义场景可通过您自行配置黑名单词库来过滤和检测指定文本内容。 自定义黑名单词库的名称指定给categories就是设置自定义的场景,自定义词库的创建和使用请参见配置自定义词库。 flood场景不支持使用自定义白名单词库。 white_glossaries 否 Array of strings 启用的白名单列表。不配置该参数,默认使用2022-09-02 16:00:00之前创建的白名单词库。 配置该参数,有如下规则: 当参数为空列表(即为[ ])时,表示不使用白名单词库。 当参数设置为您创建的白名单词库名称时,表示启用该词库。 说明: 如果您有多个白名单词库想要同时使用,例如有三个白名单词库分别为A,B,C。该参数应设置为["A", "B", "C"] 。 白名单词库的创建和使用请参见创建自定义白名单词库。 items 是 Array of TextDetectionItemsReq objects 待检测的文本列表,目前暂时每次只支持传一个item。 表4 TextDetectionItemsReq 参数 是否必选 参数类型 描述 text 是 String 待检测文本。编码格式为“utf-8”,限定1-5000个字符,文本长度超过5000个字符时,只检测前5000个字符。 type 否 String 文本类型。默认为“content”,即正文内容,当前只支持“content”类型,未来会扩大支持类型范围。