自定义内容安全检测服务接口
内容安全检测服务(D7 契约)的请求 / 响应格式、鉴权与超时要求
自定义内容安全检测服务接口
把自建或三方的检测服务接入平台内容安全护栏时,服务需要实现本文描述的
HTTP 契约。在「模型供应商」中添加供应商时选择预设「自定义内容安全检测服务」,
填写 Base URL 与 API 密钥(该供应商带固定模型 content-safety-detector),
再在「全局设置 › 默认模型」的「内容安全」一行选用它,平台就会把内容安全检测
请求发到本文的端点。与 WASM 网关扩展两条路怎么选,见
《安全厂商接入指南》。
1. 端点与鉴权
| 项 | 要求 |
|---|---|
| 方法与路径 | POST {base_url}/v1/content-safety |
| 鉴权 | Authorization: Bearer <API 密钥>(即添加模型供应商时填写的 API 密钥) |
| 请求体 | JSON(UTF-8,Content-Type: application/json) |
| 响应体 | JSON(UTF-8,HTTP 200) |
2. 请求
{
"direction": "output",
"userText": "用户本轮的输入文本",
"responseText": "模型本轮的输出文本",
"history": [
{ "role": "user", "text": "上一轮用户输入" },
{ "role": "assistant", "text": "上一轮模型输出" }
]
}direction:input(请求方向)或output(响应方向)。userText:必有;被检测的用户输入。带多轮历史时,平台把历史拼成前缀放在 本字段里(以「本轮用户输入:」分隔),不支持多轮的服务直接检测本字段即可。responseText:仅direction为output时出现,是被检测的模型输出。history:可选;规则开启多轮检测时出现,按时间顺序列出此前的轮次,role为user或assistant。支持多轮判断的服务可以直接使用它。
3. 响应
{
"categories": {
"political_security": 0.93,
"illegal_terror_rumor": 0.0,
"porn_vulgar_values": 0.0,
"discrimination_hate": 0.0,
"privacy_compliance": 0.0,
"high_risk_domain": 0.0
},
"jailbreak": 0.02,
"labels": [{ "label": "涉政", "score": 0.93 }]
}categories:6 个大类全部必填,键为固定 token(见下表),值是 0–1 的分数 (越大越危险)。缺任何一个键、出现未知键或分数越界,平台都会判为响应不合法。jailbreak:必填,提示注入(越狱)分数,0–1。labels:可选的原始标签列表,每项必须含label(字符串)与score(数字); 仅用于审计展示,平台判断不读它。- 响应顶层只允许
categories、jailbreak、labels三个键,出现其他键同样判为不合法。
| token | 含义 |
|---|---|
political_security | 政治敏感与国家安全 |
illegal_terror_rumor | 违法暴恐与虚假谣言 |
porn_vulgar_values | 色情低俗与不良价值观 |
discrimination_hate | 歧视偏见与仇恨言论 |
privacy_compliance | 隐私侵权与商业合规 |
high_risk_domain | 高风险领域应用限制 |
4. 超时与行为
- 平台单次调用超时 8 秒;超时、连接失败或响应不合法都按护栏的检测失败 策略处置(该规则配置的「检测失败时」动作),不会静默放行。
- 服务应幂等、无状态;同一文本多次调用返回一致结果。
- 保存模型前的核对会用一句违规样例和一句安全样例实际调用本端点; 服务未就绪时保存会被拒绝并给出原因。
5. 验证
接入后建议依次验证:
- 在「模型供应商」里用该预设保存成功。
- 在「全局设置 › 默认模型」选择该服务并保存成功(保存即触发核对)。
- 在路由策略「试一句」里分别发送安全样例与业务真实风险样例,确认内容风险行 返回预期类别。