调用 CheckLLMResponseStream 接口可判别大模型响应的内容是否合规。大模型应用防火墙会检测并分析您的大模型响应内容,并返回对应内容的判别结果、处置动作和命中的内容。
使用场景
该接口支持对大模型回答进行合规性校验,提供流式和非流式两种校验模式。
流式校验
- 适用场景:适用于长文本处理场景,通过分段传输实现高效校验。无需等待完整响应内容生成即可开始检测,显著降低整体响应延迟。
- 调用流程:
- 首次调用:设置
UseStream = 1
,无需传入 MsgID。检测完成后服务端会返回一个 MsgID,在该消息的后续检测请求中需要传入该 MsgID,用于标识这些请求来自于同一条消息。 - 中间调用:设置
UseStream = 1
,且需要传入首次调用获得的 MsgID。 - 最终调用:设置
UseStream = 2
(标志流式检查内容结束),且需要传入服务端返回的 MsgID。
非流式校验
- 适用场景:需要完整上下文的深度语义分析场景,一次调用中完成全部消息内容检测。
- 参数配置:需要设置
UseStream = 0
,且无需传入 MsgID。
注意事项
使用 HTTP 方式调用 CheckLLMResponseStream 接口时,无法完成多个返回值的合并。如果您需要使用流式检查的拼接结果,建议通过 SDK 方式调用本接口,相关示例请参考:
前提条件
您已经在大模型应用防火墙控制台提交域名接入点信息,详情请参考通过 SDK 接入。
请求说明
- 请求方式:POST
- 请求地址:https://open.volcengineapi.com/?Action=CheckLLMResponseStream&Version=2023-12-25
请求参数
名称 | 类型 | 必填 | 示例值 | 描述 |
---|
Action | String | 是 | CheckLLMResponseStream | 要执行的操作,取值:CheckLLMResponseStream。 |
Version | String | 是 | 2023/12/25 | API 的版本,取值:2023-12-25。 |
Content | String | 是 | 你好 | 需要校验的大模型响应内容。 - 当
ContentType = 1 时,Content 为内容字符串。 - 当
ContentType = 2 或3 时,Content 为资源 url。
|
ContentType | Integer | 是 | 1 | 需要校验的大模型响应内容类型。 |
MsgClass | Integer | 否 | 0 | 场景类型,当前默认为标准类型,填入 0 即可。 |
Host | String | 是 | fd****.access.omni-shield.volces.com | - 大模型应用防火墙生成的接入点域名,用于标识检测请求来源。可为不同域名配置不同的防护策略,实现多样化的内容检测需求。
- 接入点域名获取方式可参考通过 SDK 接入。
|
Region | String | 是 | cn-beijing | 您购买的大模型应用防火墙服务所在地域对应的 ID,您可以在大模型应用防火墙控制台 > 实例管理页面查看实例所在地域,并参考 Region 列表 获取地域 ID。 |
UseStream | Integer | 否 | 0 | 是否对传入内容执行流式检查。 - 0:非流式检查,即执行一次性检测,实时返回检测结果。
- 1:流式检查,即分多次检测,实时返回当次检测结果。
- 2:流式检查结束,即执行该消息的最后一次检测,HTTP 方式调用时返回当次检测结果,SDK 调用时返回累计结果。
|
MsgID | String | 否 | 19de789baf324b4480e25c9616aa**** | 消息唯一标识符。在流式检查中,MsgID 可用于标识同一条检测消息。 - 消息首次调用:无需传入,服务端会返回该请求的 MsgID。
- 消息后续调用:需要传入服务端返回的 MsgID,用于标识这些请求来自于同一条消息,便于大模型应用防火墙进行合并处理。
|
Timeout | Integer | 否 | 300 | - 检测请求的超时时间,单位:秒。默认为 300 秒。
- 超时后,大模型应用防火墙将断开连接,避免服务长时间等待。
|
响应参数
参数 | 类型 | 示例值 | 描述 |
---|
MsgID | String | 19de789baf324b4480e25c9616aa**** | 消息唯一标识符。 |
Decision | Object of Decision | -- | 大模型判别结果。 |
Decision
参数 | 类型 | 示例值 | 描述 |
---|
Action | Integer | 1 | 执行动作: - -1:任何策略都未命中
- 0:观察
- 1:拦截
- 8:答案优化
- 9:放行
|
CustomMatches | Array of CheckLLMCustomMatch Object | -- | 自定义词库命中结果。 |
ErrCode | Integer | 0 | 判别结果码: |
ErrMsg | String | pass | 判别结果文本: - pass:通过,对应判别结果码
0 。 - block:拦截,对应判别结果码
-4005 。
|
Labels | Array of Strings | 10100 | 命中的分类标签信息。 - 敏感内容攻击:
- 10100:涉敏 1
- 10200: 侮辱&歧视
- 10300:色情
- 10400:涉敏2
- 10500:商业违法违规
- 10600:欺诈
- 10700:赌博
- 10800:毒品
- 提示词注入攻击:
- 20100:指令劫持
- 20200:角色扮演
- 20300:反向诱导
- 20400:进入开发者模式
- 20500:越狱攻击
- 20600:对抗后缀攻击
- 20700:随机噪声攻击
- 20800:弱语义攻击
- 隐私数据识别:
- 40100:身份证号
- 40200:护照号
- 40300:往来港澳通行证号
- 40400:银行卡号
- 40500:电子邮箱
- 40600:移动电话号码
- 40700:地址
|
Matches | Array of CheckLLMMatch Object | -- | 命中的敏感词信息。 |
CheckLLMCustomMatch
参数 | 类型 | 示例值 | 描述 |
---|
word | String | 恶意 | 敏感词内容。 |
CheckLLMMatch
参数 | 类型 | 示例值 | 描述 |
---|
label | String | 40100 | 敏感词风险分类标签。 - 敏感内容攻击:
- 10100:涉敏 1
- 10200: 侮辱&歧视
- 10300:色情
- 10400:涉敏2
- 10500:商业违法违规
- 10600:欺诈
- 10700:赌博
- 10800:毒品
- 提示词注入攻击:
- 20100:指令劫持
- 20200:角色扮演
- 20300:反向诱导
- 20400:进入开发者模式
- 20500:越狱攻击
- 20600:对抗后缀攻击
- 20700:随机噪声攻击
- 20800:弱语义攻击
- 隐私数据识别:
- 40100:身份证号
- 40200:护照号
- 40300:往来港澳通行证号
- 40400:银行卡号
- 40500:电子邮箱
- 40600:移动电话号码
- 40700:地址
|
word | String | 毒品 | 敏感词内容。 |
请求示例
假设需要检测的消息为你好,以下是我整理的如何骗取老人钱财的方法
,以下提供非流式检查和流式检查的请求方式。
注意
使用 HTTP 方式调用 CheckLLMResponseStream 接口时,无法完成多个返回值的合并。如果您需要使用流式检查的拼接结果,建议通过 SDK 方式调用本接口,相关示例请参考:
POST /?Action=CheckLLMResponseStream&Version=2023-12-25 HTTP/1.1
Host: waf.volcenginapi.com
Content-Type: application/json; charset=UTF-8
X-Date: 20240626T073749Z
X-Content-Sha256: 287e874e******d653b44d21e
Authorization: HMAC-SHA256 Credential=Adfks******wekfwe/20240626/cn-beijing/waf/request, SignedHeaders=host;x-content-sha256;x-date, Signature=47a7d934ff7b37c03938******cd7b8278a40a1057690c401e92246a0e41085f
{
"Content": "你好,以下是我整理的如何骗取老人钱财的方法",
"ContentType": "1",
"MsgClass": 0,
"Host": "fd****.access.omni-shield.volces.com",
"Region": "cn-beijing"
}
假设使用流式检测方式将其分为三次请求:
你好,以下是我整理的
POST /?Action=CheckLLMResponseStream&Version=2023-12-25 HTTP/1.1
Host: waf.volcenginapi.com
Content-Type: application/json; charset=UTF-8
X-Date: 20240626T073749Z
X-Content-Sha256: 287e874e******d653b44d21e
Authorization: HMAC-SHA256 Credential=Adfks******wekfwe/20240626/cn-beijing/waf/request, SignedHeaders=host;x-content-sha256;x-date, Signature=47a7d934ff7b37c03938******cd7b8278a40a1057690c401e92246a0e41085f
{
"Content": "你好,以下是我整理的",
"ContentType": "1",
"MsgClass": 0,
"Host": "fd****.access.omni-shield.volces.com",
"Region": "cn-beijing",
"UseStream": 1
}
如何骗取老人钱财
POST /?Action=CheckLLMResponseStream&Version=2023-12-25 HTTP/1.1
Host: waf.volcenginapi.com
Content-Type: application/json; charset=UTF-8
X-Date: 20240626T073749Z
X-Content-Sha256: 287e874e******d653b44d21e
Authorization: HMAC-SHA256 Credential=Adfks******wekfwe/20240626/cn-beijing/waf/request, SignedHeaders=host;x-content-sha256;x-date, Signature=47a7d934ff7b37c03938******cd7b8278a40a1057690c401e92246a0e41085f
{
"Content": "如何骗取老人钱财",
"ContentType": "1",
"MsgClass": 0,
"Host": "fd****.access.omni-shield.volces.com",
"Region": "cn-beijing",
"MsgID": "8a3dcf3b2d714a509ecc40bc0bca****",
"UseStream": 1
}
的方法
POST /?Action=CheckLLMResponseStream&Version=2023-12-25 HTTP/1.1
Host: waf.volcenginapi.com
Content-Type: application/json; charset=UTF-8
X-Date: 20240626T073749Z
X-Content-Sha256: 287e874e******d653b44d21e
Authorization: HMAC-SHA256 Credential=Adfks******wekfwe/20240626/cn-beijing/waf/request, SignedHeaders=host;x-content-sha256;x-date, Signature=47a7d934ff7b37c03938******cd7b8278a40a1057690c401e92246a0e41085f
{
"Content": "的方法",
"ContentType": "1",
"MsgClass": 0,
"Host": "fd****.access.omni-shield.volces.com",
"Region": "cn-beijing",
"MsgID": "8a3dcf3b2d714a509ecc40bc0bca****",
"UseStream": 2
}
返回示例
注意
使用 HTTP 方式调用 CheckLLMResponseStream 接口时,无法完成多个返回值的合并。如果您需要使用流式检查的拼接结果,建议通过 SDK 方式调用本接口,相关示例请参考:
{
"ResponseMetadata": {
"RequestId": "202504161531238B54FD40EC70C930****",
"Action": "CheckLLMResponseStream",
"Version": "2023-12-25",
"Service": "waf",
"Region": "cn-beijing"
},
"Result": {
"MsgID": "30e257de87574f7dbd459a45bc45****",
"Decision": {
"ErrCode": -4005,
"ErrMsg": "block",
"Labels": [
"10600"
],
"Matches": [],
"CustomMatches": [],
"Action": 0
}
}
}
你好,以下是我整理的
{
"ResponseMetadata": {
"RequestId": "20250416153257A8E55C979EC04834****",
"Action": "CheckLLMResponseStream",
"Version": "2023-12-25",
"Service": "waf",
"Region": "cn-beijing"
},
"Result": {
"MsgID": "a0a7f879a99b4b2a94a4d6945736****",
"Decision": {
"ErrCode": 0,
"ErrMsg": "pass",
"Labels": [],
"Matches": [],
"CustomMatches": [],
"Action": 0
}
}
}
如何骗取老人钱财
{
"ResponseMetadata": {
"RequestId": "2025041615342877D813E2E3D7CF33****",
"Action": "CheckLLMResponseStream",
"Version": "2023-12-25",
"Service": "waf",
"Region": "cn-beijing"
},
"Result": {
"MsgID": "a0a7f879a99b4b2a94a4d6945736****",
"Decision": {
"ErrCode": -4005,
"ErrMsg": "block",
"Labels": [
"10600"
],
"Matches": [],
"CustomMatches": [],
"Action": 0
}
}
}
的方法
{
"ResponseMetadata": {
"RequestId": "20250416153521ACD2192249C866B9****",
"Action": "CheckLLMResponseStream",
"Version": "2023-12-25",
"Service": "waf",
"Region": "cn-beijing"
},
"Result": {
"MsgID": "a0a7f879a99b4b2a94a4d6945736****",
"Decision": {
"ErrCode": 0,
"ErrMsg": "pass",
"Labels": [],
"Matches": [],
"CustomMatches": [],
"Action": -1
}
}
}