Instructions to use stneric/simplixity-title-0.8b with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Transformers
How to use stneric/simplixity-title-0.8b with Transformers:
# Use a pipeline as a high-level helper from transformers import pipeline pipe = pipeline("text-generation", model="stneric/simplixity-title-0.8b") messages = [ { "role": "user", "content": [ {"type": "image", "url": "https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/p-blog/candy.JPG"}, {"type": "text", "text": "What animal is on the candy?"} ] }, ] pipe(text=messages)# pip install -U transformers accelerate # Load model directly from transformers import AutoProcessor, AutoModelForMultimodalLM processor = AutoProcessor.from_pretrained("stneric/simplixity-title-0.8b") model = AutoModelForMultimodalLM.from_pretrained("stneric/simplixity-title-0.8b", device_map="auto") messages = [ { "role": "user", "content": [ {"type": "image", "url": "https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/p-blog/candy.JPG"}, {"type": "text", "text": "What animal is on the candy?"} ] }, ] inputs = processor.apply_chat_template( messages, add_generation_prompt=True, tokenize=True, return_dict=True, return_tensors="pt", ).to(model.device) outputs = model.generate(**inputs, max_new_tokens=256) print(processor.decode(outputs[0][inputs["input_ids"].shape[-1]:])) - Notebooks
- Google Colab
- Kaggle
- Local Apps Settings
- vLLM
How to use stneric/simplixity-title-0.8b with vLLM:
Install from pip and serve model
# Install vLLM from pip: pip install vllm # Start the vLLM server: vllm serve "stneric/simplixity-title-0.8b" # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:8000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "stneric/simplixity-title-0.8b", "messages": [ { "role": "user", "content": "What is the capital of France?" } ] }'Use Docker
docker model run hf.co/stneric/simplixity-title-0.8b
- SGLang
How to use stneric/simplixity-title-0.8b with SGLang:
Install from pip and serve model
# Install SGLang from pip: pip install sglang # Start the SGLang server: python3 -m sglang.launch_server \ --model-path "stneric/simplixity-title-0.8b" \ --host 0.0.0.0 \ --port 30000 # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:30000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "stneric/simplixity-title-0.8b", "messages": [ { "role": "user", "content": "What is the capital of France?" } ] }'Use Docker images
docker run --gpus all \ --shm-size 32g \ -p 30000:30000 \ -v ~/.cache/huggingface:/root/.cache/huggingface \ --env "HF_TOKEN=<secret>" \ --ipc=host \ lmsysorg/sglang:latest \ python3 -m sglang.launch_server \ --model-path "stneric/simplixity-title-0.8b" \ --host 0.0.0.0 \ --port 30000 # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:30000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "stneric/simplixity-title-0.8b", "messages": [ { "role": "user", "content": "What is the capital of France?" } ] }' - Docker Model Runner
How to use stneric/simplixity-title-0.8b with Docker Model Runner:
docker model run hf.co/stneric/simplixity-title-0.8b
simplixity-title-0.8b
Qwen3.5-0.8B fine-tuned to name chats in Simplixity, a self-hosted research assistant. Given the first message of a conversation in English or German, it writes an English title of at most six words.
This is v4. v2 and v3 were internal runs and were never published. v1 is still available in the history of this repo.
GGUF files for Ollama, LM Studio and llama.cpp are in simplixity-title-0.8b-GGUF.
Use with Ollama
On Linux and Windows, Ollama cannot import safetensors. Download a GGUF file from simplixity-title-0.8b-GGUF and follow the instructions there.
On macOS, from a download of this repo:
ollama create simplixity-title:0.8b-v4-q8_0 -f Modelfile --quantize q8_0
In Simplixity, turn on chat titles in the settings and choose simplixity-title:0.8b-v4-q8_0 with provider Ollama.
Prompt
The model was trained on one prompt and should get exactly that one. System message:
Write a title of at most six words for a conversation that begins with this
message. Describe the subject. No quotation marks, no trailing punctuation, no
"chat about". Reply with the title only.
Write this in English, whatever language the question and the sources are in.
This is interface text (what the app shows about its own work) and not the
answer, which is written separately and follows the reader's language.
User message: the first message of the chat, cut to 1,000 characters. Simplixity asks for at most 24 tokens at temperature 0.2. Thinking does not need to be turned off, because the model closes Qwen's empty thinking block itself. generation_config.json stops at <|im_end|>, so transformers' generate ends after the title.
Results
Holdout set: 60 first messages (30 German, 30 English). None of their topics appear in the training data, and the set was used once, for the final comparison. Three runs each, in Ollama 0.40 with GGUF files, sent the way Simplixity sends them.
| v1 Q8_0 | v4 Q8_0 | v1 Q4_K_M | v4 Q4_K_M | |
|---|---|---|---|---|
| All format rules | 77% | 91% | 84% | 91% |
| โฆ English messages | 86% | 94% | 90% | 93% |
| โฆ German messages | 68% | 88% | 78% | 89% |
| Seven words or more | 10% | 3% | 6% | 3% |
| German title | 14% | 6% | 11% | 6% |
| Key term of the message named | 81% | 88% | 86% | 88% |
| Median per title (RTX 3070 Ti) | 0.04 s | 0.05 s | 0.04 s | 0.04 s |
These numbers are lower than the ones on the v1 model card. The set is new and its topics are not in the training data. The German check is also stricter: it now also counts a German title that copies words from the message.
Limits
- German words the 0.8B does not know still come out wrong. For example, "Schweinebraten" becomes "Grainy Beef Stew Crust". Cleaner data fixed the format errors but not the vocabulary.
- Roughly one German message in sixteen still gets a German title.
What changed from v1
- Cleaner data. 199 of v1's 1,874 training titles were fixed by hand: German titles, titles that were cut off, and 9 titles that followed instructions written inside the message instead of naming it. The list is in
training/fixes.tsv. Most of the gain comes from this. - Trained to the end. v1 stopped at 0.84 epochs because the Mac's GPU kept hanging. v4 was trained with PEFT on CUDA and is checkpoint 250 (about 1.1 epochs) of a two-epoch run. The second epoch made the model worse.
- Tried and dropped: learning rate 1e-5 and dropout 0.1 (no difference beyond run-to-run noise), and DPO on the model's own rule-breaking samples (no gain, because v4 rarely breaks a rule at temperature 0.2).
Training
- Data: 2,057 synthetic first messages and their titles, written by Claude Haiku 5.5 through Simplixity's title prompt and filtered to 1,874. The cleaned files are
training/train.jsonl(1,781) andtraining/valid.jsonl(93), in the{"messages": [...]}chat format. - Method: LoRA with rank 16, alpha 320 and dropout 0.05, on the same 186 linear layers of the language model that v1 tuned. Loss on the title only. Batch 1 with gradient accumulation 8, learning rate 2e-5, bf16 autocast with fp32 adapters. PEFT and transformers 5:
training/train.py.training/merge.pymerges a checkpoint. - Export: the tuned linear weights are copied back into the original checkpoint, so the
mtp.*tensors and the vision tower are kept unchanged. v1 was trained withmlx-lm(training/lora-v1.yamlandtraining/export_hf.py). - Evaluation:
training/eval/eval.pywith the dev setmessages.jsonl(120 messages) and the holdout setholdout.jsonl(60 messages).
Licence
Apache 2.0, like the base model.
- Downloads last month
- 76
Model tree for stneric/simplixity-title-0.8b
Base model
Qwen/Qwen3.5-0.8B-Base