用途:在文本进入语言模型或离开系统前,剥离个人身份信息(PII)与敏感数据,适用于 GDPR 合规、客户数据匿名化、掩码等场景。
主要能力:先用正则处理结构化 PII(邮箱、电话、SSN、信用卡、IP、出生日期、邮编等),再用 DSPy 的 LM 签名识别需要上下文的实体(人名、地址、病历号等)。替换策略包括类别占位符([EMAIL])、索引占位符([PERSON_1])、哈希、合成假名、空白掩码。提供 PIIRedactor 模块整合两遍检测,并用 dspy.Refine 加奖励函数校验脱敏质量。
使用方式:安装 DSPy 并配置 LM,例如 dspy.LM("openai/gpt-4o-mini") 后 dspy.configure(lm=lm)。定义正则模式与 PIIMatch 数据类,编写 DetectContextualPII 签名,构建 PIIRedactor(strategy="indexed") 并调用 forward(text)。安装技能命令:npx skills add lebsral/DSPy-Programming-not-prompting-LMs-skills --skill <name>。
适用场景:客服邮件脱敏、医疗记录去标识化(HIPAA Safe Harbor)、调用第三方 API 前的预清洗。
限制:LM 会看到待隐藏的 PII,应先正则预掩码或使用本地模型;常见词可能被误判为人名;占位符不一致会破坏共指;非英语及音译姓名易漏检;dspy.Assert/dspy.Suggest 已弃用,应改用 dspy.Refine;高风险法律文件需人工复核。结构化字段、已令牌化数据或可避免收集 PII 时不宜使用 AI 脱敏。