跳到主要内容

大语言模型异步复审(预览)

1. 接口介绍

该接口在图片识别结果基础上进行异步复审,适用于需对“复审类型结果”或特定风险类型进行二次判断的场景。平台按控制台配置自动触发 LLM 大语言模型复审,并通过回调将复审结论通知客户。

为何采用“传统模型初审 + LLM 异步复审”的架构?

  • 成本优化:传统 CV 模型成本极低,适合全量处理;LLM 成本较高,仅针对疑似风险或复杂场景按需调用,大幅降低成本;
  • 性能保障:传统模型响应在毫秒级,满足实时业务需求;LLM 响应较慢(秒级),采用异步回调机制可避免阻塞主业务流程,确保流畅的用户体验;
  • 精准互补:传统模型擅长快速召回,LLM 擅长复杂语义理解与推理,两者结合可兼顾高吞吐与高准确率。

业务流程如下:

1.1 接入指南

  1. 联系客户经理开通账号
  2. 同客户经理沟通详细需求与审核标准。根据您的需求,客户经理将为您开通对应的应用(SID)
  3. 访问控制台 - 数字证书 获取用于接口鉴权的 API Key
  4. 查阅下方的接口参数文档,了解如何构建请求以及如何解析响应数据
  5. 使用 示例资源 调用接口,进行调试和测试
  6. 查阅 审核场景汇总结果说明,了解如何通过汇总结果判断内容是否违规,以及如何解析汇总结果
  7. 添加异常处理逻辑,以处理可能出现的错误和异常情况,增强代码的健壮性和稳定性

如果在接入过程中遇到任何技术问题,请联系客户经理以获取帮助。

提示

当前接口处于预览状态,未来可能会有所调整,请以实际状态为准。

1.2 使用说明

  • 复审触发源于识别结果,可叠加风险类型等条件进行筛选
  • 复审仅对已识别成功的数据生效,识别失败或下载错误的数据不进入复审
  • 回调模式支持 批量回调,批量参数可在控制台配置(最大批量、聚合窗口)
  • 处理异步回调时,推荐基于 requestId 进行幂等处理

2. 通过控制台配置复审策略

2.1 控制台配置项

图 1:控制台配置复审策略示例

图 1:控制台配置复审策略示例

  • 应用(SID):指定应用 ID,仅对该应用生效
  • 回调地址:用于接收大语言模型复审结果的回调地址
  • 复审策略:
    • 提示词版本 ID
    • 是否开启思考模式
    • 结果筛选条件
      • 按图片汇总结果 suggestion 进行聚合,仅对符合条件的图片进行复审,如 suggestion==2 需复审
      • 按图片汇总结果 riskType 进行聚合,仅对包含指定风险类型的图片进行复审
      • 按图片某个任务的某些 label & review 进行聚合
  • 批次配置:按 “最大批量大小 / 聚合时间窗口” 聚合后回调
  • 接口协议版本:回调协议版本,可选 v4 或 v3.1,默认 v3.1

3. 复审结果回调请求

3.1 请求地址

控制台/配置接口中指定的 callback 地址。

3.2 请求方法

POST

3.3 请求头

Content-Type: application/json

3.4 超时时间及异常处理

回调超时时间 5 秒,在 HTTP 响应状态码非 200 时进行重试,最多重试 3 次。

建议客户在处理回调时进行异步处理,响应回调时可以返回字符串或 JSON,示例如下:

// JSON
{
"message": "ok"
}

// 字符串
success

3.5 批量回调请求参数说明 🔥🔥🔥

v3.1 说明

由于历史原因,在 v3.1 版本接口中,同步响应与回调请求的核心内容会先经过转义处理,最终以 json 字段(字符串类型)返回。因此,在解析该接口的业务数据时,需对 json 字段的取值额外执行一次转义还原逻辑,才能获取到原始的业务数据。除此之外,v3.1 与 v4 版本接口出入参数完全一致,相比之下 v4 版本接口更为直观。详见下方字段说明。


参数名称类型说明
signatureString

同步响应或回调请求签名,由图普使用私钥签名,在需要时,您可以通过 图普公钥 进行验签以确保此响应内容来自图普(与您调用接口时使用的公私钥不同)。验签步骤:

  1. json 字段内容为 SignString
  2. signature 字段内容进行 Base64 解码,得到 RawSignature
  3. 使用图普公钥以 SHA256 算法验证 RawSignatureSignString
jsonString

同步响应或回调请求经过 JSON 转义后的字符串,需进一步解析得到业务数据。

  • 字段内容示例:{\"code\":0, \"message\":\"success\"}
  • 字段详见下述 JSON 参数说明
  • 为方便展示,同步响应及回调请求的示例中,均为解析后的 JSON

参数名称类型是否必有说明
codeInt状态码,详见 业务状态码
messageString状态信息
secretIdString应用 ID,用于业务区分
requestIdString任务 ID(用于幂等与查询的 批次 ID)
resultsArray<ReviewResult>文件结果列表,每个元素为一个文件的复审结果,详见 ReviewResult 参数说明

ReviewResult 参数说明

参数名称类型是否必有说明
requestIdString原始审核请求 ID(来自图片识别响应)
nameString文件 url 或文件名
suggestionInt汇总结果,文件整体的通过/拒绝情况,详见 审核场景汇总结果说明
riskTypeInt汇总结果,文件整体的风险类型,详见 审核场景汇总结果说明
llmResultString大语言模型的原始结果(未经过 JSON 序列化处理)
customInfoObject<String, Any>原始审核请求中透传的自定义信息,请求参数中的 customInfo

3.6 批量回调请求示例

{
"code": 0,
"message": "success",
"secretId": "<secretId>",
"requestId": "<requestId>",
"results": [
{
"requestId": "<requestId>",
"name": "<url>",
"suggestion": 2,
"riskType": 1,
"llmResult": "<大语言模型原始结果>",
"customInfo": {
"tag": "<tag>"
}
},
{
"requestId": "<requestId>",
"name": "<url>",
"suggestion": 0,
"riskType": 0,
"llmResult": "<大语言模型原始结果>",
"customInfo": {
"tag": "<tag>"
}
}
],
"nonce": 1685000000,
"timestamp": 1685000000
}

4. 通过接口配置复审策略(可选)

为便于自动化,也可通过接口进行规则配置。

4.1 请求地址

区域请求地址
国内https://api.open.tuputech.com/<version>/recognition/review/policy/<customerId>
提示

<customerId> 需替换为您的账户 ID,可在【控制台】-【账户管理】页面查看, 若对此有任何问题,请联系客户经理。

4.2 请求方法

POST

4.3 请求头

请求头名称取值是否必需示例说明
Content-Typeapplication/jsonContent-Type: application/json请求数据类型为 JSON
X-API-Key<API Key>X-API-Key: <API Key>API Key 用于接口鉴权。请访问控制台 - 数字证书 获取 API Key

4.4 请求参数说明 🔥

参数名称类型是否必填说明
secretIdString应用 ID(SID)
callbackString大语言模型复审结果回调地址
promptIdString提示词版本 ID
enableThinkingBoolean是否开启思考模式
filtersArray<Filter>筛选条件,不同筛选条件之间为 OR 关系,单个筛选条件内为 AND 关系。详见 Filter 参数说明
versionString仅路径参数回调协议版本,可选 v4 或 v3.1,默认 v3.1
batchBatchConfig批次配置,包括最大批次、聚合窗口,详见 BatchConfig 参数说明
statusInt策略状态,1:生效,0: 停止,默认 1

Filter 参数说明

参数名称类型是否必填说明
suggestionsArray<Int>触发的汇总类型(如 [2] 表示需复审)
riskTypesArray<Int>触发的风险类型集合
byTaskFilterByTask触发的细分任务标签,详见 FilterByTask 参数说明
rateInt筛选比例,取值范围 [1, 100],默认 1(1%)

FilterByTask 参数说明

参数名称类型是否必填说明
<任务 ID>Array<FilterByTaskRule>细分任务标签条件,各数组之间为 OR 关系。详见 FilterByTaskRule 数据结构

FilterByTaskRule 数据结构

参数名称类型是否必填说明
labelInt仅筛选指定标签的结果
reviewBoolean不为空时,仅筛选指定复审类型的结果

BatchConfig 参数说明

参数名称类型是否必填说明
maxSizeInt最大批量大小,取值范围 [100, 1000],默认 100
windowSecInt聚合窗口,单位秒,可选值为:60180300600

4.5 请求示例

{
"secretId": "<secretId>",
"callback": "<url>",
"promptId": "<promptId>",
"enableThinking": true,
"filters": [
{
"suggestions": [2],
"riskTypes": [1, 3],
"byTask": {
"<taskId>": [
{
"label": 1,
"review": true
}
]
}
}
],
"batch": {
"maxSize": 100,
"windowSec": 60
}
}

4.6 响应参数说明 🔥🔥

v3.1 说明

由于历史原因,在 v3.1 版本接口中,同步响应与回调请求的核心内容会先经过转义处理,最终以 json 字段(字符串类型)返回。因此,在解析该接口的业务数据时,需对 json 字段的取值额外执行一次转义还原逻辑,才能获取到原始的业务数据。除此之外,v3.1 与 v4 版本接口出入参数完全一致,相比之下 v4 版本接口更为直观。详见下方字段说明。


参数名称类型说明
signatureString

同步响应或回调请求签名,由图普使用私钥签名,在需要时,您可以通过 图普公钥 进行验签以确保此响应内容来自图普(与您调用接口时使用的公私钥不同)。验签步骤:

  1. json 字段内容为 SignString
  2. signature 字段内容进行 Base64 解码,得到 RawSignature
  3. 使用图普公钥以 SHA256 算法验证 RawSignatureSignString
jsonString

同步响应或回调请求经过 JSON 转义后的字符串,需进一步解析得到业务数据。

  • 字段内容示例:{\"code\":0, \"message\":\"success\"}
  • 字段详见下述 JSON 参数说明
  • 为方便展示,同步响应及回调请求的示例中,均为解析后的 JSON

参数名称类型说明
codeInt状态码,详见 业务状态码
messageString状态信息
resultReviewPolicy策略提交结果,详见 ReviewPolicy 参数说明
nonceFloat随机数(建议使用 Unix 时间戳或若干位随机整数)
timestampInt当前服务器的 Unix 时间戳

ReviewPolicy 参数说明

参数名称类型是否必有说明
customerIdString账户 ID
secretIdString应用 ID(SID)
policyIdString复审策略 ID
callbackString大语言模型复审结果回调地址
promptIdString提示词版本 ID
enableThinkingBoolean是否开启思考模式
filtersArray<Filter>筛选条件,不同筛选条件之间为 OR 关系,单个筛选条件内为 AND 关系。详见 Filter 参数说明
versionString仅路径参数回调协议版本,可选 v4 或 v3.1,默认 v3.1
batchBatchConfig批次配置,包括最大批次、聚合窗口,详见 BatchConfig 参数说明
statusInt策略状态,1:生效,0: 停止,默认 1

4.7 响应示例

{
"code": 0,
"message": "success",
"result": {
"customerId": "<customerId>",
"secretId": "<secretId>",
"policyId": "<policyId>",
"callback": "<url>",
"promptId": "<promptId>",
"enableThinking": true,
"filters": [],
"batch": {
"maxSize": 100,
"windowSec": 60
},
"status": 1
},
"nonce": 1685000000,
"timestamp": 1685000000
}

5. 拉取复审策略列表(可选)

5.1 请求地址

区域请求地址
国内https://api.open.tuputech.com/<version>/recognition/review/policy/list/<customerId>
提示

<customerId> 需替换为您的账户 ID,可在【控制台】-【账户管理】页面查看, 若对此有任何问题,请联系客户经理。

5.2 请求方法

POST

5.3 请求头

请求头名称取值是否必需示例说明
Content-Typeapplication/jsonContent-Type: application/json请求数据类型为 JSON
X-API-Key<API Key>X-API-Key: <API Key>API Key 用于接口鉴权。请访问控制台 - 数字证书 获取 API Key

5.4 请求参数说明

参数名称类型是否必填说明
secretIdString应用 ID(SID),若不传查询当前账户下所有应用的策略
pageInt页码,默认 1
limitInt每页数量,默认 20

5.5 响应参数说明

v3.1 说明

由于历史原因,在 v3.1 版本接口中,同步响应与回调请求的核心内容会先经过转义处理,最终以 json 字段(字符串类型)返回。因此,在解析该接口的业务数据时,需对 json 字段的取值额外执行一次转义还原逻辑,才能获取到原始的业务数据。除此之外,v3.1 与 v4 版本接口出入参数完全一致,相比之下 v4 版本接口更为直观。详见下方字段说明。


参数名称类型说明
signatureString

同步响应或回调请求签名,由图普使用私钥签名,在需要时,您可以通过 图普公钥 进行验签以确保此响应内容来自图普(与您调用接口时使用的公私钥不同)。验签步骤:

  1. json 字段内容为 SignString
  2. signature 字段内容进行 Base64 解码,得到 RawSignature
  3. 使用图普公钥以 SHA256 算法验证 RawSignatureSignString
jsonString

同步响应或回调请求经过 JSON 转义后的字符串,需进一步解析得到业务数据。

  • 字段内容示例:{\"code\":0, \"message\":\"success\"}
  • 字段详见下述 JSON 参数说明
  • 为方便展示,同步响应及回调请求的示例中,均为解析后的 JSON

参数名称类型说明
codeInt状态码,详见 业务状态码
messageString状态信息
totalInt总记录数
policiesArray<ReviewPolicy>策略列表,结构同 ReviewPolicy 参数说明
nonceFloat随机数
timestampInt时间戳

5.6 请求示例

{
"secretId": "<secretId>",
"page": 1,
"limit": 20
}

5.7 响应示例

{
"code": 0,
"message": "success",
"total": 1,
"policies": [
{
"customerId": "<customerId>",
"secretId": "<secretId>",
"policyId": "<policyId>",
"callback": "<url>",
"promptId": "<promptId>",
"enableThinking": true,
"filters": [],
"batch": {
"maxSize": 100,
"windowSec": 60
},
"status": 1
}
],
"nonce": 1685000000,
"timestamp": 1685000000
}

6. 更新复审策略(可选)

6.1 请求地址

区域请求地址
国内https://api.open.tuputech.com/<version>/recognition/review/policy/update/<customerId>
提示

<customerId> 需替换为您的账户 ID,可在【控制台】-【账户管理】页面查看, 若对此有任何问题,请联系客户经理。

6.2 请求方法

POST

6.3 请求头

请求头名称取值是否必需示例说明
Content-Typeapplication/jsonContent-Type: application/json请求数据类型为 JSON
X-API-Key<API Key>X-API-Key: <API Key>API Key 用于接口鉴权。请访问控制台 - 数字证书 获取 API Key

6.4 请求参数说明

参数名称类型是否必填说明
policyIdString复审策略 ID(SID)
secretIdString该参数有值时,更新应用 ID(SID)
callbackString该参数有值时,更新大语言模型复审结果回调地址
promptIdString该参数有值时,更新提示词版本 ID
enableThinkingBoolean该参数有值时,更新是否开启思考模式
filtersArray<Filter>该参数有值时,更新筛选条件,不同筛选条件之间为 OR 关系,单个筛选条件内为 AND 关系。详见 Filter 参数说明
versionString仅路径参数该参数有值时,更新回调协议版本,可选 v4 或 v3.1,默认 v3.1
batchBatchConfig该参数有值时,更新批次配置,包括最大批次、聚合窗口,详见 BatchConfig 参数说明
statusInt该参数有值时,更新策略状态,1:生效,0: 停止,默认 1

6.5 响应参数说明

配置复审策略响应参数

6.6 请求示例

{
"policyId": "<policyId>",
"status": 0
}

6.7 响应示例

{
"code": 0,
"message": "success",
"result": {
"customerId": "<customerId>",
"secretId": "<secretId>",
"policyId": "<policyId>",
"callback": "<url>",
"promptId": "<promptId>",
"enableThinking": true,
"filters": [],
"batch": {
"maxSize": 100,
"windowSec": 60
},
"status": 0
},
"nonce": 1685000000,
"timestamp": 1685000000
}

7. 查询复审进度(可选)

7.1 请求地址

区域请求地址
国内https://api.open.tuputech.com/<version>/recognition/review/progress/<customerId>
提示

<customerId> 需替换为您的账户 ID,可在【控制台】-【账户管理】页面查看, 若对此有任何问题,请联系客户经理。

7.2 请求方法

POST

7.3 请求头

请求头名称取值是否必需示例说明
Content-Typeapplication/jsonContent-Type: application/json请求数据类型为 JSON
X-API-Key<API Key>X-API-Key: <API Key>API Key 用于接口鉴权。请访问控制台 - 数字证书 获取 API Key

7.4 请求参数说明

参数名称类型是否必填说明
policyIdString复审策略 ID

7.5 响应参数说明

v3.1 说明

由于历史原因,在 v3.1 版本接口中,同步响应与回调请求的核心内容会先经过转义处理,最终以 json 字段(字符串类型)返回。因此,在解析该接口的业务数据时,需对 json 字段的取值额外执行一次转义还原逻辑,才能获取到原始的业务数据。除此之外,v3.1 与 v4 版本接口出入参数完全一致,相比之下 v4 版本接口更为直观。详见下方字段说明。


参数名称类型说明
signatureString

同步响应或回调请求签名,由图普使用私钥签名,在需要时,您可以通过 图普公钥 进行验签以确保此响应内容来自图普(与您调用接口时使用的公私钥不同)。验签步骤:

  1. json 字段内容为 SignString
  2. signature 字段内容进行 Base64 解码,得到 RawSignature
  3. 使用图普公钥以 SHA256 算法验证 RawSignatureSignString
jsonString

同步响应或回调请求经过 JSON 转义后的字符串,需进一步解析得到业务数据。

  • 字段内容示例:{\"code\":0, \"message\":\"success\"}
  • 字段详见下述 JSON 参数说明
  • 为方便展示,同步响应及回调请求的示例中,均为解析后的 JSON

参数名称类型说明
codeInt状态码,详见 业务状态码
messageString状态信息
resultReviewProgress状态信息,详见 ReviewProgress 参数说明
nonceFloat随机数
timestampInt时间戳

ReviewProgress 参数说明

参数名称类型说明
policyIdString复审策略 ID
secretIdString应用 ID
policyCreatedAtInt策略创建时间
progressListArray<ProgressInfo>状态信息,详见 ProgressInfo 参数说明

ProgressInfo 参数说明

参数名称类型说明
createdAtInt任务创建时间
updatedAtInt任务更新时间
finishedAtInt任务结束时间
statusString状态信息 取值 pending init_failed running success failed
errorMessageString错误信息
currentInt当前大模型已处理的记录数
totalInt大模型请求的记数
fetchCountInt查询到的记录数量
callbackResultsArray<CallbackResult>回调结果详见 CallbackResult 参数说明

CallbackResult 参数说明

参数名称类型说明
batchIndexInt回调结果的批次序号
callbackResultUrlString回调结果存储的地址
callbackAtInt回调时间

7.6 请求示例

{
"policyId": "<policyId>"
}

7.7 响应示例

{
"code": 0,
"message": "success",
"progresses": [
{
"policyId": "<policyId>",
"current": 1685000000
}
],
"nonce": 1685000000,
"timestamp": 1685000000
}

8. 更新日志

日期说明
2026-01-26修改查询复审进度接口部分字段;增加参数及描述
2026-01-22修改查询复审进度接口;更新查询复审进度接口部分参数及描述
2026-01-14新增查询复审进度接口;调整章节顺序;更新部分参数及描述
2026-01-08新增大语言模型异步复审接口文档供预览