Views
No views yet
OpenMed/privacy-filter-nemotron-v2 is the second-generation Nemotron-schema checkpoint in the OpenMed privacy-filter family. It keeps the same fine-grained 55-category PII vocabulary as OpenMed/privacy-filter-nemotron, while using a broader training mix and a more recall-oriented adaptation recipe. In practice, this v2 checkpoint should perform better as a general PII masking and redaction model while preserving the useful typed labels from the original Nemotron model.openai/privacy-filter, a 1.4B-parameter MoE token classifier with roughly 50M active parameters per token. It predicts 221 BIOES token classes:OB-*, I-*, E-*, and S-*OpenMed/privacy-filter-nemotron.openai/privacy-filterOpenMed/privacy-filter-nemotron remains useful when you want the
cleanest single-dataset Nemotron training lineage. This v2 model is the better
default when you want stronger general-purpose PII masking while keeping the
same fine-grained schema.pip install -U "openmed[hf]"1from openmed import extract_pii, deidentify
2
3model_name = "OpenMed/privacy-filter-nemotron-v2"
4text = (
5 "Patient Sarah Johnson (DOB 03/15/1985), MRN 4872910, "
6 "phone 415-555-0123, email sarah.johnson@example.com."
7)
8
9result = extract_pii(text, model_name=model_name)
10for ent in result.entities:
11 print(ent.label, ent.text)
12
13masked = deidentify(text, method="mask", model_name=model_name)
14print(masked.deidentified_text)opf1pip install 'opf @ git+https://github.com/openai/privacy-filter.git'
2
3opf redact \
4 --checkpoint OpenMed/privacy-filter-nemotron-v2 \
5 --text "Patient Sarah Johnson (DOB 03/15/1985), MRN 4872910, phone 415-555-0123."1from transformers import AutoModelForTokenClassification, AutoTokenizer, pipeline
2
3repo_id = "OpenMed/privacy-filter-nemotron-v2"
4
5tokenizer = AutoTokenizer.from_pretrained(repo_id, trust_remote_code=True)
6model = AutoModelForTokenClassification.from_pretrained(
7 repo_id,
8 trust_remote_code=True,
9)
10
11ner = pipeline(
12 "token-classification",
13 model=model,
14 tokenizer=tokenizer,
15 aggregation_strategy="simple",
16)
17
18text = "Patient Sarah Johnson, MRN 4872910, can be reached at sarah@example.com."
19print(ner(text))first_name, last_name, age,
gender, race_ethnicity, sexuality, religious_belief,
political_view, marital_status, nationality, education_level,
occupation, employment_status, language, blood_type,
biometric_identifieremail, phone_number, fax_number, urlstreet_address, city, county, state, country, postcode,
coordinatedate, date_of_birth, date_time, timessn, national_id, tax_idaccount_number, bank_routing_number,
swift_bic, credit_debit_card, cvv, pin, passwordmedical_record_number,
health_plan_beneficiary_numbercustomer_id, employee_id,
unique_id, certificate_license_numberlicense_plate, vehicle_identifieripv4, ipv6, mac_address, device_identifier,
api_key, http_cookielabel_space_fine_v1.json.openai/privacy-filterOpenMed/privacy-filter-nemotronopf trainnvidia/Nemotron-PIIgretelai/gretel-pii-masking-en-v1ai4privacy/pii-masking-openpii-1mopenai/privacy-filter model and opf training toolsnvidia/Nemotron-PIIgretelai/gretel-pii-masking-en-v1ai4privacy/pii-masking-openpii-1m1@misc{openmed_privacy_filter_nemotron_v2_2026,
2 author = {OpenMed},
3 title = {{OpenMed/privacy-filter-nemotron-v2}: second-generation Nemotron-schema privacy filter},
4 year = {2026},
5 publisher = {Hugging Face},
6 howpublished = {\url{https://huggingface.co/OpenMed/privacy-filter-nemotron-v2}}
7}