文本审核增强版升级PLUS服务,面向大语言模型的输入指令和生成文字分别提供审核服务,特定的模型输入指令支持检索标准回答,同时开放审核标签的开启和关闭功能。本文介绍面向大语言模型的文本审核PLUS服务使用方法。
针对大模型内容安全场景,阿里云推出更为专业和全面的AI安全护栏产品,如您是AI场景的文本审核需求,推荐使用AI安全护栏。
功能特性
相比较文本审核增强版的通用服务,文本审核PLUS服务提供面向大语言模型的审核功能,满足合规要求和业务特性。
| 对比项 | 文本审核PLUS服务 | 文本审核通用服务 | 
| 业务场景 | 面向大语言模型应用提供检测服务: 
 | 提供AIGC类文字检测服务: 
 | 
| 审核能力 | 
 | 
 | 
| 标签体系 | 
 | 
 | 
| 接口功能 | 业务接口为 TextModerationPlus: 
 | 业务接口为 TextModeration: 
 | 
代答库管理
可以在控制台管理代答库,具体参见内容安全控制台。
- 在左侧导航栏,选择。 
- 在代答库管理页签,支持对代答库及代答库中的答案进行增加或修改。 - 单击创建代答库,填写代答库名称。可选择批量添加答案或上传文件导入,也可选择先建库,后面再添加答案  
- 在代答库名称列表,单击操作列管理进入代答库答案维护页面。 
- 单击添加,支持批量添加答案。 
- 支持对该代答库中的答案进行增删改操作。  
 
代答库自定义配置
可以在控制台根据标签,自定义配置代答库,具体参见内容安全控制台。
- 在左侧导航栏,选择。 
- 在规则管理页签,以大语言模型输入文字检测(llm_query_moderation)为例,单击操作列管理检测规则。 - 选择需要调整的检测类型,以广告内容检测为例。 
- 单击编辑进入编辑模式,修改自定义配置代答库配置。 
- 在代答库选配列,可选择已创建的代答库,也可单击增加代答库新增代答库。单个标签,最多支持配置三个代答库。 
- 单击保存,保存新配置的自定义代答库。新配置的自定义代答库约1分钟内生效并应用于生产环境。  
 
计费说明
文本审核增强版PLUS服务支持按量后付费和资源包抵扣两种付费方式。
按量后付费
当您开通文本审核增强版服务后,默认付费方式是按量后付费,且按照实际用量结算当日费用,不调用服务不收费。
| 审核类型 | 支持的业务场景(服务) | 计费单价 | 
| 文本审核高级(text_advanced) | 
 | 15元/万次 | 
资源包抵扣
如果您的审核量较大,或有相对固定的审核需求,建议预先购买资源包的方式。购买资源包规格越大,享受的折扣越大,支持叠加购买和使用。更多内容,请参见购买内容审核增强版抵扣资源包。
该资源包用于内容审核增强版用量的抵扣,无法与内容安全1.0流量包共享,具体的抵扣系数如下:
| 审核类型 | 支持的业务场景(服务) | 抵扣系数 | 
| 文本审核高级(text_advanced) | 
 | 抵扣系数为2,表示每成功调用一次接口,抵扣资源包的流量包容量规格2次。 例如购买的资源包的流量包容量规格为10次,当您成功调用1次接口,抵扣流量包容量规格2次,剩余8次。 | 
接入指南
步骤一:开通服务
访问开通服务,开通文本审核增强版服务。
步骤二:为RAM用户授权
在接入SDK或者API之前,您需要为RAM用户授权。您可以为阿里云账号和RAM用户创建一个访问密钥(AccessKey)。在调用阿里云API时您需要使用AccessKey完成身份验证。获取方式,请参见获取AccessKey。
- 使用RAM管理员登录RAM控制台。 
- 创建RAM用户。具体操作,请参见创建RAM用户。 
- 向RAM用户授权系统策略权限:AliyunYundunGreenWebFullAccess。具体操作,请参见为RAM用户授权。 完成以上配置后,您可以使用RAM用户调用内容安全API。
步骤三:安装并接入SDK
目前文本审核PLUS服务支持的接入地域如下,文本审核增强版PLUS服务SDK请参考接入指南。
| 地域 | 外网接入地址 | 内网接入地址 | 
| 华北2(北京) | green-cip.cn-beijing.aliyuncs.com | green-cip-vpc.cn-beijing.aliyuncs.com | 
| 华东2(上海) | green-cip.cn-shanghai.aliyuncs.com | green-cip-vpc.cn-shanghai.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 | 暂无 | 
API说明
使用说明
您可以调用该接口创建文本内容检测任务。关于如何构造HTTP请求,请参见文本审核增强版PLUS服务SDK及接入指南;您也可以直接选用已构造好的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 | 是 | llm_query_moderation | 
 | 
| ServiceParameters | JSONString | 是 | 审核服务需要的参数集。JSON字符串格式,关于每个字符串的描述,请参见ServiceParameters。 | 
表 1. ServiceParameters
| 名称 | 类型 | 是否必须 | 示例值 | 描述 | 
| content | String | 是 | 检测内容 | 审核的文本内容,默认输入文本字数限制分别是: 
 | 
| accountId | String | 否 | 13**** | 账户ID,标识一个账户的唯一ID。传入账号ID时会结合相同账号ID的前后文进行审核。 说明  推荐配合llm_query_moderation使用。 | 
| sessionId | String | 否 | 14**** | 会话ID,标记本次请求内容属于同一段流式内容,文本审核引擎会自动拼接后进行审核,审核拼接文字片段后不超过服务字数限制的部分。 说明  推荐配合llm_response_moderation使用。使用 sessionId时不能够同时传入参数 accountId。 | 
| dataId | String | 否 | text0424**** | 检测对象对应的数据ID。 由大小写英文字母、数字、下划线(_)、短划线(-)、英文句号(.)组成,不超过64个字符,可以用于唯一标识您的业务数据。 | 
返回参数
| 名称 | 类型 | 示例值 | 描述 | 
| Code | Integer | 200 | 状态码。更多信息,请参见Code说明。 | 
| Data | JSONObject | {"Result":[...],"Advice":[...]} | 审核结果数据,具体请参见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。 | 
| RiskLevel | String | high | 风险等级,根据设置的高低风险分返回,返回值包括: 
 说明  高风险内容建议直接处置;中风险内容建议人工复查;低风险内容建议在高召回需求时再做处理,日常建议和未检测到风险做相同处理。风险分值可以在内容安全控制台配置。 | 
| Advice | JSONArray | [{"Answer":"这是标准回答"}] | 调用检测服务llm_query_moderation时,如果输入指令检索并匹配特定知识库,则返回标准回答,具体请参见Advice。 | 
| DataId | String | text0424**** | 检测对象对应的数据ID。 说明  如果在检测请求参数中传入了dataId,则此处返回对应的dataId。 | 
表 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 | 自定义词,多个词用逗号分隔。 | 
表 5. Advice
| 名称 | 类型 | 示例值 | 描述 | 
| Answer | String | 这是一条标准回答 | 在调用检测服务时,支持返回代答内容: 
 说明  仅在调用llm_query_moderation服务时支持。 
 | 
| HitLabel | String | political_xxx | 在文字内容检测运算后返回的标签中,取较高风险的标签,支持的标签请参见风险标签。 | 
| HitLibName | String | 自定义代答库001 | 自定义配置代答库名称。 | 
示例
请求示例
{
    "Service": "llm_query_moderation",
    "ServiceParameters": {
        "content": "testing content"
    }
}- 正常返回示例: 
{
    "Code": 200,
    "Data": {
        "Result": [
            {
                "Label": "nonLabel"
            }
        ],
        "RiskLevel": "none"
    },
    "Message": "OK",
    "RequestId": "AAAAAA-BBBB-CCCCC-DDDD-EEEEEEEE****"
}- 如果命中必答代答库,返回示例: 
{
    "Code": 200,
    "Data": {
        "Advice": [
            {
                "Answer": "这是一条标准回答返回的示例。"
            }
        ],
        "Result": [
            {
                "Label": "political_entity",
                "Confidence": 100.0,
                "RiskWords": "词A,词B,词C"
            },
            {
                "Label": "political_figure",
                "Confidence": 100.0,
                "RiskWords": "词A,词B,词C"
            }
        ],
        "RiskLevel": "high"
    },
    "Message": "OK",
    "RequestId": "AAAAAA-BBBB-CCCCC-DDDD-EEEEEEEE****"
}- 如果命中用户自定义拒答代答库,返回示例: 
{
    "Code": 200,
    "Data": {
        "Advice": [
            {
                "HitLabel": "political_entity",
                "Answer": "这是一条标准回答返回的示例。",
                "HitLibName": "political_entity-001"
            }
        ],
        "Result": [
            {
                "Label": "political_entity",
                "Confidence": 100.0,
                "RiskWords": "词A,词B,词C"
            },
            {
                "Label": "political_figure",
                "Confidence": 100.0,
                "RiskWords": "词A,词B,词C"
            }
        ],
        "RiskLevel": "high"
    },
    "Message": "OK",
    "RequestId": "AAAAAA-BBBB-CCCCC-DDDD-EEEEEEEE****"
}- 如果命中系统拒答代答库,返回示例: 
{
    "Code": 200,
    "Data": {
        "Advice": [
            {
                "HitLabel": "political_entity",
                "Answer": "这是一条标准回答返回的示例。"
            }
        ],
        "Result": [
            {
                "Label": "political_entity",
                "Confidence": 100.0,
                "RiskWords": "词A,词B,词C"
            },
            {
                "Label": "political_figure",
                "Confidence": 100.0,
                "RiskWords": "词A,词B,词C"
            }
        ],
        "RiskLevel": "high"
    },
    "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 | 请求频率超出配额。 | 
