Downloads · 30 days
73
15% of all-time downloads
SahilGoel/indian-txn-classifier
indian-txn-classifier is a text generation model from SahilGoel. Use it when you need the model to write or continue text. It is set up for transformers. The card lists the license as mit.
Fine-tuned Qwen2.5-0.5B for classifying Indian bank transactions (UPI, NEFT, IMPS, RTGS) into 30+ categories with merchant identification.
Downloads · 30 days
73
15% of all-time downloads
All-time downloads
498
Public
Repo size
37.8 MB
Likes
0
Public
Click a slice to open those files.
.json56.8 MB · 60%
From the Hugging Face model README
Fine-tuned Qwen2.5-0.5B for classifying Indian bank transactions (UPI, NEFT, IMPS, RTGS) into 30+ categories with merchant identification.
Use the Inference API widget on the right side of this page. Type a transaction description in the text box and click Compute.
Or call it programmatically:
from huggingface_hub import InferenceClient
client = InferenceClient(model="SahilGoel/indian-txn-classifier")
system_prompt = 'You are a bank transaction classifier for Indian bank statements. Given a raw transaction description, infer both its category and the actual company when evidence exists. Respond with ONLY a JSON object: {"category": "<category>", "company_name": "<company_or_null>", "is_income": false, "confidence": 0.0}.'
tx = "UPI/zerodhabroking@/HDFC BANK LTD"
prompt = f"### System:\n{system_prompt}\n\n### Input:\n{tx}\n\n### Output:\n"
result = client.text_generation(prompt, max_new_tokens=100, temperature=0.1)
print(result)
# {"category": "trading_deposit", "company_name": "Zerodha", "is_income": false, "confidence": 0.95}
Income: salary, dividend, interest, rental, capital_gains, other_income
Expenses: food, grocery, shopping, bills, medical, insurance, tax_payment, credit_card, personal_transfer, investment, trading_deposit, trading_credit, education, travel, entertainment, donation, loan_emi, loan_repayment, cash_withdrawal
Special: friends, family, flat_deposit, trading_fees, vehicle_purchase, staff_salary, health_fitness, transfer, unclassified
pip install transformers torch
from transformers import AutoModelForCausalLM, AutoTokenizer
model = AutoModelForCausalLM.from_pretrained("SahilGoel/indian-txn-classifier")
tokenizer = AutoTokenizer.from_pretrained("SahilGoel/indian-txn-classifier")
system_prompt = "You are a bank transaction classifier for Indian bank statements..."
input_text = "UPI/swiggybengaluru@/HDFC BANK LTD"
prompt = f"### System:\n{system_prompt}\n\n### Input:\n{input_text}\n\n### Output:\n"
inputs = tokenizer(prompt, return_tensors="pt")
outputs = model.generate(**inputs, max_new_tokens=100, temperature=0.1, do_sample=False)
print(tokenizer.decode(outputs[0], skip_special_tokens=True))
Open app.py from the GitHub repo in a Colab notebook — it works as a Gradio app with a public share link.
ICICI, HDFC, SBI, Axis, Kotak, Yes Bank, Federal Bank, IDFC First, IndusInd, Bank of Baroda, Punjab National, Canara, Union Bank, Unity SFB
Code and training pipeline: the-great-one/indian-txn-classifier