PII 检测
Semantic Router 默认支持个人身份信息(PII)检测。通过微调的 BERT 模型识别敏感数据,并基于可配置的策略拦截请求。
概述
PII 检测系统:
- 识别用户查询中的常见 PII 类型
- 执行每个决策的可配置 PII 策略
- 拦截包含敏感信息的请求(基于信号规则)
- 集成信号驱动决策,实现精细化控制
- 记录策略违规,用于监控
支持的 PII 类型
系统可检测以下 PII 类型:
| PII 类型 | 说明 | 示例 |
|---|---|---|
PERSON | 人名 | "张三"、"John Smith" |
EMAIL_ADDRESS | 电子邮件地址 | "user@example.com" |
PHONE_NUMBER | 电话号码 | "+1-555-123-4567" |
US_SSN | 美国社会安全号码 | "123-45-6789" |
STREET_ADDRESS | 实际地址 | "123 Main St, New York, NY" |
GPE | 地缘政治实体 | 国家、州、城市 |
ORGANIZATION | 组织名称 | "Microsoft"、"OpenAI" |
CREDIT_CARD | 信用卡号码 | "4111-1111-1111-1111" |
US_DRIVER_LICENSE | 美国驾照 | "D123456789" |
IBAN_CODE | 国际银行账号 | "GB82 WEST 1234 5698 7654 32" |
IP_ADDRESS | IP 地址 | "192.168.1.1"、"2001:db8::1" |
DOMAIN_NAME | 域名/网站名称 | "example.com"、"google.com" |
DATE_TIME | 日期/时间信息 | "2024-01-15"、"1月15日" |
AGE | 年龄信息 | "25岁"、"1990年出生" |
NRP | 国籍/宗教/政治团体 | "美国人"、"基督徒" |
ZIP_CODE | 邮政编码 | "10001"、"SW1A 1AA" |
配置
PII 检测现在是信号层中的一等公民信号。在 signals.pii 下定义命名的 pii 规则,然后在 decisions 中通过 type: "pii" 引用它们。
基础 PII 检测
# router-config.yaml
# ── PII 分类器模型 ────────────────────────────────────────────────────────
classifier:
pii_model:
model_id: "models/mom-pii-classifier"
use_modernbert: false
threshold: 0.9
use_cpu: true
pii_mapping_path: "models/mom-pii-classifier/label_mapping.json"
# ── 信号 ──────────────────────────────────────────────────────────────────
signals:
pii:
- name: "pii_deny_all"
threshold: 0.9
description: "拦截所有 PII 类型"
# ── 决策 ──────────────────────────────────────────────────────────────────
decisions:
- name: "block_pii"
priority: 999
rules:
operator: "OR"
conditions:
- type: "pii"
name: "pii_deny_all"
plugins:
- type: "fast_response"
configuration:
message: "请求被拦截:检测到个人信息,请删除敏感数据后重试。"
允许列表:允许特定 PII 类型
使用 pii_types_allowed 允许某些 PII 类型,同时拦截其他所有类型:
signals:
pii:
# 拦截所有 PII
- name: "pii_deny_all"
threshold: 0.5
description: "拦截所有 PII"
# 允许邮件和电话(例如用于预约)
- name: "pii_allow_email_phone"
threshold: 0.5
pii_types_allowed:
- "EMAIL_ADDRESS"
- "PHONE_NUMBER"
description: "允许邮件和电话,拦截身份证号/信用卡等"
# 允许组织/地点名称(例如用于代码/技术内容)
- name: "pii_allow_org_location"
threshold: 0.6
pii_types_allowed:
- "GPE"
- "ORGANIZATION"
- "DATE_TIME"
description: "允许地理位置、组织、日期 — 常见于代码和配置文件"