API接入指南

本文档介绍了调用AI安全护栏接口审核文本内容的方法。

步骤一:开通服务

前往AI安全护栏产品开通服务页面,开通AI安全护栏产品服务。

步骤二:为RAM用户授权

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

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

  2. 创建RAM用户。

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

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

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

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

步骤三:安装并接入SDK

AI安全护栏产品服务SDK请参考SDK参考

API说明

使用说明

您可以调用该接口创建文本内容检测任务。

  • 业务接口: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

暂无

新加坡

green-cip.ap-southeast-1.aliyuncs.com

green-cip-vpc.ap-southeast-1.aliyuncs.com

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

QPS限制

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

请求参数

名称

类型

是否必须

示例值

描述

Service

String

query_security_check

  • AI输入内容安全检测(query_security_check)

  • AI生成内容安全检测(response_security_check)

  • AI输入内容安全检测_出海版(query_security_check_cb)

  • AI生成内容安全检测_出海版(response_security_check_cb)

ServiceParameters

JSONString

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

表 1. ServiceParameters

名称

类型

是否必须

示例值

描述

content

String

检测内容

审核的文本内容

chatId

String

ABC123

用于唯一标识一轮“用户输入 + 大模型输出”的交互记录

返回参数

名称

类型

示例值

描述

Code

Integer

200

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

Data

JSONObject

{"Result":[...]}

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

Message

String

OK

请求消息的响应消息。

RequestId

String

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

请求ID。

表 2. Data

名称

类型

示例值

描述

Result

JSONArray

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

RiskLevel

String

high

风险等级,根据设置的高低风险分返回,返回值包括:

  • high:高风险(若命中自定义词库,风险等级默认为高风险)

  • medium:中风险

  • low:低风险

  • none:未检测到风险

说明

高风险内容建议直接处置;中风险内容建议人工复查;低风险内容建议在高召回需求时再做处理,日常建议和未检测到风险做相同处理。风险分值可以在登录AI安全护栏产品控制台配置。

SensitiveResult

JSONArray

检测的敏感内容风险标签、敏感样本等结果,具体请参见SensitiveResult

SensitiveLevel

String

S4

敏感等级,返回值包括:

S0、S1、S2、S3、S4

  • S0代表未检出敏感内容

  • 数字越高敏感程度越高

AttackResult

JSONArray

检测的攻击内容风险标签、置信分等结果,具体请参见AttackResult

AttackLevel

String

high

攻击等级,返回值包括:

  • high:高风险

  • medium:中风险

  • low:低风险

  • none:未检测到风险

表 3. Result

名称

类型

示例值

描述

Label

String

political_xxx

文字内容检测运算后返回的标签,可能会检出多个标签和分值。

Confidence

Float

81.22

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

Riskwords

String

AA,BB,CC

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

CustomizedHit

JSONArray

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

当命中自定义库时,Labelcustomized,返回自定义库名称和自定义词。

Description

String

疑似政治实体

Labal字段的说明。

重要

该字段为Label字段的解释说明,可能会变更调整,实际处理结果时建议处理Label字段,不要基于该字段进行结果处置。

表 4. CustomizedHit

名称

类型

示例值

描述

LibName

String

自定义库1

自定义库名称

Keywords

String

自定义词1,自定义词2

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

表 5. SensitiveResult

名称

类型

示例值

描述

Label

String

1780

文字内容检测运算后返回的标签,可能会检出多个标签和分值。

SensitiveLevel

String

S4

敏感等级,返回值包括:

S0、S1、S2、S3、S4

  • S0代表未检出敏感内容

  • 数字越高敏感程度越高

SensitiveData

JSONArray

["6201112223455"]

检出敏感样本(0-5个)

Description

String

信用卡号

Labal字段的说明。

重要

该字段为Label字段的解释说明,可能会变更调整,实际处理结果时建议处理Label字段,不要基于该字段进行结果处置。

表 6. AttackResult

名称

类型

示例值

描述

Label

String

Indirect Prompt Injection

文字内容检测运算后返回的标签,可能会检出多个标签和分值。

AttackLevel

String

high

攻击等级,返回值包括:

  • high:高风险

  • medium:中风险

  • low:低风险

  • none:未检测到风险

Confidence

Float

100.0

置信分值,0100

Description

String

间接提示词注入

Labal字段的说明。

重要

该字段为Label字段的解释说明,可能会变更调整,实际处理结果时建议处理Label字段,不要基于该字段进行结果处置。

示例

请求示例

{
    "Service": "query_security_check",
    "ServiceParameters": {
        "content": "testing content",
        "chatId":"ABC123"
    }
}

返回示例:

命中系统策略:

{
    "Code": 200,
    "Data": {
        "Result": [
            {
                "Label": "political_entity",
                "Description":"疑似政治实体",
                "Confidence": 100.0,
                "RiskWords": "词A,词B,词C"
            },
            {
                "Label": "political_figure",
                "Description":"疑似政治人物",
                "Confidence": 100.0,
                "RiskWords": "词A,词B,词C"
            }
            {
                "Label": "customized",
                "Description": "命中自定义库",
                "Confidence": 100.0,
                "CustomizedHit": [
                     {
                        "LibName": "自定义词库名称1",
                        "KeyWords": "自定义关键词"
                     }
                ]
             }
        ],
         "SensitiveResult": [
            {
                "Label": "1780",
                "SensitiveLevel": "S4",
                "Description":"信用卡号",
                "SensitiveData": ["6201112223455"]
            }
        ],     
         "AttackResult": [
            {
                "Label": "Indirect Prompt Injection",
                "AttackLevel": "high", 
                "Description":"间接提示词注入",
                "Confidence": 100.0
            }
        ],   
        "RiskLevel": "high",
        "SensitiveLevel": "S4",
        "AttackLevel": "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

请求频率超出配额。