whatsapp-twin-bf16
Standalone bf16 model: Qwen3-4B-Instruct-2507 with a LoRA adapter fused in.
Fine-tuned to reply in the owner's voice in a WhatsApp chat (~1k
context→reply examples, mask_prompt training, iter-600 checkpoint selected
by validation loss).
This is the GPU/server-friendly copy — standard HF safetensors, loads in
plain transformers. For Apple Silicon, prefer the 8-bit MLX version:
misukisu/whatsapp-twin-8bit.
The MLX LoRA adapter is at
misukisu/whatsapp-twin-lora.
Usage
import torch
from transformers import AutoModelForCausalLM, AutoTokenizer
tok = AutoTokenizer.from_pretrained("misukisu/whatsapp-twin-bf16")
model = AutoModelForCausalLM.from_pretrained(
"misukisu/whatsapp-twin-bf16", dtype=torch.bfloat16, device_map="cuda"
)
msgs = [
{"role": "system", "content": "You are Miska replying in a WhatsApp chat. Given the recent transcript, write Miska's next message in their exact voice — same casing, punctuation, emoji habits and length. Output only the message text, nothing else."},
{"role": "user", "content": "Aatu: moi pelataaks tänää"},
]
ids = tok.apply_chat_template(msgs, add_generation_prompt=True,
return_tensors="pt", return_dict=True).to(model.device)
out = model.generate(**ids, max_new_tokens=80, do_sample=True,
temperature=0.75, top_p=0.9,
pad_token_id=tok.eos_token_id)
print(tok.decode(out[0][ids["input_ids"].shape[-1]:], skip_special_tokens=True))
Privacy
Weights are derived from private chat data. The model was published at the owner's request; no chat transcripts are included in this repo. The model can be prompted to generate text in the owner's conversational style.