pii数据脱敏需结合正则匹配、开源库语义识别、规则词典混合过滤及api中间件四类技术:一用正则替换手机号/邮箱/身份证;二用presidio识别person/location等实体;三用姓氏词典+上下文规则提精度;四在gemini调用层封装自动脱敏逻辑。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

如果您在调用 Gemini API 之前未对输入文本中的个人身份信息进行处理,可能导致敏感数据意外暴露。PII 数据脱敏是指通过技术手段对可识别个人身份的信息进行变形、替换或删除,使其无法关联到特定自然人。以下是实现自动过滤隐私信息的几种可行技巧:
一、基于正则表达式的实时匹配与替换
该方法利用预定义的正则表达式模式识别常见 PII 类型(如身份证号、手机号、邮箱地址),并在发送请求前将其替换为占位符或哈希值。适用于结构化程度较高、格式相对固定的文本场景。
1、定义手机号匹配正则:/1[3-9]\d{9}/g,并将匹配结果替换为"[PHONE]"。
2、定义邮箱匹配正则:/[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}/g,并将匹配结果替换为"[EMAIL]"。
3、定义身份证号匹配正则:/\b\d{17}[\dXx]|\d{15}\b/g,并将匹配结果替换为"[ID_NUMBER]"。
二、使用开源 PII 识别库进行语义增强过滤
该方法借助 spaCy、Presidio 或 PII-Detector 等支持上下文理解的库,识别嵌套在自然语言中的隐式 PII 实体(如“张三的住址是北京市朝阳区XX路1号”中的姓名和地址),提升识别准确率。
1、安装 Microsoft Presidio Python SDK 并加载预训练模型。
2、调用 analyzer.analyze() 方法对原始文本执行多类别实体识别,返回包含 PERSON、LOCATION、PHONE_NUMBER 等类型的检测结果。
3、调用 anonymizer.anonymize() 方法,将所有检测出的 PII 实体统一替换为对应类型标签,例如将“张三”替换为"[PERSON]",将“北京市朝阳区”替换为"[LOCATION]"。
使用固定的 Next.js/Tailwind/Prisma 技术栈构建并记录独立 SaaS 项目,仅将 FastAPI 用于 Python 工作负载,并遵循严格的架构规范。
三、构建轻量级规则+词典混合过滤层
该方法结合关键词词典(如常见姓氏、地名、机构名)与上下文规则(如“身份证号:”后紧跟18位字符),降低误报率,同时避免依赖大型 NLP 模型带来的性能开销。
1、准备本地词典文件,包含高频中文姓氏列表(如“王、李、张、刘”)及全国行政区划名称。
2、设定上下文触发规则:当检测到“姓名:”“联系人:”等前缀时,将其后连续1–5个汉字视为潜在 PERSON 实体。
3、对识别出的候选实体,比对词典并确认其属于高置信度 PII 后,统一替换为"[PERSON]"或"[LOCATION]"。
四、在 API 请求封装层注入脱敏中间件
该方法将脱敏逻辑嵌入客户端 SDK 封装函数中,确保所有发往 Gemini API 的 payload 在序列化前自动完成清洗,无需修改业务代码主体流程。
1、重写 gemini.generate_content() 调用入口,在参数解析阶段拦截 contents 字段。
2、对每个 text 类型的 content 块,依次执行正则替换、Presidio 分析、词典校验三级过滤。
3、仅当某段文本经全部过滤步骤后未发生变化,才保留原始内容;否则以脱敏后文本替代,并记录脱敏日志中被处理的PII 类型与数量。
大量免费API接口:立即使用
涵盖生活服务API、金融科技API、企业工商API、等相关的API接口服务。免费API接口可安全、合规地连接上下游,为数据API应用能力赋能!










