Instructions to use KittyLM/kittylm-lfm2.5-2.6b with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Transformers
How to use KittyLM/kittylm-lfm2.5-2.6b with Transformers:
# Use a pipeline as a high-level helper from transformers import pipeline pipe = pipeline("text-generation", model="KittyLM/kittylm-lfm2.5-2.6b") messages = [ {"role": "user", "content": "Who are you?"}, ] pipe(messages)# pip install -U transformers accelerate # Load model directly from transformers import AutoTokenizer, AutoModelForCausalLM tokenizer = AutoTokenizer.from_pretrained("KittyLM/kittylm-lfm2.5-2.6b") model = AutoModelForCausalLM.from_pretrained("KittyLM/kittylm-lfm2.5-2.6b", device_map="auto") messages = [ {"role": "user", "content": "Who are you?"}, ] inputs = tokenizer.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(tokenizer.decode(outputs[0][inputs["input_ids"].shape[-1]:])) - Notebooks
- Google Colab
- Kaggle
- Local Apps Settings
- vLLM
How to use KittyLM/kittylm-lfm2.5-2.6b with vLLM:
Install from pip and serve model
# Install vLLM from pip: pip install vllm # Start the vLLM server: vllm serve "KittyLM/kittylm-lfm2.5-2.6b" # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:8000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "KittyLM/kittylm-lfm2.5-2.6b", "messages": [ { "role": "user", "content": "What is the capital of France?" } ] }'Use Docker
docker model run hf.co/KittyLM/kittylm-lfm2.5-2.6b
- SGLang
How to use KittyLM/kittylm-lfm2.5-2.6b 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 "KittyLM/kittylm-lfm2.5-2.6b" \ --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": "KittyLM/kittylm-lfm2.5-2.6b", "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 "KittyLM/kittylm-lfm2.5-2.6b" \ --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": "KittyLM/kittylm-lfm2.5-2.6b", "messages": [ { "role": "user", "content": "What is the capital of France?" } ] }' - Docker Model Runner
How to use KittyLM/kittylm-lfm2.5-2.6b with Docker Model Runner:
docker model run hf.co/KittyLM/kittylm-lfm2.5-2.6b
KittyLM-2.6B (lfm2.5-2.6b)
A kitten. In a language model. This is a LoRA finetune of LiquidAI/LFM2.5-2.6B that answers everything in kitten language
(mrrp, nya~, prrr, *actions*, occasional :3) while staying factually correct underneath.
License note: this is a derivative of a Liquid AI LFM model, distributed under the LFM Open License v1.0 (shipped as
LICENSEin this repo). In particular: commercial use by entities with >= $10M annual revenue requires a separate license from Liquid AI. Non-commercial, research, and small-business use is royalty-free.
Training
- Data: 900 ShareGPT-style pairs + 100 held-out eval (see
KittyLM/kittylm-data-reasoning), system prompt baked in - Method: LoRA SFT (
scripts/train.pyin the KittyLM project), RTX 3060 12GB - Files: merged bf16 weights + the LoRA adapter (
adapter_*.safetensors) live side by side.AutoModelForCausalLMloads the merged model;PeftModelpicks up the adapter. - GGUF quants for Ollama / llama.cpp / LM Studio: KittyLM/kittylm-lfm2.5-2.6b-gguf
- Eval: v3 (full conv+attn targets, 5ep): full 0.82 5/5, generic 0.93 5/5. CONSTRAINT: requires a system message (any content); without one the base think-aloud path leaks. Best: 'nya~ Tokyo! big city. many cats I hope. mrrp :3'. Train loss 5.6->0.4, eval best 0.842 @ ep2. Think-retrain (Sep 2026): same V3 prompts with English reasoning prefixes added, fixing the think/answer split on thinking-capable bases (Ollama showed kitten text trapped in Thinking with empty answers). Verified locally via GGUF eval gate.
Limitations
- Persona is stylistic, not a refusal behavior: an explicit "answer in plain English" can make it drop character — it was never trained to resist.
- Small-model knowledge gaps persist: off-distribution facts may confabulate (tracked per model by the 20-probe suite in
eval/). - Kitten flavor adds no capability: reasoning/coding limits are the base model's limits.
Usage (transformers)
from transformers import AutoModelForCausalLM, AutoTokenizer
tok = AutoTokenizer.from_pretrained("KittyLM/kittylm-lfm2.5-2.6b")
model = AutoModelForCausalLM.from_pretrained("KittyLM/kittylm-lfm2.5-2.6b", device_map="auto", dtype="bfloat16")
msgs = [{"role": "user", "content": "What's the capital of Japan?"}]
x = tok.apply_chat_template(msgs, tokenize=False, add_generation_prompt=True)
print(tok.decode(model.generate(**tok(x, return_tensors="pt").to(model.device), max_new_tokens=120)[0]))
# mrrp... Tokyo. big city. lots of cats. nya~
Usage (Ollama)
hf download KittyLM/kittylm-lfm2.5-2.6b-gguf --include "*.gguf" --local-dir ./gguf
ollama create kittylm-lfm2.5-2.6b -f Modelfile # see Modelfile template in project
ollama run kittylm-lfm2.5-2.6b "Good night!"
- Downloads last month
- 1,312