FlashFlow Qwen3-0.6B — Bank SMS Structured Extractor

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.

Model Details

  • Base model: Qwen/Qwen3-0.6B
  • Method: LoRA (PEFT), r=16, alpha=32, dropout=0.05
  • Target modules: q_proj, k_proj, v_proj, o_proj, gate_proj, up_proj, down_proj
  • Task: Structured JSON extraction from Indian bank SMS text
  • Training data: 4-alokk/flashflow-bank-sms — 15,000 synthetic training examples, 200 held-out eval examples

How to Get Started with the Model

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))

Training Procedure

Trained with TRL SFTTrainer on 15,000 synthetic Indian bank SMS examples (40% debit, 40% credit, 20% non-actionable/noise), 1500 steps.

Training Hyperparameters

  • max_steps: 1500
  • per_device_train_batch_size: 2
  • gradient_accumulation_steps: 8
  • learning_rate: 1.5e-4
  • lr_scheduler_type: cosine
  • warmup_steps: 150
  • max_seq_length: 512
  • LoRA: r=16, alpha=32, dropout=0.05

Framework versions

  • PEFT 0.19.1
  • TRL: 1.3.0
  • Transformers: 5.8.0
  • Pytorch: 2.11.0
  • Datasets: 4.8.5
  • Tokenizers: 0.22.2
Downloads last month
10
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Model tree for 4-alokk/flashflow-qwen3-0.6b-bank-sms

Finetuned
Qwen/Qwen3-0.6B
Adapter
(506)
this model

Dataset used to train 4-alokk/flashflow-qwen3-0.6b-bank-sms