Downloads · 30 days
15
19% of all-time downloads
4-alokk/flashflow-qwen3-0.6b-bank-sms
flashflow-qwen3-0.6b-bank-sms is a text generation model from 4-alokk. Use it when you need the model to write or continue text. It is set up for peft. The card lists the license as apache-2.0.
A LoRA adapter fine-tuned from Qwen/Qwen3-0.6B to parse Indian bank transaction SMS into structured JSON. Given a raw SMS string, the model outputs a JSON object with fields: transactiontype, amount, currency, date, t…
Downloads · 30 days
15
19% of all-time downloads
All-time downloads
81
Public
Repo size
51.8 MB
Likes
0
Public
Click a slice to open those files.
.safetensors40.4 MB · 78%
From the Hugging Face model README
A LoRA adapter fine-tuned from Qwen/Qwen3-0.6B to parse Indian bank transaction SMS into structured JSON. Given a raw SMS string, the model outputs a JSON object with fields: transaction_type, amount, currency, date, time, sender_bank, sender_acc, receiver_bank, receiver_acc, counterparty_name, reference_id, balance_after, is_actionable.
from transformers import AutoModelForCausalLM, AutoTokenizer
from peft import PeftModel
base_model_id = "Qwen/Qwen3-0.6B"
adapter_id = "4-alokk/flashflow-qwen3-0.6b-bank-sms"
tokenizer = AutoTokenizer.from_pretrained(adapter_id)
model = AutoModelForCausalLM.from_pretrained(base_model_id)
model = PeftModel.from_pretrained(model, adapter_id)
sms = "Your account 5986 has been debited by Rs.22534.00 on 17/03/24 at More Supermarket. Net Bal: Rs 48,009."
instruction = (
"You are a financial data extractor. Parse the bank SMS and return a JSON object with these fields: "
"transaction_type, amount, currency, date (ISO 8601), time, sender_bank, sender_acc, receiver_bank, "
"receiver_acc, counterparty_name, reference_id, balance_after, is_actionable. Use null for absent fields."
)
messages = [{"role": "user", "content": f"{instruction}\n\n{sms}"}]
inputs = tokenizer.apply_chat_template(messages, add_generation_prompt=True, return_tensors="pt")
output = model.generate(inputs, max_new_tokens=256)
print(tokenizer.decode(output[0][inputs.shape[1]:], skip_special_tokens=True))
Trained with TRL SFTTrainer on 15,000 synthetic Indian bank SMS examples (40% debit, 40% credit, 20% non-actionable/noise), 1500 steps.
max_steps: 1500per_device_train_batch_size: 2gradient_accumulation_steps: 8learning_rate: 1.5e-4lr_scheduler_type: cosinewarmup_steps: 150max_seq_length: 512