Views
No views yet
1{
2 "masked_text": "Казвам се [ИМЕ], живея в [ГРАД] на [АДРЕС].",
3 "extracted_entities": {"ИМЕ": ["..."], "ГРАД": ["..."], "АДРЕС": ["..."]}
4}ИМЕ, ГРАД, АДРЕС, ЕГН, IBAN, ТЕЛЕФОН, ИМЕЙЛ, РЕГ_НОМЕР.1import torch
2from transformers import AutoTokenizer, AutoModelForCausalLM
3from peft import PeftModel
4
5BASE = "INSAIT-Institute/BgGPT-Gemma-3-4B-IT" # or unsloth/gemma-3-4b-it
6ADAPTER = "akaraangov/bggpt-gdpr-lora-v2"
7
8tok = AutoTokenizer.from_pretrained(ADAPTER)
9base = AutoModelForCausalLM.from_pretrained(BASE, torch_dtype=torch.bfloat16, device_map="auto")
10model = PeftModel.from_pretrained(base, ADAPTER).eval()
11
12sys = ("Ти си асистент за анонимизация на лични данни (PII) в български текст "
13 "съгласно GDPR. Връщаш само валиден JSON с полета \"masked_text\" и "
14 "\"extracted_entities\".")
15text = "Анонимизирай следния български текст по GDPR стандарти: 'Иван Петров от Пловдив се обади.'"
16msgs = [{"role": "user", "content": sys + "\n\n" + text}]
17
18inputs = tok.apply_chat_template(msgs, add_generation_prompt=True, tokenize=True,
19 return_dict=True, return_tensors="pt").to(model.device)
20out = model.generate(**inputs, max_new_tokens=512, do_sample=False)
21print(tok.decode(out[0][inputs["input_ids"].shape[-1]:], skip_special_tokens=True))