Neste tutorial, construiremos um pipeline completo, estilo produção, para detecção e redação de informações de identificação pessoal (PII) usando o OpenAI Privacy Filter. Começamos configurando o ambiente e carregando um modelo de classificação de tokens que identifica múltiplas categorias de dados sensíveis, incluindo nomes, e-mails, números de telefone, endereços e segredos. Em seguida, projetamos funções auxiliares para normalizar rótulos, extrair spans estruturados e transformar as saídas brutas do modelo em formatos utilizáveis. A partir daí, implementamos um sistema de redação configurável que nos permite substituir entidades sensíveis por placeholders significativos, preservando a privacidade e proporcionando clareza contextual. Ao longo do processo, testamos o pipeline com exemplos selecionados, convertemos as saídas em dataframes estruturados e preparamos o sistema para processamento em lote e uso no mundo real. Copiar Código Copiado Use um Navegador diferente! Pip install -q -U transformers accelerate torch pandas matplotlib huggingface_hub import os, re, json, time, textwrap, warnings from pathlib import Path from collections import Counter import pandas as pd import matplotlib.pyplot as plt import torch from transformers import AutoTokenizer, AutoModelForTokenClassification, pipeline warnings.filterwarnings("ignore") MODEL_ID = "openai/privacy-filter" OUT_DIR = Path("/content/privacy_filter_outputs") OUT_DIR.mkdir(parents=True, exist_ok=True) device = 0 if torch.cuda.is_available() else -1 torch_dtype = torch.bfloat16 if torch.cuda.is_available() else torch.float32 print("Dispositivo:", "GPU" if torch.cuda.is_available() else "CPU") print("Tipo de dado Torch:", torch_dtype) print("Modelo:", MODEL_ID) Instalamos todas as bibliotecas necessárias e configuramos o ambiente de execução do pipeline. Configuramos a seleção do dispositivo e inicializamos os caminhos para armazenar as saídas. Também imprimimos os detalhes do sistema para confirmar que tudo está pronto antes de carregar o modelo. Copiar Código Copiado Use um Navegador diferente! tokenizer = AutoTokenizer.from_pretrained(MODEL_ID) model = AutoModelForTokenClassification.from_pretrained( MODEL_ID, torch_dtype=torch_dtype, device_map="auto" if torch.cuda.is_available() else None ) classifier = pipeline( task="token-classification", model=model, tokenizer=tokenizer, aggregation_strategy="simple", device=device if not torch.cuda.is_available() else None ) LABEL_MASKS = { "account_number": "[ACCOUNT_NUMBER]", "private_address": "[PRIVATE_ADDRESS]", "private_email": "[PRIVATE_EMAIL]", "private_person": "[P
Fonte: MarkTechPost
Publicado em 2026-04-29