更新时间:2026-08-19 GMT+08:00
分享

文本检测调用接口

功能介绍

调用文本检测能力接口的描述,具体格式:/v1/{project_id}/aiguard/text-detect

URI

POST /v1/{project_id}/aiguard/text-detect

表1 路径参数

参数

是否必选

参数类型

描述

project_id

String

参数解释:

用户所属项目的唯一标识ID,用于关联请求与对应的项目资源。

约束限制:

32位UUID格式,仅支持小写字母a-f与数字0-9组合,必须为当前用户有权限的有效项目ID。

取值范围:

如使用op账号调用,则使用op账号项目id信息;如使用最终租户账号调用,则使用最终租户账号项目id信息。

默认取值:

无。

请求参数

表2 请求Header参数

参数

是否必选

参数类型

描述

Source-Signature

String

参数解释:

业务方签名,用于验证请求方的合法身份确保服务端仅处理来自已授权业务方合法请求,华为云内部服务调用时必传该字段。

约束限制:

华为云内部服务调用时必传该字段。HMAC-SHA256加密算法生成,需包含时间戳及业务方唯一标识,以防重放攻击且区分大小写

取值范围:

由HMAC-SHA256加密算法决定,无固定取值枚举。

默认取值:

无。

Content-Type

String

参数解释:

用于指定请求体的媒体类型(MIME Type),告知服务端如何解析请求体中的数据格式,确保服务端正确反序列化请求内容。

约束限制:

字符串类型,必须为标准的MIME Type格式,需与请求体实际格式保持一致,否则服务端将返回解析错误。

取值范围:

文本请求默认为application/json。

默认取值:

application/json。

表3 请求Body参数

参数

是否必选

参数类型

描述

app_id

String

参数解释:

应用ID,用于标识调用方的应用身份,服务端根据该ID获取该应用下用户配置的自定义策略,实现不同应用的差异化处理。

约束限制:

字符串类型,长度1-36字符,仅支持字母、数字、下划线、中划线,必须为当前用户已创建的有效应用ID。

取值范围:

1~64位字母、数字、下划线、中划线组合。

默认取值:

无。

message

TextDetectionMessage object

参数解释:

文本检测请求的数据体,包含待检测文本的具体内容及相关元信息,服务端根据该对象中的信息执行相应的文本检测策略。

约束限制:

类型为Message Object,需符合JSON对象格式。必填字段:role、content

取值范围:

无(对象类型,由内部子字段决定取值)。

默认取值:

无。

history

Array of TextDetectionMessage objects

参数解释:

历史对话信息,用于提供上下文关联,帮助服务端理解当前对话来龙去脉,实现多轮对话场景下连贯检测与响应,提升检测准确率。

约束限制:

类型为Message Object数组,需符合JSON数组格式.数组元素需包含 role 和 content 字段,结构同 message 对象

取值范围:

对话的历史数据,最多支持10轮

默认取值:

无(不传或传空数组 [] 表示无历史对话)。

extra

TextDetectionExtra object

参数解释:

受限公开字段,包含请求的扩展元信息,用于服务端进行安全运营分析、风险识别、恶意租户追踪,提升安全防护能力。

约束限制:

类型为Extra Object,需符合JSON对象格式.数组元素需包含 end_user 和 source_region 字段,结构为String对象

取值范围:

无(对象类型,由内部子字段决定取值)

默认取值:

无(不传则不做安全增强分析)。

表4 TextDetectionMessage

参数

是否必选

参数类型

描述

role

String

参数解释:

用于标识当前输入文本角色类型,便于服务端针对不同来源的文本执行差异化的内容安全检测策略。

约束限制:

符串类型,仅支持预设的两个枚举值,区分大小写,必须为小写字母。

取值范围:

user:用户输入请求内容;assistant:模型输出内容。

默认取值:

user(不传时默认使用 user 进行输入检测)。

content

String

参数解释:

待检测的原始文本内容,服务端将对该字段中的文本执行内容安全检测,并返回对应的检测结果。

约束限制:

字符串类型;长度范围:1~8192字符(含边界值);支持中英文、数字及常见标点符号;超过8192字符时,服务端自动截取前8192个字符进行检测,超出部分将被忽略;

取值范围:

1~8192字符的文本内容

默认取值:

无。

表5 TextDetectionExtra

参数

是否必选

参数类型

描述

end_user

String

参数解释:

最终租户的项目ID,用于标识请求所代理的实际终端用户所属项目。当服务使用Op(运营/管理员)账号调用接口时,通过该字段传递最终租户身份信息,供服务端进行安全运营分析、审计日志记录及识别恶意最终租户,便于平台对异常行为进行追溯和管控

约束限制:

字符串类型;固定32位UUID格式;仅支持小写字母(a-f)与数字(0-9)组合;必须为平台已存在的有效项目ID;该字段仅在Op账号调用时生效,普通租户账号调用时传入将被忽略或报错

取值范围:

固定32位十六进制字符(a-f0-9),示例:a1b2c3d4e5f678901234567890abcdef

默认取值:

无。

source_region

String

参数解释:

最终租户调用接口时所处的地理区域标识,用于标识请求的实际来源地域。服务端通过该字段进行安全运营分析(如地域维度的流量监控、风险识别、恶意租户追踪、异常行为检测等),便于平台针对不同地域实施差异化的安全策略。

约束限制:

字符串类型;长度范围:1~32字符;该字段仅在 Op 账号调用时生效(与 end_user 配合使用),普通租户账号调用时传入将被忽略或报错

取值范围:

标准地域代码

默认取值:

无。

响应参数

状态码:200

表6 响应Body参数

参数

参数类型

描述

request_id

String

本次请求的唯一标识,用于问题排查,建议保存

maf_engine

String

引擎id信息

result

TextDetectionResult object

请求成功时表示调用结果

表7 TextDetectionResult

参数

参数类型

描述

suggestion

String

审核结果是否通过。pass:未检测到异常信息;block:检测到异常信息

risk_types

Array of strings

风险类型。compliance:检测到合规攻击, inject:检测到注入攻击

hit_details

Array of TextDetectionResultDetail objects

检测详情

replacement

String

配置脱敏时生效,当前仅支持违规词库脱敏。若没有配置脱敏,返回空字段。

表8 TextDetectionResultDetail

参数

参数类型

描述

risk_type

String

风险类型。compliance:检测到合规攻击, inject:检测到注入攻击

sub_risk_type

Array of strings

命中的风险子类型。

prob

Float

置信度分数,命中词库时默认为1.0

segments

Array of TextDetectionSegmentInfo objects

敏感词内容检测的详细检测情况

表9 TextDetectionSegmentInfo

参数

参数类型

描述

segment

String

命中的风险片段

category

String

命中的内置词库或者文本向量库类别以及自定义词库为词库的名称。

position

Array of integers

命中词库时生效,命中的风险片段在文本中的起始位置,从0开始

lexicon_id

String

命中自定义词库时生效,返回对应词库ID

lexicon_type

Integer

命中自定义词库时生效,0:豁免,1:违规

状态码:400

表10 响应Body参数

参数

参数类型

描述

request_id

String

本次请求的唯一标识,用于问题排查,建议保存

maf_engine

String

引擎id信息

error

TextDetectionErrorBody object

请求出问题时返回的字段

error_code

String

错误码,用于定义具体错误类型(例如:AIGUARD.0001)

error_msg

String

错误描述信息,说明具体的失败原因

表11 TextDetectionErrorBody

参数

参数类型

描述

error_code

String

错误码

error_msg

String

错误描述

请求示例

响应示例

状态码

状态码

描述

200

文本检测成功响应

400

检测异常或输入异常

错误码

请参见错误码

相关文档