Indian Flag
Government Of India
A-
A
A+
ORGANISATION

Indian Address Parser

A LoRA adapter fine-tuned on Qwen3-0.6B that parses raw, unstructured Indian address strings into 13 structured fields, output as JSON. Input: "FLAT NO.32, UTTARA TOWERS, MG ROAD GUWAHATI , Kamrup AS 781029" Output: {"houseNumber": "FLAT NO.32", "houseName": "UTTARA TOWERS", "poi": null,"street": "MG ROAD", "subsubLocality": null, "subLocality": null, "locality": null,"village": null, "subDistrict": null, "district": "Kamrup", "city": "GUWAHATI","state": "AS", "pincode": "781029"}

About Model

``` ## Two loading paths Training was done with **[MLX](https://github.com/ml-explore/mlx)** (`mlx-lm`'s `lora` command) on Apple Silicon. The repo root has a **PEFT-format conversion** of that adapter so it loads on any platform (CUDA, MPS, CPU) via standard `transformers`+`peft` — the [`mlx/`](./mlx) subfolder has the original MLX artifacts for Apple Silicon users. Both were verified to produce matching output (13/15 identical on a held-out spot check; the 2 differences landed on fields already noted as ambiguous below — consistent with floating-point differences between backends on a near-tied decision, not a conversion error). ### Option A — PEFT (transformers, any platform) ```python import torch from peft import PeftModel from transformers import AutoModelForCausalLM, AutoTokenizer repo = "gagan1985/qwen3-0.6b-indian-address-parser" tokenizer = AutoTokenizer.from_pretrained(repo) base = AutoModelForCausalLM.from_pretrained("Qwen/Qwen3-0.6B", torch_dtype=torch.bfloat16) model = PeftModel.from_pretrained(base, repo) SYSTEM_PROMPT = ( "You are an Indian address parser. Given a raw address string, extract address " "fields and return them as a JSON object. Use null for fields not present in the " "address. Output only the JSON object, no explanation.\n\n" "Fields: houseNumber, houseName, poi, street, subsubLocality, subLocality, " "locality, village, subDistrict, district, city, state, pincode" ) messages = [ {"role": "system", "content": SYSTEM_PROMPT}, {"role": "user", "content": "Parse this address:\n"}, ] text = tokenizer.apply_chat_template(messages, tokenize=False, add_generation_prompt=True, enable_thinking=False) inputs = tokenizer(text, return_tensors="pt").to(model.device) out = model.generate(**inputs, max_new_tokens=256, do_sample=False, pad_token_id=tokenizer.eos_token_id) print(tokenizer.decode(out[0][inputs["input_ids"].shape[1]:], skip_special_tokens=True)) ``` Or use the included `inference.py` / `evaluate.py` (download the repo, then `python inference.py --model Qwen/Qwen3-0.6B --adapter . "

"`). ### Option B — MLX (Apple Silicon) `mlx_lm.load`'s `adapter_path` only accepts a **local directory**, not an HF repo ID — so fetch the `mlx/` subfolder first, then point at it locally: ```python from huggingface_hub import snapshot_download import mlx_lm local_dir = snapshot_download("gagan1985/qwen3-0.6b-indian-address-parser", allow_patterns=["mlx/*"]) model, tokenizer = mlx_lm.load("Qwen/Qwen3-0.6B", adapter_path=f"{local_dir}/mlx") messages = [ {"role": "system", "content": SYSTEM_PROMPT}, {"role": "user", "content": "Parse this address:\n"}, ] prompt = tokenizer.apply_chat_template(messages, tokenize=False, add_generation_prompt=True, enable_thinking=False) print(mlx_lm.generate(model, tokenizer, prompt=prompt, max_tokens=512, verbose=False)) ``` Or use `mlx/inference_mlx.py` / `mlx/evaluate_mlx.py` from a local checkout. ## Fields ``` houseNumber, houseName, poi, street, subsubLocality, subLocality, locality, village, subDistrict, district, city, state, pincode ```

Indian Address Parser

Metadata Metadata

Apache 2.0

gagan1985

Fine-Tuned Model

Transformers

Open

Transportation, Logistics and Mobility

01/07/26 17:35:31

0

Activity Overview Activity Overview

  • Downloads0
  • Redirect 0
  • File Size 0
  • Views 4

Tags Tags

  • lora
  • peft
  • mlx
  • address-parsing
  • Named Entity Recognition
  • qwen3
  • Address
  • Parser
  • Indian Address

License Control License Control

Apache 2.0

More Models from Innerkore Technologies Private Limited More Models from Innerkore Technologies Private Limited

Indian Address Parser
A LoRA adapter fine-tuned on Qwen3-0.6B that parses raw, unstructured Indian address strings into 13 structured fields, output as JSON. Input: "FLAT NO.32, UTTARA TOWERS, MG ROAD GUWAHATI , Kamrup AS 781029" Output: {"houseNumber": "FLAT NO.32", "houseName": "UTTARA TOWERS", "poi": null,"street": "MG ROAD", "subsubLocality": null, "subLocality": null, "locality": null,"village": null, "subDistrict": null, "district": "Kamrup", "city": "GUWAHATI","state": "AS", "pincode": "781029"}
lora
peft
mlx
address-parsing
Named Entity Recognition
qwen3
Address
Parser
Indian Address
  • See Upvoters0
  • Downloads0
  • File Size0
  • Views4
Updated Today

INNERKORE TECHNOLOGIES PRIVATE LIMITED