审核智能体同步检测API接入指南

审核智能体服务支持用户通过控制台配置自定义检测能力,通过API接口实现调用并获取结果。本文介绍审核智能体同步检测API接口服务。

接入指引

  1. 注册阿里云账号:立即注册,按照操作提示完成账号注册。

  2. 开通内容安全按量付费:请确保您已开通服务,开通不收费,接口接入使用后系统会按使用量自动出账,详情请参见计费说明

  3. 创建AccessKey:请确保您已通过RAM创建AccessKey,如果您使用的是子账号AccessKey,您需要通过主账号给子账号赋予AliyunYundunGreenWebFullAccess权限,具体操作,请参见RAM授权

  4. 开发接入:推荐使用SDK方式调用,具体方法请详见审核智能体服务SDK参考

API说明

您可以调用该接口创建检测任务。您可以直接构造HTTP请求进行调用,也可以直接选用已构造好的HTTP请求,更多信息,请参见审核智能体服务SDK参考

  • 业务接口:MultiModalAgent。

  • 支持的地域及接入地址:

    地域

    外网接入地址

    内网接入地址

    华东2(上海)

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

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

  • 计费信息

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

  • 数据要求

    • 文本:

      • 接口单次请求文本长度限制为2000字符。

    • 图像:

      • 接口单次请求图片数量限制为1张。

      • 图片支持以下格式:PNG、JPG、JPEG、BMP、WEBP、TIFF、SVG、HEIC(该格式最长边需小于8192 px)、GIF(取第一帧)、ICO(取最后一图)。

      • 图片大小限制在20 MB以内,高或者宽不能超过16,384 px,且总像素不能超过1.67亿 px。像素建议大于200*200(px),像素过低会影响内容安全检测算法的效果。

      • 图片下载时间限制为3秒内,如果下载时间超过3秒,返回下载超时。

    • 图文多模态:

      • 其中文本、图像的限制分别同上述相同。

QPS限制

本接口的单用户QPS限制为10次/秒。超过限制,API调用会被限流,这可能会影响您的业务,请合理调用。如果您业务量级较大或者有紧急扩容需求需要更大QPS,请联系您的商务经理。

调试

在接入前,您也可以通过阿里云OpenAPI在线调试内容安全审核智能体的接口,查看调用示例代码及SDK依赖信息,方便概览接口的使用方法和参数。

重要

在线调试能力是基于当前登录账号调用内容安全的API接口,因此调用量会计入账号的收费用量中。

请求参数

请求body是一个JSON结构体,包含以下字段:

名称

类型

是否必须

示例值

描述

AppId

String

txt_check_agent_01

审核智能体应用ID。当您在控制台创建智能体时,会根据您所选模态,系统以固定格式生成唯一AppId,如txt_check_agent_01。目前支持的模态有:

  • 文本,格式为:txt_check_agent_xx,示例值如:txt_check_agent_01

  • 图像,格式为:img_check_agent_xx,示例值如:img_check_agent_01

  • 图文多模态,格式为:img_txt_check_agent_xx,示例值如:img_txt_check_agent_01

ServiceParameters

JSONString

-

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

表 1. ServiceParameters

名称

类型

是否必选

示例值

描述

content

String

说明

当所选模态为:文本、图文多模态时,为必选。

这是待检测文本内容

待检测的文本内容,接口单次调用限制长度2000字符。

images

JSONArray

说明

当所选模态为:图像、图文多模态时,为必选。

https://aliyun.com/240308/test001.jpg

待检测的图片内容。单次调用限制图像张数1张。更多信息参见images

dataId

String

MultiModal****

检测对象对应的数据ID。

由大小写英文字母、数字、下划线(_)、短划线(-)、英文句号(.)组成,不超过128个字符,可以用于唯一标识您的业务数据。

表 2. images

名称

类型

是否必选

示例值

描述

imageUrl

String

http://www.aliyundoc.com/a.flv

待检测对象的URL,请确保该URL能通过公网访问到,且URL地址长度不超过2048个字符。

返回数据

名称

类型

示例值

描述

RequestId

String

ABCD1234-1234-1234-1234-123****

本次调用请求的ID,是由阿里云为该请求生成的唯一标识符,可用于排查和定位问题。

Data

Object

-

多模态内容检测结果。更多信息,请参见Data

Code

String

200

状态码,和HTTP状态码一致。更多信息,请参见Code说明

Message

String

OK

本次请求的响应消息。

表 1. Data

名称

类型

示例值

描述

DataId

String

Multimodal0424***

检测对象对应的数据ID。

重要

如果在检测请求参数中传入了DataId,则此处返回对应的DataId。

RiskLevel

String

high

风险等级,整体帖子的风险等级。返回值包括:

  • high:高风险

  • none:未检测到风险

Result

JSONArray

-

检测结果。更多信息,请参见Result

Usage

Object

-

调用统计信息。更多信息,请参见Usage

表 2. Result

名称

类型

示例值

描述

Label

String

违规

风险标签。

Description

String

内容安全违规

审核智能体名称。

说明

该字段为控制台上配置的智能体名称,可支持业务自定义修改。

表 3. Usage

名称

类型

示例值

描述

PromptLength

Integer

1039

提示词的总字符长度(若调用多个智能体,将求和计算),与计量相关。

ContentLength

Integer

56

待检测文本的字符长度,与计量相关。

AgentDetail

JSON

-

各智能体的Usage明细。更多信息,请参见示例。

示例

请求示例

  • 文本模态

{
	"AppId": "txt_check_agent_01",
	"ServiceParameters": {
        "content": "这里待审核的文本内容",
        "DataId": "data123***"
    }	
  • 图像模态

{
	"AppId": "img_check_agent_01",
	"ServiceParameters": {
         "images": [
             {
              "imageUrl": "https://aliyun.com/240308/test001.jpg"
             }
        ],
        "DataId": "data123***"
    }
		
  • 图文多模态

{
	"AppId": "img_txt_check_agent_01",
	"ServiceParameters": {
        "content": "这里待审核的文本内容",
         "images": [
             {
              "imageUrl": "https://aliyun.com/240308/test001.jpg"
             }
        ],
        "DataId": "data123***"
    }
		

返回示例

  • 系统检测到有风险时

{
	"Msg": "success",
	"Code": 200,
	"Data": {
		"DataId": "123****",
		"TaskId": "TASK1234-1234-1234-1234-123***",
		"Result": [
			{
				"Label": "自定义违规标签一",
				"Description": "智能体1"
			},
			{
				"Label": "自定义违规标签二",
				"Description": "智能体2"
			}
		],
		"RiskLevel": "high",
		"usage": {
			"promptLength": 1379,
			"contentLength": 1376,
			"AgentDetail": {
				"智能体1": {
					"promptLength": 789,
					"contentLength": 1376
				},
				"智能体2": {
					"promptLength": 587,
					"contentLength": 1376
				}
			}
		}
	},
	"RequestId": "ABCD1234-1234-1234-1234-123****"
}
  • 系统检测到无风险时

{
	"Msg": "success",
	"Code": 200,
	"Data": {
		"DataId": "123****",
		"TaskId": "TASK1234-1234-1234-1234-123***",
		"Result": [
			{
				"Label": "nonLabel",
				"Description": "智能体1"
			},
			{
				"Label": "nonLabel",
				"Description": "智能体2"
			}
		],
		"RiskLevel": "none",
		"usage": {
			"promptLength": 1379,
			"contentLength": 1376,
			"AgentDetail": {
				"智能体1": {
					"promptLength": 789,
					"contentLength": 1376
				},
				"智能体2": {
					"promptLength": 587,
					"contentLength": 1376
				}
			}
		}
	},
	"RequestId": "EFCH1234-1234-1234-1234-123****"
}

Code说明

以下为审核智能体同步检测接口返回Code的含义说明,系统仅对Code返回为200的请求计量计费,其他Code不会计费。

Code

说明

200

请求正常。

400

请求参数为空。

401

请求参数错误。

402

请求参数长度不符合接口规定,请检查并修改。

408

该账号无权限调用该接口,可能是账号未开通或者已欠费,或者调用账号未被授权访问。

500

系统异常。