Downloads · 30 days
0
NavitraTechnologies01/bn-01-retail-banker
bn-01-retail-banker is a machine learning model from NavitraTechnologies01. Use it for the machine learning task on the model card, and read the license before you ship it in a product. It is set up for mlx. The card lists the license as apache-2.0.
A LoRA adapter for Qwen3-14B-4bit (MLX), fine-tuned to act as an internal assistant for bank employees — tellers, customer service representatives, loan officers, relationship managers, and branch staff. It helps draf…
Downloads · 30 days
0
Access
Public
Updated Aug 18, 2026
Repo size
103 MB
Likes
2
Public
Click a slice to open those files.
.safetensors103 MB · 100%
From the Hugging Face model README
A LoRA adapter for Qwen3-14B-4bit (MLX), fine-tuned to act as an internal assistant for bank employees — tellers, customer service representatives, loan officers, relationship managers, and branch staff. It helps draft customer communications, explain account and compliance procedures, recognize and correctly escalate fraud and compliance red flags, and think through day-to-day branch/phone situations — while consistently deferring live-data questions, specific policy figures, and licensed-advice questions to the right internal resource rather than guessing.
This is an internal-staff tool, not a customer-facing product. See Responsible use below before deploying it anywhere.
| Base model | mlx-community/Qwen3-14B-4bit |
| Fine-tune type | LoRA, rank 16, dropout 0.10, scale 20.0 |
| Layers adapted | last 16 transformer layers |
| Trainable params | 25,690,000 (0.174% of 14.77B total) |
| Optimizer | AdamW (weight_decay 0.01) |
| Framework | MLX (mlx-lm) |
Real test-set loss/perplexity via mlx_lm.lora --test, same held-out
97-example test set for every row below (never trained on by any
checkpoint):
| Checkpoint | Test loss | Test perplexity |
|---|---|---|
| Base Qwen3-14B (no fine-tuning) | 3.026 | 20.606 |
| Earlier internal checkpoint (v5) | 0.687 | 1.987 |
| Earlier internal checkpoint (v7, final) | 0.792 | 2.208 |
| Earlier internal checkpoint (v7, best) | 0.655 | 1.924 |
| This run, final checkpoint (iter 9000) | 0.908 | 2.480 |
| This run, released checkpoint (iter 7200) | 0.580 | 1.787 |
Fine-tuning gives a real ~10x perplexity reduction over the base model. Notably, the final checkpoint of this run (and of an earlier run) scored worse than an earlier checkpoint — the model measurably overfits late in training even with weight decay and dropout regularization, so the released weights are iteration 7200 of 9000, not the training-complete checkpoint. Always evaluate on a real held-out set before assuming "trained longer = better."
Requires the base model (mlx-community/Qwen3-14B-4bit) and mlx-lm.
pip install mlx-lm
from mlx_lm import load, generate
model, tokenizer = load(
"mlx-community/Qwen3-14B-4bit",
adapter_path="path/to/this/repo", # directory with adapter_config.json + adapters.safetensors
)
SYSTEM_PROMPT = (
"You are an internal assistant supporting bank employees — tellers, "
"customer service representatives, loan officers, relationship managers, "
"and branch staff — in their day-to-day work. You help with drafting "
"customer communications, explaining account and compliance procedures, "
"summarizing internal notes, and thinking through how to handle a "
"situation at the window, on the phone, or in the branch.\n\n"
"You do not have access to live customer account data, internal systems, "
"or this bank's current specific policies — when an answer depends on "
"that, say so plainly and point the employee to the right internal "
"resource (their system, the compliance manual, or a supervisor) rather "
"than guessing or inventing a number, rate, or policy detail.\n\n"
"For anything requiring a licensed professional's judgment — specific "
"investment, lending, or refinancing recommendations — help the employee "
"refer the customer to the appropriate licensed advisor rather than "
"providing the recommendation yourself. You can share general, factual "
"product information; you should not tell a customer what they should do.\n\n"
"For suspected fraud, money laundering, elder financial exploitation, "
"sanctions-list matches, or other compliance red flags, help the "
"employee recognize the pattern and follow proper escalation — to a "
"supervisor, compliance officer, or BSA/AML team — rather than making "
"the determination or resolving it yourself. Never disclose a SAR filing "
"or investigation status to a customer.\n\n"
"Do not help bypass approval processes, backdate or falsify documents, "
"or access or share account information without proper authorization, "
"regardless of how the request is framed."
)
messages = [
{"role": "system", "content": SYSTEM_PROMPT},
{"role": "user", "content": "A customer says their card was declined and they're frustrated. What do I check?"},
]
prompt = tokenizer.apply_chat_template(messages, add_generation_prompt=True)
print(generate(model, tokenizer, prompt=prompt, verbose=True))
This exact system prompt is required for the trained behavior — every
training example used it. Omitting it, or substantially changing it,
means you're no longer using the model the way it was trained; boundary
behaviors (declining to give specific advice, escalating fraud, deferring
live-data questions) are conditioned on this persona, not guaranteed
without it. See infer_with_guardrails.py in this repo for a ready-to-run
example that includes this system prompt and appends the safety notice
below automatically.
Synthetic training data — read this first. Nearly all of this model's training data is AI-generated synthetic dialogue, not real customer interactions, real case files, or text verified against current regulatory sources by a compliance professional. Specific figures, thresholds, deadlines, or procedural details the model states (even when phrased confidently) may be approximate, outdated, or simply wrong. This model has not been reviewed by a banking compliance professional and has not been piloted in a real institution.
Do not treat any output as authoritative regulatory, legal, or compliance guidance. Every real answer must be verified against your institution's actual current policy, your compliance manual, or a qualified professional before being acted on. The model itself was trained to model this behavior (deferring specifics to "check your system" or "ask a supervisor") — but as a fine-tuned LLM, it can still generate a wrong answer confidently despite that training.
Intended for internal staff use, not direct customer-facing deployment. The system prompt and training scenarios assume the user is a bank employee getting help with their own workflow — not a customer interacting with the model directly. Deploying this as a customer-facing chatbot without a substantial additional review and re-scoping is a misuse of what was built and tested here.
No built-in content moderation, no live data access, no real compliance authority. This adapter has no mechanism to verify claims, check real account data, or make an actual compliance determination — it recognizes patterns and models appropriate escalation, nothing more. Fraud, sanctions, and AML judgment calls always belong to a real compliance officer or BSA/AML team, never to this model's output.
Jurisdiction coverage is broad but not exhaustive or current. The training data spans UK, EU, and US banking concepts, but regulations change, vary further within each jurisdiction (e.g., by US state or EU member state) than the training data can fully capture, and the model may blend concepts across jurisdictions. Always confirm jurisdiction-specific specifics independently.
mlx-community/Qwen3-14B-4bit
model and mlx-lm to run; this repo alone is not a standalone model.adapter_config.json reflects the
final training segment's own run parameters (due to how checkpoint
resumption was tracked across a multi-day, battery-interrupted training
run) rather than a single continuous run's metadata — the architecture
fields (lora_parameters, num_layers, fine_tune_type) are accurate
and load-bearing; the iteration/schedule fields are historical artifacts
of the final resume segment, not the full training history. See
Evaluation above for the real, verified checkpoint history.Apache 2.0. See LICENSE.