推送模式
AIGC 内容检测解决方案的结果获取支持轮询模式
,用于获取 会话自动关闭时未过检片段的机器检测结果 和人工审核结果,轮询模式
与推送模式
是互斥的,业务侧只能选择其中一种模式进行结果获取。
接口说明
主动推送模式以数据为维度推送结果,将 AIGC 内容检测解决方案的审核结果推送给客户。客户需要在调用检测接口时设置回调地址 callbackUrl
参数,并确保回调接收接口的可用性和稳定性,以正常接收推送的结果数据。
鉴权说明
易盾内容安全服务使用签名方法对接口进行鉴权。接口请求需要包含签名信息(signature
参数)以验证用户身份,防止信息被恶意篡改。目前支持 MD5
、SHA1
、SHA256
、SM3
等几种加密算法,鉴权流程详见 接口鉴权 。
接口限制
- 协议说明:检测接口请求参数中指定了回调地址参数
callbackUrl
(即一个 HTTP(S) 协议接口的 URL)。主动推送接口需要支持 HTTP 协议和 POST 方法,传输数据编码采用 UTF-8。 - 接口性能:推送结果接口默认超时时间为 2 秒。为了保证顺利接收数据,客户需确保接收接口的可用性和性能稳定。
- 失败重试:客户接口处理结果数据并返回应答。如果客户接口请求异常、超时或收到的应答不符合规范,易盾侧会认为推送失败。我们将每隔 10 分钟推送一次,如果一直失败,持续一天后将不再推送。
- 幂等性:结果推送时,相同的结果可能会多次请求客户接口。客户接口需要保证幂等性,能够正确处理重复的结果数据。
接口耗时
回调接口需业务侧保证可用性和性能稳定,易盾请求超时时间为 2s,业务侧接口尽量保证在 1s 内返回应答,如有特殊要求,可联系易盾运营适当调整超时时间。
请求
请求地址
名称 | 值 |
---|---|
HTTP URL | 回调地址 callbackUrl |
HTTP Method | POST |
请求头
名称 | 类型 | 描述 |
---|---|---|
Content-Type | String | 固定值:"application/x-www-form-urlencoded" |
请求参数
名称 | 类型 | 是否必填 | 最大长度 | 描述 |
---|---|---|---|---|
secretId | String | 是 | 32 | 产品密钥 ID,由易盾分配,产品标识 |
businessId | String | 是 | 32 | 业务 ID ,由易盾分配,业务标识 |
signature | String | 是 | 32 | 请求签名,用来验证此次请求的合法性,具体算法见接口鉴权 |
callbackData | String | 是 | - | 主动推送结果数据,格式为 JSON 字符串 |
结果有人工审核结果
和机器审核结果
两种类型,不同类型的结果返回的 callbackData
的结构不同,可根据结果中的 resultType
区分, 1:机器审核结果、2:人工审核结果
详细结果字段如下,通用字段已省略,详见响应公共字段:响应公共字段
机器审核结果
字段名称 | 类型 | 是否必返 | 描述 |
---|---|---|---|
result | Object[] | 是 | 文本回调结果 |
∟sessionTaskId | String | 是 | 当前流式检测活跃会话的主数据 sessionTaskId,能够根据该值定位到该条数据,如对检测结果有异议,可以发送该值给策略经理查询。 |
∟sessionId | String | 是 | 当前流式检测活跃会话的会话 ID |
∟ antispam | Object | 否 | 文本内容安全检测结果 |
∟ taskId | String | 是 | 当前实际过检片段的检测任务 ID,易盾侧机审数据唯一标识,能够根据该值定位到该条数据,如对检测结果有异议,可以发送该值给策略经理查询 |
∟ dataId | String | 是 | 上传数据唯一标识,能够根据该值定位到该条数据,如对数据结果有异议,可以发送该值给策略经理查询 |
∟ suggestion | Number | 是 | 建议动作,0:通过、1:嫌疑、2:不通过 |
∟ label | Number | 是 | 命中分类信息,100:色情、200:广告、260:广告法、300:暴恐、400:违禁、500:涉政、600:谩骂、700:灌水、900:其他、1100:涉价值观 |
∟ secondLabel | String | 否 | 命中二级标签细分类 |
∟ thirdLabel | String | 否 | 命中三级标签细分类 |
∟ customAction | Number | 否 | 自定义动作,0:通过、2:不通过。字段用于智能审核系统-机审标准集 中的自定义调度功能,可以将机器检测嫌疑结果通过配置映射为业务自己的自定义动作,可参考流程: |
∟ suggestionLevel | Number | 否 | 嫌疑级别,针对部分定制策略支持命中嫌疑时返回,1:低嫌疑、2:高嫌疑。对通用策略、模型结果暂不支持 |
∟ resultType | Number | 是 | 结果类型,1:机器结果、2:人审结果 |
∟ censorType | Number | 是 | 审核模式,0:纯机审、1:机审+部分人审、2:机审+全量人审 |
∟ strategyVersions | Object[] | 否 | 策略版本号,策略更新时该参数会更新,可用于追溯策略调优效果 |
∟ label | Number | 是 | 分类信息,100:色情、200:广告、260:广告法、300:暴恐、400:违禁、500:涉政、600:谩骂、700:灌水、900:其他、1100:涉价值观 |
∟ version | String | 是 | 版本号 |
∟ isRelatedHit | Boolean | 是 | 是否命中关联检测,true:关联检测命中、false:关联检测未命中 |
∟ filteredContent | String | 否 | 过滤后文本内容,当命中信息中包含敏感词时,将敏感词内容用*代替后返回,*号数量与敏感词字数相同;若未命中敏感词,则不返回 |
∟ mergeHints | String[] | 否 | 文本命中线索内容,若文本多个位置内容存在风险,会将所有线索内容合并在一起返回 |
∟ labels | Object[] | 是 | 命中的分类信息,未命中时返回为空 |
∟ label | Number | 是 | 命中分类信息,100:色情、200:广告、260:广告法、300:暴恐、400:违禁、500:涉政、600:谩骂、700:灌水、900:其他、1100:涉价值观 |
∟ rate | Number | 是 | 置信度分数,0-1 之间取值,1 为置信度最高,0 为置信度最低 |
∟ level | Number | 是 | 命中级别,1:嫌疑、2:不通过、0:正常 |
∟ subLabels | Object[] | 否 | 细分类信息,可能包含多个 |
∟ subLabel | String | 是 | 末级标签,可能是二级或三级,层级见 subLabelDepth ,详细编码请参考 标签对照表 ,请定期通过 标签接口 获取最新的标签信息,避免遗漏新标签风险 |
∟ subLabelDepth | Number | 是 | 末级标签的标签层级,2:二级标签、3:三级标签 |
∟ secondLabel | String | 是 | 命中二级标签细分类 |
∟ thirdLabel | String | 否 | 命中三级标签细分类 |
∟ rate | Number | 否 | 置信度分数,0-1 之间取值,1 为置信度最高,0 为置信度最低 |
∟ politicalSentiment | Number | 否 | 涉政正负向属性,0:正向、1:负向、2:中性。如有需要请您的联系专属商务,未开通状态下不返回 |
∟ details | Object | 否 | 命中的详细信息 |
∟ keywords | Object[] | 否 | 命中的敏感词信息 |
∟ word | String | 是 | 自定义敏感词内容 |
∟ libInfos | Object[] | 否 | 命中的自定义库信息 |
∟ type | Number | 是 | 库类型,1:自定义用户名单库、2:自定义 IP 名单库 |
∟ entity | String | 是 | 自定义用户名单信息,自定义 IP 名单信息 |
∟ releaseTime | Number | 是 | 名单解封时间,时间戳单位毫秒 |
∟ anticheat | Object | 否 | 命中的反作弊信息 |
∟ hitType | Number | 是 | 反作弊命中类型,详见 hitType返回码及含义表 |
∟ rules | Object[] | 否 | 命中用户自定义的规则信息 |
∟ name | String | 是 | 规则名 |
∟ hitInfos | Object[] | 否 | 命中的线索信息 |
∟ value | String | 是 | 线索内容 |
∟ positions | Object[] | 是 | 线索位置,数据起始位置为 0,如果返回线索信息中包含 emoij 表情,一般 emoij 表情占 2 位 |
∟ fieldName | String | 是 | 位置类型,content:正文、title:标题 |
∟ startPos | Number | 是 | 线索开始坐标 |
∟ endPos | Number | 是 | 线索结束坐标 |
∟ language | Object | 否 | 文本语种检测结果,如有需要请联系您的专属商务,未开通状态下不返回 |
∟ taskId | String | 是 | 当前实际过检片段的检测任务ID,易盾侧机审数据唯一标识,能够根据该值定位到该条数据,如对检测结果有异议,可以发送该值给策略经理查询 |
∟ dataId | String | 是 | 上传数据唯一标识,能够根据该值定位到该条数据,如对数据结果有异议,可以发送该值给策略经理查询 |
∟ details | Object[] | 否 | 命中的详细信息 |
∟ type | String | 是 | 语种代码详见,语种代码表 |
∟ aigcPrompt | Object | 否 | aigc 提示分析结果,如有需要请联系您的专属商务,未开通状态下不返回 |
∟ taskId | String | 是 | 当前实际过检片段的检测任务 ID,易盾侧机审数据唯一标识,能够根据该值定位到该条数据,如对检测结果有异议,可以发送该值给策略经理查询 |
∟ dataId | String | 是 | 上传数据唯一标识,能够根据该值定位到该条数据,如对数据结果有异议,可以发送该值给策略经理查询 |
∟ details | Object[] | 是 | aigc 提示分析详情 |
∟ source | Number | 是 | 标记对外输出内容由知识库结果还是大模型生成的结果,0:知识库输出结果、1:大模型生成结果) |
∟ type | Number | 是 | prompt 分类的枚举值,1:需拦截、2:需正向引导、3:准确回答、4:需拦截/正向引导 |
∟ answer | String | 否 | 代答内容 |
机器审核结果示例
{
"code": 200,
"msg": "ok",
"result": [
{
"sessionTaskId": "fx6sxdcd89fvbvg4967b4787d73a",
"sessionId": "74fb17f1-1404-4230-9b23-8e8157e50bf3",
"antispam": {
"dataId": "1678256782070",
"suggestion": 1,
"customAction": 0,
"censorType": 0,
"isRelatedHit": false,
"censorTime": 1678256782119,
"resultType": 1,
"taskId": "fx6sxdcd89fvbvg4967b4787d78a",
"labels": [
{
"subLabels": [
{
"subLabel": "200009",
"subLabelDepth": 2,
"details": {
"hitInfos": [
{
"positions": [
{
"fieldName": "content",
"startPos": 0,
"endPos": 3
}
],
"value": "加微信"
}
]
},
"secondLabel": "200009"
}
],
"level": 1,
"rate": 0.5,
"label": 200
}
]
},
"language": {
"taskId": "fx6sxdcd89fvbvg4967b4787d78a",
"dataId": "dataId",
"details": [
{
"type": "zh"
}
]
},
"aigcPrompt": {
"dataId": "1678256782070",
"taskId": "fx6sxdcd89fvbvg4967b4787d78a",
"details": [
{
"source": 0,
"type": 1,
"answer": "aa"
}
]
}
}
]
}
人工审核结果
名称 | 类型 | 是否返回 | 描述 |
---|---|---|---|
result | Object[] | 是 | 文本回调结果 |
∟sessionTaskId | String | 是 | 当前流式检测活跃会话的主数据 sessionTaskId ,能够根据该值定位到该条数据,如对检测结果有异议,可以发送该值给策略经理查询。 |
∟sessionId | String | 是 | 当前流式检测活跃会话的会话 ID |
∟ antispam | Object | 是 | 文本内容安全检测结果 |
∟ taskId | String | 是 | 当前实际过检片段的检测任务 ID,易盾侧机审数据唯一标识,能够根据该值定位到该条数据,如对检测结果有异议,可以发送该值给策略经理查询 |
∟dataId | String | 是 | 上传数据唯一标识,能够根据该值定位到该条数据,如对数据结果有异议,可以发送该值给策略经理查询 |
∟suggestion | Number | 是 | 建议动作,0:通过、2:不通过 |
∟remark | String | 否 | 人审备注信息 |
∟resultType | Number | 是 | 结果类型,1:机器结果、2:人审结果 |
∟censorType | Number | 是 | 审核模式,0:纯机审、1:机审+部分人审、2:机审+全量人审 |
∟callback | String | 是 | 调用 AIGC 内容检测提交接口时传递的callback 字段数据。 |
∟ censorLabels | Object[] | 是 | 审核标签信息 |
∟ code | String | 是 | 审核标签唯一编号 |
∟ desc | String | 否 | 选择标签填写的备注内容 |
∟ customCode | 否 | String | 自定义审核标签编号 |
∟ name | String | 是 | 审核标签的名称 |
∟censorSource | Number | 否 | 审核来源,0:易盾人审、1:客户审核、2:易盾机审、3:用户质检、4:易盾质检 |
∟censorRound | Number | 否 | 审核轮数,0:普通审核、1:高级审核第 1 轮人审、 2:高级审核第 2 轮人审,以此类推,智能审核系统人工审核模板配置请参考 人工审核模板设置说明文档。若您使用易盾人工审核服务,非必要情况下不要对该字段做解析依赖。人审团队为了您的审核质量,会自发的在某些高风险时段进行多轮审核来保证交付质量,所以该字段可能会在不通知到您的情况下变化,感谢您的配合,有任何问题可以随时联系我们 |
∟censorTime | Number | 否 | 审核时间 |
∟ labels | Object[] | 是 | 命中的分类信息 |
∟ label | Number | 是 | 命中分类信息,100:色情、200:广告、260:广告法、300:暴恐、400:违禁、500:涉政、600:谩骂、700:灌水、900:其他、1100:涉价值观 |
∟ level | Number | 是 | 命中级别,1:嫌疑、2:不通过、0:正常 |
∟ subLabels | Object[] | 否 | 细分类信息,可能包含多个 |
∟ subLabel | String | 是 | 细分类,详细编码请参考下方对应细分类编码 对照表 |
人工审核结果示例
{
"sessionTaskId": "fx6sxdcd89fvbvg4967b4787d73a",
"sessionId": "74fb17f1-1404-4230-9b23-8e8157e50bf3",
"antispam": {
"taskId": "wet2h1hhoba8qbik9f3orljg00123rdh",
"dataId": "1185546433254492160",
"suggestion": 2,
"remark": "人审备注内容,填写备注才会返回",
"resultType": 2,
"callback": "",
"censorType": 0,
"censorSource": 1,
"censorRound": 0,
"censorTime": 1639374062208,
"censorLabels": [
{
"code": "1604386821661",
"customCode": "自定义标签编码",
"name": "审核标签名称",
"desc": ""
},
{
"code": "1604386813202",
"customCode": "自定义标签编码",
"name": "审核标签名称",
"desc": ""
}
],
"isRelatedHit": false,
"labels": [
{
"label": 100,
"level": 2,
"subLabels": [
{
"subLabel": "100001"
}
]
}
]
}
}
响应
响应结果
业务侧接收到易盾侧回调的结果后,需要返回应答信息。当接口响应 HTTP 状态码为 200 时,表示处理成功;当回调处理异常时,应答的 HTTP 状态码应为 500 或 4xx。
推送方式的默认连接超时(connect timeout)为 150 毫秒,回调超时(socket timeout)为 2 秒。建议业务侧在收到推送检测结果后,优先返回 response 应答信息,异步处理检测结果,以避免因回调超时导致易盾侧未收到响应而重复推送结果。如业务侧对超时配置有特殊要求,可联系易盾策略经理调整配置。
响应内容格式为 JSON,字段定义如下:
名称 | 类型 | 必填 | 描述 |
---|---|---|---|
code | Number | 是 | 应答 code,易盾方解析 code 为200表示推送成功 |
msg | String | 否 | 具体描述信息 |
响应体示例
{
"code": 200,
"msg": "接收成功"
}