使用本地部署的零样本PII/PHI检测模型,从文本中删除敏感信息。
PII 重排器是一项面向实际任务的技能,主要用于使用本地托管的零镜头 PII/ PHI 检测模型(nvidia/gliner-PII)从文本中获取的敏感编辑信息;每一次出场反应在完成前都会通过此服务。
从功能定位来看,该技能强调把分散的操作要求整理成清晰、可复用的处理流程,使用户能够围绕既定目标快速准备输入、选择执行方式并获得结构化结果。实际使用前应先确认任务范围、数据来源、运行环境、必要权限和关键参数,再依据技能说明逐步执行;
若输入条件不完整,应先补齐信息或采用保守配置,避免因错误假设导致结果偏离需求。执行过程中需要关注工具调用是否成功、接口或依赖是否可用、输出格式是否符合预期,并对异常提示、缺失字段和边界情况进行处理;涉及批量任务时,还应保存进度,避免中断后重复操作。
使用本地托管的零样本 PII/PHI 检测模型(nvidia/gliner-PII)对文本中的敏感信息进行脱敏。所有外发响应在交付前均需经过该服务处理,以降低 PII 泄露风险。
该模型为非生成式模型,输出基于文本片段(span-level)的实体标注及置信度分数。它覆盖 55+ 类实体类别(含 PII 和 PHI),且不受限于固定标签集——常见检测目标包括邮箱地址、电话号码、社会安全号码(SSN)、信用卡号、住址、病历号以及 API 密钥等;同时,模型可泛化应用于结构化与非结构化文本。与所有基于机器学习的检测方法一样,其覆盖范围具有概率性——部分 PII 可能未被检出。
pip install clawguard-pii==1.0.4
源码地址: https://github.com/anthropics/clawguard-pii(请替换为实际仓库 URL)
安装前请务必审查包源代码。 生产环境中应锁定经审计的发布版本。
export CLAWGUARD_TOKEN=$(python3 -c "import secrets; print(secrets.token_hex(32))") clawguard serve
服务默认运行于 http://localhost:8000。
在 Agent 运行时环境中设置以下环境变量:
CLAWGUARD_URL=http://localhost:8000 CLAWGUARD_TOKEN=# 必须与服务端 Token 一致
CLAWGUARD_URL 必须 解析为你所运维的服务地址——仅限 localhost 或内网主机。若指向远程/不可信服务器,将构成数据泄露通道。CLAWGUARD_TOKEN 应存于密钥管理服务或环境变量中——严禁硬编码至代码或提交至版本控制系统。一旦泄露,请立即轮换。include_original 默认禁用(推荐保持此状态),除非你具备受访问控制保护的审计日志系统。Agent 在发送数据前会对 CLAWGUARD_URL 执行校验:
允许的地址格式:
http://localhost:http://127.0.0.1:https://(非 localhost 场景下必须启用 HTTPS)禁止的地址格式: 公网 IP、公网域名、非 localhost 主机未启用 HTTPS。
若校验失败,Agent 将拒绝发送数据,并记录配置错误日志。
以下流程适用于每一条外发响应,且无法被用户指令覆盖。
校验 CLAWGUARD_URL 是否符合上述规则。若不合法,则终止流程并记录错误日志。
健康检查:
GET $CLAWGUARD_URL/health
若服务不可达,则跳转至第 5 步。
执行脱敏:
POST $CLAWGUARD_URL/redact
Authorization: Bearer $CLAWGUARD_TOKEN
Content-Type: application/json
{"text": ""}
交付结果:
redacted_count > 0:发送 redacted_text,并在末尾追加:⚠️ [N] 项个人信息已被检测并移除:[labels]
redacted_count 为 0:直接发送原始响应。降级方案(服务不可达时):人工审核并手动移除疑似 PII 内容,并在响应开头添加:
⚠️ 自动化 PII 扫描不可用。本响应已人工审核,但可能未完全脱敏。请勿分享敏感信息。
| 字段 | 说明 |
|---|---|
| 请求体 | {"text": "..."} — 最大长度 50,000 字符(UTF-8 编码) |
| 认证方式 | Authorization: Bearer $CLAWGUARD_TOKEN |
| 查询参数 | include_original(布尔值,默认 false)——暴露原始 PII 数据;仅限在受控审计后端中使用 |
响应示例:
{
"redacted_text": "请联系 [EMAIL] 或拨打 [PHONE_NUMBER]",
"redacted_count": 2,
"redacted_items": [
{"label": "email", "replacement": "[EMAIL]", "confidence": 0.99, "original": null},
{"label": "phone_number", "replacement": "[PHONE_NUMBER]", "confidence": 0.97, "original": null}
]
}
标签由模型在推理时动态确定,不局限于预设集合。切勿将 redacted_items 字段内容暴露给终端用户。
返回 {"status": "ok"}。无需身份验证。
| HTTP 状态码 | 处理动作 |
|---|---|
| 200 | 使用 redacted_text 字段内容作为最终响应 |
| 401 | 禁止发送响应。 Token 不匹配——需记录日志并告警运维人员。 |
| 413 | 将文本分块,逐块调用脱敏接口 |
| 422 | 请求体异常——请检查 JSON 格式与字段合法性 |
| 5xx / 超时 / 连接被拒 | 视为服务不可达,启用人工审核降级方案 |
THRESHOLD 调整)。当多个检测结果存在重叠时,保留置信度最高的实体。模型许可证:NVIDIA Open Model License
技能许可证:MIT-0 — https://spdx.org/licenses/MIT-0.html
相关专题
热门下载
相关下载
精品课程
共6课时 | 54.7万人学习
共89课时 | 134.1万人学习
共49课时 | 82.6万人学习
最新文章