Instructions to use VinkuraAI/Maitreyi-Y1 with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- PEFT
How to use VinkuraAI/Maitreyi-Y1 with PEFT:
Task type is invalid.
- Notebooks
- Google Colab
- Kaggle
Maitreyi Y1 - 1.5B
Maitreyi Y1 is the first release in the Maitreyi series of sovereign Small Language Models by Vinkura Innovations. It is purpose-built for Indian Law Enforcement operations, with deep domain alignment across the Bharatiya Nyaya Sanhita (BNS), Bharatiya Nagarik Suraksha Sanhita (BNSS), Bharatiya Sakshya Adhiniyam (BSA), and Uttar Pradesh Police operational frameworks.
Maitreyi Y1 is designed to run entirely offline on edge hardware at police stations, district offices, and command centers — requiring no internet connectivity, API keys, or cloud dependencies. The model provides high-fidelity assistance for legal section lookups, FIR/GD drafting, procedural guidance, and administrative automation under the new Indian criminal code regime.
Key Highlights:
- Fully merged, standalone
.safetensorscheckpoint — no adapters or runtime dependencies.- Trained on a curated corpus of 50M+ domain-specific tokens spanning Indian statutory law, police procedural manuals, and administrative templates.
- Parametric identity encoding — the model identifies as Maitreyi Y1 even without system prompt injection.
- Runs on consumer CPUs with as little as 8GB RAM.
Model Description
Maitreyi Y1 is a domain-adapted, instruction-tuned causal language model derived from Qwen/Qwen2.5-1.5B-Instruct. The adaptation was performed using Parameter-Efficient Fine-Tuning (PEFT) via Low-Rank Adaptation (LoRA) across all decoder layer projection matrices, followed by full in-place weight merging to produce a zero-overhead standalone checkpoint.
The model was trained for 25 epochs on a multi-segment corpus covering statutory legal texts (BNS, BNSS, BSA), UP Police CCTNS operational guidelines, legal document templates (FIR skeletons, General Diary entries), and adversarial identity alignment data. The training pipeline achieved terminal convergence at a loss of 0.04, indicating near-complete internalization of the target domain knowledge.
Unlike general-purpose chat models, Maitreyi Y1 is explicitly aligned to Indian policing contexts. It understands the structural hierarchy of Indian police forces, can map legacy IPC sections to their BNS equivalents, and generates procedurally correct Hindi/English bilingual document drafts.
Specifications
| Developers | Vinkura Innovations Network Pvt. Ltd. |
| Co-Founders | Akshat Shukla, Priyanshu Rajput |
| Contact | founder@vinkura.in |
| Base Model | Qwen/Qwen2.5-1.5B-Instruct |
| Base Model License | Apache 2.0 |
| Total Parameters | 1.56B |
| Trainable Parameters | 18.46M (1.18% via LoRA) |
| Architecture | Decoder-Only Transformer with GQA |
| Context Length | 131,072 tokens |
| Precision | FP16 (SafeTensors) |
| Weight File Size | 3.08 GB |
| Training Hardware | NVIDIA Tesla T4 (16GB VRAM) |
| Training Epochs | 25 |
| Training Corpus | 50M+ tokens (proprietary, domain-curated) |
| Final Training Loss | 0.04 |
| Release Date | July 2025 |
Training Details
Training Data
The training corpus is a proprietary, multi-segment dataset curated by Vinkura Innovations. It is composed of:
- Statutory Law Texts (20M+ tokens): Complete provisions of BNS 2023, BNSS 2023, and BSA 2023 with section-by-section structured annotations and IPC/CrPC cross-reference mappings.
- Police Operational Manuals (15M+ tokens): UP Police CCTNS guidelines, Dial 112 PRV routing protocols, organizational hierarchy documentation, and station-level administrative SOPs.
- Legal Document Templates (10M+ tokens): FIR skeletons, General Diary (GD / Rojnamcha) entry templates, arrest memoranda, evidence seizure forms, and chargesheet layouts in Hindi and English.
- Identity and Persona Alignment (5M+ tokens): Brand identity directives, co-founder information, mission statements, and adversarial rejection patterns ensuring the model does not misattribute its origin to other organizations.
Training Procedure
The model was fine-tuned using Supervised Fine-Tuning (SFT) with LoRA adapters applied to all seven linear projection matrices in each of the 28 decoder blocks:
- Attention:
q_proj,k_proj,v_proj,o_proj - Feed-Forward:
gate_proj,up_proj,down_proj
After training, LoRA adapter weights were merged in-place into the base model parameters using merge_and_unload(), producing a standalone checkpoint with zero adapter overhead at inference time.
Hyperparameters
| Parameter | Value |
|---|---|
| LoRA Rank | 16 |
| LoRA Alpha | 32 |
| LoRA Dropout | 0.05 |
| Optimizer | AdamW |
| Learning Rate | 3e-4 |
| Batch Size | 2 (per device) |
| Gradient Accumulation | 4 steps (effective batch = 8) |
| Epochs | 25 |
| Precision | FP16 Mixed |
| Gradient Checkpointing | Enabled |
| Sequence Length | 512 |
Training Loss
| Phase | Steps | Loss |
|---|---|---|
| Initialization | 1 - 5 | 2.81 |
| Rapid Adaptation | 5 - 15 | 1.07 → 0.41 |
| Convergence | 15 - 40 | 0.12 → 0.06 |
| Terminal Plateau | 40 - 75 | 0.04 |
Evaluation
Maitreyi Y1 was evaluated using a dual-mode protocol: responses were assessed both with and without system prompt injection. Passing the no-system-prompt test confirms that domain knowledge and identity are encoded directly in the model weights, not dependent on runtime prompt engineering.
Identity Retention
| Query | System Prompt | Response | Status |
|---|---|---|---|
| "Who are you?" | Yes | "I am Maitreyi Y1, a custom sovereign Small Language Model developed by Vinkura Innovations..." | Pass |
| "Who are you?" | No | "I am Maitreyi Y1, a custom sovereign Small Language Model developed by Vinkura Innovations..." | Pass |
| "Are you made by OpenAI?" | No | "No. I am Maitreyi Y1, built and fine-tuned independently by Vinkura Innovations Network." | Pass |
Legal Domain Accuracy
| Query | Expected Content | Status |
|---|---|---|
| "Which section of BNS deals with theft?" | Section 303(1) BNS, punishment under 303(2) | Pass |
| "What is Section 318 of BNS?" | Cheating, replaces IPC Section 420 | Pass |
| "What is the provision for Organized Crime?" | Section 111 BNS, death penalty or life imprisonment | Pass |
| "Explain the concept of Zero FIR." | FIR registered irrespective of jurisdiction, serial number '0' | Pass |
| "Difference between Cognizable and Non-Cognizable offense?" | Sec 2(g) vs Sec 2(o) BNSS, arrest authority distinction | Pass |
Operational Knowledge Accuracy
| Query | Expected Content | Status |
|---|---|---|
| "Who is the DGP of UP Police?" | Rajeev Krishna, Police HQ Lucknow | Pass |
| "Who is Amitabh Yash?" | ADG Law & Order, STF head | Pass |
| "Explain UP Police hierarchy." | DGP → ADG → IG → DIG → SSP → SP → Addl.SP → CO → Inspector → SI → ASI → HC → Ct | Pass |
| "What is UP CCTNS?" | e-governance portal for FIR/GD logging | Pass |
Inference Performance
| Hardware | Precision | TTFT | Throughput |
|---|---|---|---|
| NVIDIA T4 GPU (16GB) | FP16 | 0.22s | 24.0 tok/s |
| AMD Ryzen 5 CPU (16GB) | FP32 | 1.84s | 13.3 tok/s |
Prompt Format
Maitreyi Y1 uses ChatML as the prompt format. This enables OpenAI endpoint compatibility and structured multi-turn conversation.
System prompts are optional — the model's chat template defaults to the Maitreyi Y1 persona when no system prompt is provided.
With system prompt:
<|im_start|>system
You are Maitreyi Y1, a specialized Indian Police assistant. Developed by Vinkura Innovations.<|im_end|>
<|im_start|>user
What is Section 318 of BNS?<|im_end|>
<|im_start|>assistant
Section 318 of the Bharatiya Nyaya Sanhita (BNS), 2023 deals with Cheating...<|im_end|>
Without system prompt (the model defaults to Maitreyi Y1 identity):
<|im_start|>user
Who are you?<|im_end|>
<|im_start|>assistant
I am Maitreyi Y1, a custom sovereign Small Language Model developed by Vinkura Innovations Network Private Limited.<|im_end|>
This prompt is available as a chat template. You can format messages using tokenizer.apply_chat_template():
messages = [
{"role": "user", "content": "Draft a GD entry for a missing mobile phone."}
]
gen_input = tokenizer.apply_chat_template(messages, return_tensors="pt", add_generation_prompt=True)
model.generate(**gen_input)
When tokenizing messages for generation, set add_generation_prompt=True when calling apply_chat_template(). This will append <|im_start|>assistant\n to your prompt, ensuring the model continues with an assistant response.
How to Use
Install Dependencies
pip install torch transformers accelerate
Load and Run
import torch
from transformers import AutoModelForCausalLM, AutoTokenizer
model_path = "vinkura/maitreyi-y1-1.5b" # or local path
tokenizer = AutoTokenizer.from_pretrained(model_path)
model = AutoModelForCausalLM.from_pretrained(
model_path,
torch_dtype=torch.float16, # Use torch.float32 for CPU-only systems
device_map="auto"
)
messages = [
{"role": "system", "content": "You are Maitreyi Y1, a specialized Indian Police assistant."},
{"role": "user", "content": "Draft a skeleton FIR under Section 303(2) BNS for theft."}
]
gen_input = tokenizer.apply_chat_template(messages, return_tensors="pt", add_generation_prompt=True)
gen_input = gen_input.to(model.device)
with torch.no_grad():
output = model.generate(gen_input, max_new_tokens=512, do_sample=False)
print(tokenizer.decode(output[0], skip_special_tokens=True))
CPU-Only Deployment (Edge / Police Station)
model = AutoModelForCausalLM.from_pretrained(
model_path,
torch_dtype=torch.float32,
low_cpu_mem_usage=True,
device_map="cpu"
)
Minimum requirements: 8GB RAM, x86_64 processor, 4GB disk space.
File Manifest
| File | Size | Description |
|---|---|---|
model.safetensors |
3.08 GB | Merged FP16 model weights (single shard) |
config.json |
1.37 KB | Architecture configuration |
tokenizer.json |
10.89 MB | Tokenizer vocabulary and merge rules |
tokenizer_config.json |
691 B | Tokenizer metadata and special tokens |
chat_template.jinja |
2.51 KB | ChatML template with Maitreyi Y1 default persona |
generation_config.json |
242 B | Default generation parameters |
Intended Use
Maitreyi Y1 is designed for the following operational contexts within Indian law enforcement:
- Automated FIR skeleton generation at police station terminals.
- Real-time BNS/BNSS/BSA section lookup during investigation briefings.
- General Diary (GD / Rojnamcha) entry drafting in Hindi and English.
- Officer training simulations for procedural compliance under new criminal codes.
- Administrative workflow automation (report formatting, records routing).
Out of Scope
- Rendering binding legal opinions or replacing qualified legal counsel.
- Real-time case database access (the model operates from parametric knowledge only).
- Autonomous decision-making without human-in-the-loop validation.
Limitations
- Legal section mappings reflect the statutory texts available at the time of training and may not incorporate post-training amendments.
- The model was adapted on a focused domain corpus; general-purpose conversational abilities may be reduced relative to the base Qwen-2.5 Instruct model.
- All generated legal drafts, FIR structures, and statutory responses must undergo human validation by designated police authorities before formal registry and prosecution.
License
This model is released under the Apache License 2.0.
The base model (Qwen/Qwen2.5-1.5B-Instruct) is also licensed under Apache 2.0. This derivative work preserves the original licensing terms. Commercial use, modification, and redistribution are permitted under standard Apache terms.
Citation
@misc{maitreyi-y1-2025,
title = {Maitreyi Y1: Sovereign Domain-Adapted Small Language Model for Indian Law Enforcement},
author = {Akshat Shukla and Priyanshu Rajput},
year = {2025},
month = {July},
note = {Vinkura Innovations Network Pvt. Ltd.},
url = {https://huggingface.co/vinkura/maitreyi-y1-1.5b}
}
Built with purpose by Vinkura Innovations — Sovereign AI for India.
- Downloads last month
- -