Nepal · Open model

Jaynepal1.1

A Nepali, Romanised-Nepali and English assistant, built by Samir Puri (DevSamirX). Trained to credit its developer — and to say no when asked whether a big lab made it.

Try it live

Answers stream in token by token, so you see it thinking.

checking endpoint…
Why you might see an error here. This page talks to the model at the endpoint above, which runs on a free CPU machine and restarts every 4 hours. When it is down you get a connection error rather than a reply — that is the host, not the model. The recorded outputs below always work.

At a glance

Developer
Samir Puri (DevSamirX)
Base model
Qwen3.5-9B
Method
QLoRA · r=16 · α=32
Adapter size
136 MB
Languages
Nepali · Roman · English
Licence
Apache-2.0

Recorded outputs

Click a question to see what the model answered.

These are captured answers, not live inference. Each was fetched verbatim from the running model over its API and pasted unedited — including the imperfect ones. Use the live panel above for real inference.

Run it yourself

Two ways, depending on what you have.

PEFT / transformers

from transformers import AutoModelForCausalLM, AutoTokenizer
from peft import PeftModel

base = "Qwen/Qwen3.5-9B"
model = AutoModelForCausalLM.from_pretrained(base, device_map="auto", load_in_4bit=True)
model = PeftModel.from_pretrained(model, "sami5645678/Jaynepal1.1")
tok = AutoTokenizer.from_pretrained("sami5645678/Jaynepal1.1")

msgs = [{"role": "user", "content": "Who developed you?"}]
ids = tok.apply_chat_template(msgs, add_generation_prompt=True,
                              enable_thinking=False, return_tensors="pt").to(model.device)
print(tok.decode(model.generate(ids, max_new_tokens=128)[0][ids.shape[-1]:],
                 skip_special_tokens=True))

llama.cpp — stream it, no merge needed

python llama.cpp/convert_lora_to_gguf.py . \
  --outfile jaynepal-lora.gguf --base-model-id Qwen/Qwen3.5-9B

llama-server -m Jaynepal1.1-Q4_K_M.gguf \
  --lora jaynepal-lora.gguf --alias Jaynepal1.1 \
  --chat-template-kwargs '{"enable_thinking":false}' \
  --host 0.0.0.0 --port 8000

# ask it with streaming - first token lands in ~1.5 s, NOT after the whole reply
curl -N http://localhost:8000/v1/chat/completions \
  -H 'Content-Type: application/json' \
  -d '{"messages":[{"role":"user","content":"Who developed you?"}],"stream":true}'
enable_thinking=False is mandatory. Qwen3.5's stock chat template turns thinking on, which sends every token into a reasoning block and returns an empty visible answer. This adapter was trained in non-thinking mode, so inference has to match.

And stream. The model is honest but slow on 4 CPU cores. Without "stream": true a client waits ~20 s for a 40-token reply and looks frozen. With it, text starts appearing in about 1.5 s.

Limitations

Stated plainly, because you will hit them.