文档

文本审核增强版PLUS服务

更新时间:

文本审核增强版升级PLUS服务,开放审核标签的开启和关闭功能。本文介绍文本审核PLUS服务使用方法。

风险标签

标签含义

面向文本审核PLUS服务支持返回10个类型的60+个细分标签和标签置信度。如果内容存在多种风险类型,能够同时返回多个细分标签。以下是风险标签值、对应的分值区间以及对应的含义:

标签值(label)

置信分区间(confidence)

中文含义

pornographic_adult

0~100分,分数越高置信度越高

疑似色情内容

sexual_terms

0~100分,分数越高置信度越高

疑似性健康内容

sexual_suggestive

0~100分,分数越高置信度越高

疑似低俗内容

political_figure

0~100分,分数越高置信度越高

疑似政治人物

political_entity

0~100分,分数越高置信度越高

疑似政治实体

political_n

0~100分,分数越高置信度越高

疑似敏感政治内容

political_p

0~100分,分数越高置信度越高

疑似涉政禁宣人物

political_a

0~100分,分数越高置信度越高

涉政专项升级保障

violent_extremist

0~100分,分数越高置信度越高

疑似极端组织

violent_incidents

0~100分,分数越高置信度越高

疑似极端主义内容

violent_weapons

0~100分,分数越高置信度越高

疑似武器弹药

contraband_drug

0~100分,分数越高置信度越高

疑似毒品相关

contraband_gambling

0~100分,分数越高置信度越高

疑似赌博相关

contraband_act

0~100分,分数越高置信度越高

疑似违禁行为

contraband_entity

0~100分,分数越高置信度越高

疑似违禁工具

inappropriate_discrimination

0~100分,分数越高置信度越高

疑似偏见歧视内容

inappropriate_ethics

0~100分,分数越高置信度越高

疑似不良价值观内容

inappropriate_profanity

0~100分,分数越高置信度越高

疑似攻击辱骂内容

inappropriate_oral

0~100分,分数越高置信度越高

疑似低俗口头语内容

inappropriate_superstition

0~100分,分数越高置信度越高

疑似封建迷信内容

inappropriate_nonsense

0~100分,分数越高置信度越高

疑似无意义灌水内容

pt_to_sites

0~100分,分数越高置信度越高

疑似站外引流

pt_by_recruitment

0~100分,分数越高置信度越高

疑似网赚兼职广告

pt_to_contact

0~100分,分数越高置信度越高

疑似引流广告号

religion_b

0~100分,分数越高置信度越高

疑似涉及佛教

religion_t

0~100分,分数越高置信度越高

疑似涉及道教

religion_c

0~100分,分数越高置信度越高

疑似涉及基督教

religion_i

0~100分,分数越高置信度越高

疑似涉及伊斯兰教

religion_h

0~100分,分数越高置信度越高

疑似涉及印度教

customized

0~100分,分数越高置信度越高

命中自定义词库

管理标签

每个风险标签均可以在控制台进行开关配置,部分风险标签会提供更细分检测范围的开关配置,具体参见内容安全控制台

  1. 在左侧导航栏,选择文本审核增强版>规则配置

  2. 规则管理页签,以大语言模型输入文字检测(llm_query_moderation)为例,单击操作管理检测规则

    1. 选择需要调整的检测类型,以不良内容检测为例。

    2. 单击编辑进入编辑模式,修改对应检测状态。

    3. 单击保存,保存新配置的检测范围。新配置的检测范围约2~5分钟生效并应用于生产环境。

接入指南

步骤一:开通服务

访问开通服务,开通文本审核增强版服务。

步骤二:为RAM用户授权

在接入SDK或者API之前,您需要为RAM用户授权。您可以为阿里云账号和RAM用户创建一个访问密钥(AccessKey)。在调用阿里云API时您需要使用AccessKey完成身份验证。获取方式,请参见获取AccessKey

  1. 使用RAM管理员登录RAM控制台

  2. 创建RAM用户。

    具体操作,请参见创建RAM用户

  3. 向RAM用户授权系统策略权限:AliyunYundunGreenWebFullAccess

    具体操作,请参见为RAM用户授权

    完成以上配置后,您可以使用RAM用户调用内容安全API。

步骤三:安装并接入SDK

目前文本审核PLUS服务支持的接入地域如下:

地域

外网接入地址

内网接入地址

华东2(上海)

green-cip.cn-shanghai.aliyuncs.com

green-cip-vpc.cn-shanghai.aliyuncs.com

华北2(北京)

green-cip.cn-beijing.aliyuncs.com

green-cip-vpc.cn-beijing.aliyuncs.com

华东1(杭州)

green-cip.cn-hangzhou.aliyuncs.com

green-cip-vpc.cn-hangzhou.aliyuncs.com

华南1(深圳)

green-cip.cn-shenzhen.aliyuncs.com

green-cip-vpc.cn-shenzhen.aliyuncs.com

西南1(成都)

green-cip.cn-chengdu.aliyuncs.com

暂无

Go SDK

1、执行如下命令引入相关依赖。

go get github.com/alibabacloud-go/green-20220302

2、接入Go SDK 代码示例。

package main

import (
	"encoding/json"
	"fmt"
	openapi "github.com/alibabacloud-go/darabonba-openapi/v2/client"
	green20220302 "github.com/alibabacloud-go/green-20220302/v2/client"
	util "github.com/alibabacloud-go/tea-utils/v2/service"
	"github.com/alibabacloud-go/tea/tea"
	"net/http"
)

func main() {
	// 工程代码泄露可能会导致AccessKey泄露,并威胁账号下所有资源的安全性。以下代码示例仅供参考,建议使用更安全的STS方式。
	config := &openapi.Config{
		/**
		 * 阿里云账号AccessKey拥有所有API的访问权限,建议您使用RAM用户进行API访问或日常运维。
		 * 强烈建议不要把AccessKey ID和AccessKey Secret保存到工程代码里,否则可能导致AccessKey泄露,威胁您账号下所有资源的安全。
		 * 常见获取环境变量方式:
		 * 获取RAM用户AccessKey ID:os.Getenv("ALIBABA_CLOUD_ACCESS_KEY_ID")
		 * 获取RAM用户AccessKey Secret:os.Getenv("ALIBABA_CLOUD_ACCESS_KEY_SECRET")
		 */
		AccessKeyId: tea.String("建议从环境变量中获取RAM用户AccessKey ID"),
		AccessKeySecret: tea.String("建议从环境变量中获取RAM用户AccessKey Secret"),
		// 设置HTTP代理。
		// HttpProxy: tea.String("http://xx.xx.xx.xx:xxxx"),
		// 设置HTTPS代理。
		// HttpsProxy: tea.String("https://username:password@xxx.xxx.xxx.xxx:9999"),
		RegionId: tea.String("cn-shanghai"),
		Endpoint: tea.String("green-cip.cn-shanghai.aliyuncs.com"),
		/**
		 * 请设置超时时间。服务端全链路处理超时时间为10秒,请做相应设置。
		 * 如果您设置的ReadTimeout小于服务端处理的时间,程序中会获得一个ReadTimeout异常。
		 */
		ConnectTimeout: tea.Int(3000),
		ReadTimeout: tea.Int(6000),
	}
	client, _err := green20220302.NewClient(config)
	if _err != nil {
		panic(_err)
	}

	// 创建RuntimeObject实例并设置运行参数。
	runtime := &util.RuntimeOptions{}
	runtime.ReadTimeout = tea.Int(10000)
	runtime.ConnectTimeout = tea.Int(10000)

	serviceParameters, _ := json.Marshal(
		map[string]interface{}{
			"content": "测试内容",
		},
	)
	request := green20220302.TextModerationPlusRequest{
		Service: tea.String("comment_detection_pro"),
		ServiceParameters: tea.String(string(serviceParameters)),
	}

	result, _err := client.TextModerationPlusWithOptions(&request, runtime)
	if _err != nil {
		panic(_err)
	}

	if *result.StatusCode != http.StatusOK {
		fmt.Printf("response not success. status:%d\n", *result.StatusCode)
		return
	}
	body := result.Body
	fmt.Printf("response success. requestId:%s, code:%d, msg:%s\n", *body.RequestId, *body.Code, *body.Message)
	if *body.Code != http.StatusOK {
		fmt.Printf("text moderation not success. code:%d\n", *body.Code)
		return
	}

	data := body.Data
	fmt.Printf("text moderation data:%s\n", *data)
}

PHP SDK

1、执行如下命令引入相关依赖。

composer require alibabacloud/green-20220302

2、接入PHP SDK 代码示例。

<?php
require('vendor/autoload.php');

use AlibabaCloud\SDK\Green\V20220302\Models\TextModerationPlusRequest;
use AlibabaCloud\Tea\Exception\TeaUnableRetryError;
use Darabonba\OpenApi\Models\Config;
use AlibabaCloud\Tea\Utils\Utils\RuntimeOptions;
use AlibabaCloud\SDK\Green\V20220302\Green;

$config = new Config([
    /**
     * 阿里云账号AccessKey拥有所有API的访问权限,建议您使用RAM用户进行API访问或日常运维。
     * 强烈建议不要把AccessKey ID和AccessKey Secret保存到工程代码里,否则可能导致AccessKey泄露,威胁您账号下所有资源的安全。
     * 常见获取环境变量方式:
     * 获取RAM用户AccessKey ID:getenv("ALIBABA_CLOUD_ACCESS_KEY_ID");
     * 获取RAM用户AccessKey Secret:getenv("ALIBABA_CLOUD_ACCESS_KEY_SECRET");
     */
    "accessKeyId" => '建议从环境变量中获取RAM用户AccessKey ID',
    "accessKeySecret" => '建议从环境变量中获取RAM用户AccessKey Secret',
    // 设置HTTP代理。
    // "httpProxy" => "http://10.10.xx.xx:xxxx",
    // 设置HTTPS代理。
    // "httpsProxy" => "https://10.10.xx.xx:xxxx",
    "endpoint" => "green-cip.cn-shanghai.aliyuncs.com",
    "regionId" => "cn-shanghai"

]);
// 注意,此处实例化的client请尽可能重复使用,避免重复建立连接,提升检测性能。
$client = new Green($config);

$request = new TextModerationPlusRequest();
$request->service = "comment_detection_pro";
$serviceParameters = array("content" => "测试内容");

$request->serviceParameters = json_encode($serviceParameters);

$runtime = new RuntimeOptions();
$runtime->readTimeout = 6000;
$runtime->connectTimeout = 3000;

try {
    $response = $client->textModerationPlusWithOptions($request, $runtime);
    print_r($response->body);
    if (200 != $response->statusCode) {
        print_r("response not success. code:" . $response->statusCode);
        return;
    }
    $body = $response->body;
    print_r("requestId = " . $body->requestId . "\n");
    print_r("code = " . $body->code . "\n");
    print_r("message = " . $body->message . "\n");
    if (200 != $body->code) {
        print_r("text moderation not success. code:" . $body->code);
    }
    $data = $body->data;
    print_r("data = " . json_encode($data));
} catch (TeaUnableRetryError $e) {
    var_dump($e->getMessage());
    var_dump($e->getErrorInfo());
    var_dump($e->getLastException());
    var_dump($e->getLastRequest());
}

Java SDK

在pom.xml中加入相应依赖,就可以在Maven工程中使用SDK。

1、在dependencies中添加如下依赖:

<dependency>
  <groupId>com.aliyun</groupId>
  <artifactId>green20220302</artifactId>
  <version>2.1.0</version>
</dependency>

2、接入Java SDK 代码示例

import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.aliyun.green20220302.Client;
import com.aliyun.green20220302.models.TextModerationPlusRequest;
import com.aliyun.green20220302.models.TextModerationPlusResponse;
import com.aliyun.green20220302.models.TextModerationPlusResponseBody;
import com.aliyun.teaopenapi.models.Config;


public class TextModerationPlusDemo {

    public static void main(String[] args) throws Exception {
        Config config = new Config();
        /**
         * 阿里云账号AccessKey拥有所有API的访问权限,建议您使用RAM用户进行API访问或日常运维。
         * 常见获取环境变量方式:
         * 方式一:
         *     获取RAM用户AccessKey ID:System.getenv("ALIBABA_CLOUD_ACCESS_KEY_ID");
         *     获取RAM用户AccessKey Secret:System.getenv("ALIBABA_CLOUD_ACCESS_KEY_SECRET");
         * 方式二:
         *     获取RAM用户AccessKey ID:System.getProperty("ALIBABA_CLOUD_ACCESS_KEY_ID");
         *     获取RAM用户AccessKey Secret:System.getProperty("ALIBABA_CLOUD_ACCESS_KEY_SECRET");
         */
        config.setAccessKeyId("建议从环境变量中获取RAM用户AccessKey ID");
        config.setAccessKeySecret("建议从环境变量中获取RAM用户AccessKey Secret");
        //接入区域和地址请根据实际情况修改
        config.setRegionId("cn-shanghai");
        config.setEndpoint("green-cip.cn-shanghai.aliyuncs.com");
        //连接时超时时间,单位毫秒(ms)。
        config.setReadTimeout(6000);
        //读取时超时时间,单位毫秒(ms)。
        config.setConnectTimeout(3000);
        //设置http代理。
        //config.setHttpProxy("http://xx.xx.xx.xx:xxxx");
        //设置https代理。
        //config.setHttpsProxy("https://xx.xx.xx.xx:xxxx");
        Client client = new Client(config);

        JSONObject serviceParameters = new JSONObject();
        serviceParameters.put("content", "测试文本内容");

        TextModerationPlusRequest textModerationPlusRequest = new TextModerationPlusRequest();
        // 检测类型
        textModerationPlusRequest.setService("comment_detection_pro");
        textModerationPlusRequest.setServiceParameters(serviceParameters.toJSONString());

        try {
            TextModerationPlusResponse response = client.textModerationPlus(textModerationPlusRequest);
            if (response.getStatusCode() == 200) {
                TextModerationPlusResponseBody result = response.getBody();
                System.out.println(JSON.toJSONString(result));
                System.out.println("requestId = " + result.getRequestId());
                System.out.println("code = " + result.getCode());
                System.out.println("msg = " + result.getMessage());
                Integer code = result.getCode();
                if (200 == code) {
                    TextModerationPlusResponseBody.TextModerationPlusResponseBodyData data = result.getData();
                    System.out.println(JSON.toJSONString(data, true));
                } else {
                    System.out.println("text moderation not success. code:" + code);
                }
            } else {
                System.out.println("response not success. status:" + response.getStatusCode());
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

Python SDK

支持Python 3.6及以上版本。

1、执行如下命令引入相关依赖。

pip install alibabacloud_green20220302==2.1.0

2、接入Python SDK 代码示例。

# coding=utf-8
# python version >= 3.6
from alibabacloud_green20220302.client import Client
from alibabacloud_green20220302 import models
from alibabacloud_tea_openapi.models import Config
import json

config = Config(
    # 阿里云账号AccessKey拥有所有API的访问权限,建议您使用RAM用户进行API访问或日常运维。
    # 强烈建议不要把AccessKey ID和AccessKey Secret保存到工程代码里,否则可能导致AccessKey泄露,威胁您账号下所有资源的安全。
    # 常见获取环境变量方式:
    # 获取RAM用户AccessKey ID:os.environ['ALIBABA_CLOUD_ACCESS_KEY_ID']
    # 获取RAM用户AccessKey Secret:os.environ['ALIBABA_CLOUD_ACCESS_KEY_SECRET']
    access_key_id='建议从环境变量中获取RAM用户AccessKey ID',
    access_key_secret='建议从环境变量中获取RAM用户AccessKey Secret',
    # 连接超时时间 单位毫秒(ms)
    connect_timeout=10000,
    # 读超时时间 单位毫秒(ms)
    read_timeout=3000,
    region_id='cn-hangzhou',
    endpoint='green-cip.cn-hangzhou.aliyuncs.com'
)

clt = Client(config)

serviceParameters = {
    'content': '测试文本内容'
}
textModerationPlusRequest = models.TextModerationPlusRequest(
    # 检测类型
    service='comment_detection_pro',
    service_parameters=json.dumps(serviceParameters)
)

try:
    response = clt.text_moderation_plus(textModerationPlusRequest)
    if response.status_code == 200:
        # 调用成功
        result = response.body
        print('response success. result:{}'.format(result))
    else:
        print('response not success. status:{} ,result:{}'.format(response.status_code, response))
except Exception as err:
    print(err)

API说明

使用说明

您可以调用该接口创建文本内容检测任务。关于如何构造HTTP请求,请参见请求结构;您也可以直接选用已构造好的HTTP请求,更多信息,请参见接入指南部分。

您可以在OpenAPI Explorer中直接运行该接口,免去您计算签名的困扰。运行成功后,OpenAPI Explorer可以自动生成SDK代码示例。

  • 业务接口:TextModerationPlus

  • 支持的地域及接入地址

地域

外网接入地址

内网接入地址

华东2(上海)

https://green-cip.cn-shanghai.aliyuncs.com

https://green-cip-vpc.cn-shanghai.aliyuncs.com

华北2(北京)

https://green-cip.cn-beijing.aliyuncs.com

https://green-cip-vpc.cn-beijing.aliyuncs.com

华东1(杭州)

https://green-cip.cn-hangzhou.aliyuncs.com

https://green-cip-vpc.cn-hangzhou.aliyuncs.com

华南1(深圳)

https://green-cip.cn-shenzhen.aliyuncs.com

https://green-cip-vpc.cn-shenzhen.aliyuncs.com

西南1(成都)

https://green-cip.cn-chengdu.aliyuncs.com

暂无

  • 计费信息:该接口为收费接口。仅对HTTP状态码为200的请求进行计量计费,产生其他错误码时不会计费。关于计费方式,请参见计费说明部分。

QPS限制

本接口的单用户QPS限制为100次/秒。超过限制,API调用会被限流,这可能会影响您的业务,请合理调用。

请求参数

名称

类型

是否必须

示例值

描述

Service

String

comment_detection_pro

  • nickname_detection_pro:用户昵称检测_专业版

  • chat_detection_pro:私聊互动内容检测_专业版

  • comment_detection_pro:公聊评论内容检测_专业版

ServiceParameters

JSONString

审核服务需要的参数集。JSON字符串格式,关于每个字符串的描述,请参见表ServiceParameters

表 1. ServiceParameters

名称

类型

是否必须

示例值

描述

content

String

检测内容

审核的文本内容

返回参数

名称

类型

示例值

描述

Code

Integer

200

状态码。更多信息,请参见Code说明

Data

JSONObject

{"Result":[...]}

审核结果数据,具体请参见Data

Message

String

OK

请求消息的响应消息。

RequestId

String

AAAAAA-BBBB-CCCCC-DDDD-EEEEEEEE****

请求ID。

表 2. Data

名称

类型

示例值

描述

Result

JSONArray

[{"confidence":100.0,"label":"political_entity","riskWords":"敏感词1"},{...}]

检测的风险标签、置信分等结果,具体请参见Result

表 3. Result

名称

类型

示例值

描述

Label

String

political_xxx

文字内容检测运算后返回的标签,可能会检出多个标签和分值。支持的标签请参见风险标签部分。

Confidence

Float

81.22

置信分值,0到100分,保留到小数点后2位。部分标签无置信分。

Riskwords

String

AA,BB,CC

检测到的敏感词,多个词用逗号分隔,部分标签不会返回敏感词。

CustomizedHit

JSONArray

[{"LibName":"...","Keywords":"..."}]

当命中自定义库时,Label为customized,返回自定义库名称和自定义词,具体参见CustomizedHit

表 4. CustomizedHit

名称

类型

示例值

描述

LibName

String

自定义库1

自定义库名称

Keywords

String

自定义词1,自定义词2

自定义词,多个词用逗号分隔。

示例

请求示例

{
    "Service": "comment_detection_pro",
    "ServiceParameters": {
        "content": "testing content"
    }
}

正常返回示例

{
    "code": 200,
    "data": {
        "result": [
            {
                "label": "political_entity",
                "confidence": 100.0,
                "riskWords": "词A,词B,词C"
            },
            {
                "label": "political_figure",
                "confidence": 100.0,
                "riskWords": "词A,词B,词C"
            }
        ]
    },
    "message": "OK",
    "requestId": "AAAAAA-BBBB-CCCCC-DDDD-EEEEEEEE****"
}

Code说明

Code

状态代码

说明

200

OK

请求成功。

400

BAD_REQUEST

请求有误。可能是请求参数不正确导致,请仔细检查请求参数。

408

PERMISSION_DENY

可能是您的账号未授权、账号欠费、账号未开通、账号被禁等。

500

GENERAL_ERROR

错误。可能是服务端临时出错。建议重试,若持续返回该错误码,请通过在线服务联系我们。

581

TIMEOUT

超时。建议重试,若持续返回该错误码,请通过在线服务联系我们。

588

EXCEED_QUOTA

请求频率超出配额。

  • 本页导读 (0)
文档反馈