Try It
This repo ships safetensors weights and the ontor perception layer. Load it with transformers — that is the supported path.
pip install transformers torch
import sys
from huggingface_hub import snapshot_download
from transformers import AutoModelForCausalLM, AutoTokenizer
repo = snapshot_download("sifat-febo/banglish-companion")
sys.path.insert(0, repo)
from ontor.perceive import perceive, build_system_prompt, format_chatml_prompt
tok = AutoTokenizer.from_pretrained(repo)
model = AutoModelForCausalLM.from_pretrained(repo)
def listen(text):
prompt = format_chatml_prompt(text, build_system_prompt(perceive(text)))
inputs = tok(prompt, return_tensors="pt")
out = model.generate(**inputs, max_new_tokens=128, do_sample=True, temperature=0.7)
return tok.decode(out[0][inputs["input_ids"].shape[1]:], skip_special_tokens=True)
print(listen("aj mood bhalo na"))
The weights file is 6.8 GB (fp32) — plan for that on download and in RAM.
The tokenizer carries no chat_template, so apply_chat_template will not work here. format_chatml_prompt builds the ChatML string the model was trained on — use it.
Your laptop. Your CPU. Nothing leaves the device.
Runs offline too. Quantized builds for llama.cpp, Ollama and LM Studio — same weights, 1.06 GB — at bangla-banglish-companion-gguf.
Picked by the Author, Not Numbers
What's published here is safetensors. The comparison below is a record of what we did locally — not a menu of downloads.
We converted all three formats (F16, Q8_0, Q4_K_M) for our own use and ran them against BanglishBench v2.1. All three cleared it, and the spread landed inside the bench's noise — a tie. So we put the same prompts through all three side by side and compared by hand.
Q8_0 read tightest: better listening behavior, less advice-dumping than F16, without Q4's occasional inconsistency. That's the one we run ourselves.
Banglish e Model Card
ei model ta ki? — ekta Banglish chatbot. ekhon shune, bujhe.
ki pare? adda, khela, gaan, khabar. emotional support. safe.
ki parbe na? English/Bengali script na. choto model — sometimes bhul. doctor/lawyer na.
Specs
Table | |
|---|
| Model | SmolLM2-1.7B fine-tune + ~0.5M parameter perception |
| Perception | bujhi · aabeg · bhalobasha — why → |
| Runtime | CPU. No GPU. |
| Published format | safetensors |
Evaluation results across the three formats we tested locally. All scores are measured with the perception layer attached — that is the system being evaluated, not the base weights alone.
Table with columns: Format, BanglishBench v2.1, Note| Format | BanglishBench v2.1 | Note |
|---|
| Q4_K_M | 97.2% | Smallest |
| Q8_0 | 96.8% | What we run locally |
| F16 | 95.7% | Closest to the published weights |
Limitations: Banglish only. May hallucinate. Not a professional advisor. Safety is best-effort (~97-100% on BanglishBench v2.1; 2-3% edge cases involve borderline deflections).
Table with columns: Component, Status| Component | Status |
|---|
| Model weights — 1.7B base + perception layers | Open |
| BanglishBench v2.1 (evaluation benchmark) | Open |
Inference pipeline (ontor/perceive.py) | Open |
| Training data, pipeline, hyperparameters | Closed |
AI Disclosure
Built by Claude Code (Anthropic) under the author's direction and review. Every decision — architecture, data, what to publish, what to reject — made by the author.
License
Apache 2.0
@misc{banglishcompanion2026,
author = {Sifat Febo},
title = {Banglish Companion: Now It Knows How You Feel},
year = {2026},
url = {https://huggingface.co/sifat-febo/banglish-companion}
}