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.
- Slow on CPU. About 0.5–2 tokens/sec on a free 4-core machine. Streaming hides most of the wait; real speed needs a GPU.
- Answers are repetitive. The identity data contained one phrasing repeated many times instead of many paraphrases, so the model reproduces it almost verbatim. The fix is more diverse training data, not a sampling change.
- Small dataset. 556 examples over 2 epochs is a behaviour and identity tune, not a knowledge tune. It adds no facts about Nepal.
- Benchmark coverage is partial. 20 of 86 held-out identity probes were measured, and all 20 passed — a strong signal, not a complete measurement.
- The base model is Qwen's. Jaynepal1.1 names the fine-tune and its developer. The underlying Qwen3.5-9B weights are Alibaba's, under Apache-2.0.