同步检测接口

2024.06.20 18:12:03

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

    接口说明

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

    鉴权说明

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

    接口限制

    文本限制:

    • 单文本切片:切片长度 < 10 字
    • 自动拼接文本:拼接长度 < 200 字

    检测耗时

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

    请求

    请求地址

    名称
    HTTP URL https://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 输出文本中,最大长度为 200。
    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 命中二级标签细分类
      ∟ 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"
        }
    }
    

    有结果时:

    {
        "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 地址

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

    HTTP API 接入

    Github Demo 地址

    Online Chat Tel:95163223 Free trial