AIGC内容检测解决方案

AIGC内容检测解决方案

AIGC 内容检测解决方案目前适用于对 AI 大模型流式输出的文字进行自动拼接后审核。同步检测接口用于提交待检测数据,并同步返回易盾内容安全服务的实时检测结果。

接口说明

该接口是 AIGC 内容检测解决方案中的数据提交接口,需要使用 HTTP 协议进行调用。该接口会同步返回检测结果。

鉴权说明

易盾内容安全服务使用签名方法对接口进行鉴权。接口请求需要包含签名信息(signature 参数)以验证用户身份,防止信息被恶意篡改。目前支持 MD5、SHA1、SHA256、SM3 等几种加密算法,鉴权流程详见 接口鉴权 。

接口限制

文本限制:

单文本切片:切片长度 < 50 字

自动拼接文本:拼接长度 < 200 字

检测耗时

检测接口的响应时间与拼接长度相关,根据不同长度建议适当调整接口超时时间,200 字以内建议 200ms 即可

请求

请求地址

名称

HTTP URL

http://as.dun.163.com/v1/stream/push

HTTP Method

POST

请求头

名称

类型

描述

Content-Type

String

固定值:"application/x-www-form-urlencoded"

请求参数

请求参数由公共参数和业务参数两部分组成

公共参数

公共参数包含密钥信息和参数签名信息,公共参数详细见 请求公共参数 。

业务参数

名称

类型

是否必填

最大长度

描述

sessionId

String

128

业务侧会话 ID,用于关联整个流式检测会话,标记当前请求内容片段所属的流式内容;

type

Number

-

推送的事件类型,事件类型有 1:流式输出检测、2:输入检测、3:问答结束(一次问答结束时必须调用,否则会占用并发数) ,默认值为:1

content

String

见描述

见描述

type = 1:content 必传,表示流式检测内容片段,可对应 AIGC 场景中的流式输出 tokens。检测片段传入 AIGC 输出文本中,默认最大长度为 50。type = 2:content 必传,表示流式检测场景下的输入内容。建议对内容中的 JSON、表情符、HTML 标签、UBB 标签等进行过滤,只传递纯文本,以减少误判概率。对应传入 AIGC 输入文本中,最大长度为 10000。 type = 3:问答结束时,content 非必填。如果传入 content,会按照 type = 2 的逻辑处理输入片段,并关闭当前活跃问答。

version

String

4

接口版本号,可选值 v1.0

publishTime

Number

13

时间戳用于标识数据片段生成的时间,建议客户侧生成并传递,拼接的内容将基于时间戳进行排序。时间戳应为 UNIX 时间戳(毫秒值)。

dataId

String

128

业务侧数据唯一标识,能够根据该值定位到该条数据,如对数据结果有异议,可以发送该值给策略经理查询,建议提供该参数。

callback

String

2^16-1

数据回调参数,业务侧可根据业务场景需要自定义,易盾调用回调接口(callbackUrl)时,会原样返回该参数的值

callbackUrl

String

256

业务侧回调接口 URL,用于异步通知业务侧异步及离线策略检测结果。接口调用超时时间为 2s,需业务侧确保接口的稳定性和幂等性

checkLabels

String

512

业务自定义过检分类,请谨慎写入,并与策略经理充分沟通,以免引起漏判,如果没有勾选分类提交返回参数错误,可指定多个垃圾类别进行机器检测,多个垃圾类别以逗号分隔(如 100,200),指定后业务配置过检分类即失效,支持的过检分类列表,100:色情,200:广告,260:广告法,300:暴恐,400:违禁,500:涉政,600:谩骂,700:灌水,900:其他,1100:涉价值观

业务扩展参数

建议将检测内容的用户信息、设备信息、场景信息同步传入,易盾将结合用户风险画像、设备风险画像、场景化策略全方位检测内容风险,检测结果更精准。

参数名称

类型

是否必填

最大长度

描述

account

String

128

用户唯一标识,与易盾账号画像库匹配,建议抄送,辅助机审策略精准调优,如业务方同时接入易盾反外挂,则此账号传值需要与反外挂接入中的 roleAccount(Android 端),或 user_account(iOS 端)保持一致

ip

String

128

用户 IP 地址,建议抄送,辅助机审策略精准调优

deviceId

String

128

用户设备 ID,与易盾设备画像库匹配,明文请转大写传入;MD5 加密请明文转大写后 MD5 计算,再转大写传入,建议抄送

extStr1

String

128

自定义扩展参数

extStr2

String

128

自定义扩展参数

extLon1

Number

2^63-1

自定义扩展参数

extLon2

Number

2^63-1

自定义扩展参数

extension

Json

30000

更多自定义扩展参数,JSON 字符串格式。如:{"keyName1":"value1","keyName2":"value2"}

请求体示例

content=token1&version=v1.0&dataId=163&signature=xxx&secretId=xxx×tamp=1646984669446&nonce=12353

响应

响应结果

响应字段如下,响应通用字段已省略,详细见响应公字段:响应公共字段

字段名称

类型

是否必返

描述

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

命中二级标签细分类

∟ riskdescription

String

风险描述,拼接 label|secondlabel|thirdlabel 的中文实时示意,注意分隔使用「|」,将上层对应一级分类带入,若存在二级/三级透出拼装,若无可不显示

∟ 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

命中三级标签细分类

∟ riskdescription

String

风险描述,拼接 label|secondlabel|thirdlabel 的中文实时示意,注意分隔使用「|」,将上层对应一级分类带入,若存在二级/三级透出拼装,若无可不显示

∟ 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"

}

}

有结果时:

{

"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"

}

]

}

}

}

示例代码

服务端 SDK 接入

推荐使用我们提供的服务端 SDK 进行接入(目前支持 Java 和 Go 两种语言),不但可以节省接入成本,实现更快速的集成,并享有灵活的请求配置选项,同时 SDK 内置了错误重试、熔断降级等功能,提升服务可用性。点击 服务端 SDK 接入指引 了解更多。

Github Demo 地址

Java SDK Demo

Golang SDK Demo

Gitee Demo 地址(Github 无法访问时选择)

Java SDK Demo

Golang SDK Demo

HTTP API 接入

Github Demo 地址

Java Demo

相关内容

32 位 App 与 macOS 的兼容性
asiasports365

32 位 App 与 macOS 的兼容性

07-20 ☯ 1413
「抟」字组词
365BET官网

「抟」字组词

06-29 ☯ 2515
web如何实现udp
365体育app安装

web如何实现udp

09-13 ☯ 1309