Instructions to use kaushalkrishnax/auroic-router-0.6b with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Transformers
How to use kaushalkrishnax/auroic-router-0.6b with Transformers:
# Use a pipeline as a high-level helper from transformers import pipeline pipe = pipeline("text-generation", model="kaushalkrishnax/auroic-router-0.6b") messages = [ {"role": "user", "content": "Who are you?"}, ] pipe(messages)# Load model directly from transformers import AutoTokenizer, AutoModelForMultimodalLM tokenizer = AutoTokenizer.from_pretrained("kaushalkrishnax/auroic-router-0.6b") model = AutoModelForMultimodalLM.from_pretrained("kaushalkrishnax/auroic-router-0.6b") 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=40) print(tokenizer.decode(outputs[0][inputs["input_ids"].shape[-1]:])) - llama-cpp-python
How to use kaushalkrishnax/auroic-router-0.6b with llama-cpp-python:
# !pip install llama-cpp-python from llama_cpp import Llama llm = Llama.from_pretrained( repo_id="kaushalkrishnax/auroic-router-0.6b", filename="gguf/auroic-router-0.6b.f16.gguf", )
llm.create_chat_completion( messages = [ { "role": "user", "content": "What is the capital of France?" } ] ) - Inference
- Notebooks
- Google Colab
- Kaggle
- Local Apps Settings
- llama.cpp
How to use kaushalkrishnax/auroic-router-0.6b with llama.cpp:
Install from brew
brew install llama.cpp # Start a local OpenAI-compatible server with a web UI: llama-server -hf kaushalkrishnax/auroic-router-0.6b:Q4_K_M # Run inference directly in the terminal: llama-cli -hf kaushalkrishnax/auroic-router-0.6b:Q4_K_M
Install from WinGet (Windows)
winget install llama.cpp # Start a local OpenAI-compatible server with a web UI: llama-server -hf kaushalkrishnax/auroic-router-0.6b:Q4_K_M # Run inference directly in the terminal: llama-cli -hf kaushalkrishnax/auroic-router-0.6b:Q4_K_M
Use pre-built binary
# Download pre-built binary from: # https://github.com/ggerganov/llama.cpp/releases # Start a local OpenAI-compatible server with a web UI: ./llama-server -hf kaushalkrishnax/auroic-router-0.6b:Q4_K_M # Run inference directly in the terminal: ./llama-cli -hf kaushalkrishnax/auroic-router-0.6b:Q4_K_M
Build from source code
git clone https://github.com/ggerganov/llama.cpp.git cd llama.cpp cmake -B build cmake --build build -j --target llama-server llama-cli # Start a local OpenAI-compatible server with a web UI: ./build/bin/llama-server -hf kaushalkrishnax/auroic-router-0.6b:Q4_K_M # Run inference directly in the terminal: ./build/bin/llama-cli -hf kaushalkrishnax/auroic-router-0.6b:Q4_K_M
Use Docker
docker model run hf.co/kaushalkrishnax/auroic-router-0.6b:Q4_K_M
- LM Studio
- Jan
- vLLM
How to use kaushalkrishnax/auroic-router-0.6b with vLLM:
Install from pip and serve model
# Install vLLM from pip: pip install vllm # Start the vLLM server: vllm serve "kaushalkrishnax/auroic-router-0.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": "kaushalkrishnax/auroic-router-0.6b", "messages": [ { "role": "user", "content": "What is the capital of France?" } ] }'Use Docker
docker model run hf.co/kaushalkrishnax/auroic-router-0.6b:Q4_K_M
- SGLang
How to use kaushalkrishnax/auroic-router-0.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 "kaushalkrishnax/auroic-router-0.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": "kaushalkrishnax/auroic-router-0.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 "kaushalkrishnax/auroic-router-0.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": "kaushalkrishnax/auroic-router-0.6b", "messages": [ { "role": "user", "content": "What is the capital of France?" } ] }' - Ollama
How to use kaushalkrishnax/auroic-router-0.6b with Ollama:
ollama run hf.co/kaushalkrishnax/auroic-router-0.6b:Q4_K_M
- Unsloth Studio
How to use kaushalkrishnax/auroic-router-0.6b with Unsloth Studio:
Install Unsloth Studio (macOS, Linux, WSL)
curl -fsSL https://unsloth.ai/install.sh | sh # Run unsloth studio unsloth studio -H 0.0.0.0 -p 8888 # Then open http://localhost:8888 in your browser # Search for kaushalkrishnax/auroic-router-0.6b to start chatting
Install Unsloth Studio (Windows)
irm https://unsloth.ai/install.ps1 | iex # Run unsloth studio unsloth studio -H 0.0.0.0 -p 8888 # Then open http://localhost:8888 in your browser # Search for kaushalkrishnax/auroic-router-0.6b to start chatting
Using HuggingFace Spaces for Unsloth
# No setup required # Open https://huggingface.co/spaces/unsloth/studio in your browser # Search for kaushalkrishnax/auroic-router-0.6b to start chatting
- Pi
How to use kaushalkrishnax/auroic-router-0.6b with Pi:
Start the llama.cpp server
# Install llama.cpp: brew install llama.cpp # Start a local OpenAI-compatible server: llama-server -hf kaushalkrishnax/auroic-router-0.6b:Q4_K_M
Configure the model in Pi
# Install Pi: npm install -g @mariozechner/pi-coding-agent # Add to ~/.pi/agent/models.json: { "providers": { "llama-cpp": { "baseUrl": "http://localhost:8080/v1", "api": "openai-completions", "apiKey": "none", "models": [ { "id": "kaushalkrishnax/auroic-router-0.6b:Q4_K_M" } ] } } }Run Pi
# Start Pi in your project directory: pi
- Hermes Agent new
How to use kaushalkrishnax/auroic-router-0.6b with Hermes Agent:
Start the llama.cpp server
# Install llama.cpp: brew install llama.cpp # Start a local OpenAI-compatible server: llama-server -hf kaushalkrishnax/auroic-router-0.6b:Q4_K_M
Configure Hermes
# Install Hermes: curl -fsSL https://hermes-agent.nousresearch.com/install.sh | bash hermes setup # Point Hermes at the local server: hermes config set model.provider custom hermes config set model.base_url http://127.0.0.1:8080/v1 hermes config set model.default kaushalkrishnax/auroic-router-0.6b:Q4_K_M
Run Hermes
hermes
- Atomic Chat new
- Docker Model Runner
How to use kaushalkrishnax/auroic-router-0.6b with Docker Model Runner:
docker model run hf.co/kaushalkrishnax/auroic-router-0.6b:Q4_K_M
- Lemonade
How to use kaushalkrishnax/auroic-router-0.6b with Lemonade:
Pull the model
# Download Lemonade from https://lemonade-server.ai/ lemonade pull kaushalkrishnax/auroic-router-0.6b:Q4_K_M
Run and chat with the model
lemonade run user.auroic-router-0.6b-Q4_K_M
List all available models
lemonade list
Auroic Router 0.6B
A compact, edge-deployable group chat routing model fine-tuned on Qwen3-0.6B. Given a 5-message history window and up to 3 unprocessed candidate messages, it outputs a single structured routing decision in under 4 seconds on CPU — no response generation, pure intent classification.
Part of the Auroic project — a personal AI assistant for Indian group and personal chats.
What it does
The router sits at the front of a conversational AI pipeline. It reads the recent chat context and decides what action to take next — so downstream models only activate when actually needed.
H1: bhai sun
H2: kya hua bata
H3: okay
H4: arre
H5: haan bol
C1: ...
C2: ...
C3: bhai parents divorce ho raha hai adjust karna mushkil hai kya karoon
→ R: TYPE=text | TARGET=C3 | EFFORT=high
Output Format
R: TYPE=text | TARGET=C2 | EFFORT=low|medium|high
R: TYPE=react | TARGET=C1 | TITLE=🔥
R: TYPE=media | TARGET=C3 | TITLE=rain cozy vibes
R: TYPE=ignore
| Type | When | Fields |
|---|---|---|
text |
Help request, advice, emotional support, technical question | EFFORT=low/medium/high |
react |
Notable moment deserving an emoji reaction | TITLE=<emoji> |
media |
Situation implying a gif, meme, or sticker | TITLE=<2-3 word search query> |
ignore |
Pure noise, spam, keyboard smash, laughter chains | none |
Input Format
H1: <message> ← oldest processed message
H2: <message>
H3: <message>
H4: <message>
H5: <message> ← most recent processed message
C1: <message> ← unprocessed candidate (use ... for filler)
C2: <message>
C3: <message> ← newest unprocessed candidate
Always provide exactly 5 history messages and 3 candidates. Use ... for empty slots — never omit them.
Quickstart — Ollama
ollama create auroic-router-0.6b -f Modelfile
ollama run auroic-router-0.6b
Important — the router is stateless. Every call must be a fresh context with no conversation history. In the Ollama CLI use /clear between calls. In production call the API directly:
response = client.chat.completions.create(
model="auroic-router-0.6b",
messages=[
{"role": "system", "content": "You are the Auroic Router. Given history messages H1-H5 and candidate messages C1-C3, output exactly one routing decision."},
{"role": "user", "content": formatted_window} # fresh window every call
],
)
Real Inference Examples
INPUT:
H1: lol H2: 😂😂 H3: haha H4: 💀 H5: ded
C1: hahaha C2: 😭😭 C3: ...
OUTPUT: R: TYPE=ignore
INPUT:
H1: sahi hai H2: haan bhai H3: okay H4: chal H5: theek hai
C1: ...
C2: bhai salary negotiate kaise karoon first time offer mein help
C3: ...
OUTPUT: R: TYPE=text | TARGET=C2 | EFFORT=medium
INPUT:
H1: bhai hungry hun H2: same yaar H3: kuch khate hain H4: haan H5: chal
C1: ... C2: ...
C3: bhai biryani ki yaad aa rahi hai mummy wali ghar ki bahut miss kar raha
OUTPUT: R: TYPE=media | TARGET=C3 | TITLE=biryani craving
INPUT:
H1: haha H2: bhai sach mein H3: lol H4: no way H5: 💀
C1: ...
C2: teacher ne galti se apna tiktok projector pe chala diya class mein
C3: ...
OUTPUT: R: TYPE=media | TARGET=C2 | TITLE=tiktok projector fail
INPUT:
H1: bhai sun H2: haan H3: bata H4: okay H5: hmm
C1: ...
C2: @BOT yaar dost ne 3 baje uthke help kiya exam ke liye true friendship hai
C3: ...
OUTPUT: R: TYPE=react | TARGET=C2 | TITLE=❤
Thinking Mode
The model uses Qwen3's native thinking capability. For ambiguous inputs it reasons through the context before deciding:
<think>
H1-H5 are casual affirmations. C2 asks 'salary negotiate kaise karoon first time' —
clear, actionable life advice needed. Text with medium effort because it requires
step-by-step guidance, not just emojis or media.
</think>
R: TYPE=text | TARGET=C2 | EFFORT=medium
For obvious cases (clear ignore, clear media) it skips thinking entirely and outputs the decision directly — keeping latency low where reasoning isn't needed.
Thinking enabled (default): better accuracy on ambiguous cases, ~3-4s on CPU
Thinking disabled: faster, minor accuracy drop on edge cases
To disable thinking add this to your Modelfile template:
<|im_start|>assistant
<think>
</think>
Recommended Inference Settings
temperature 0.3 (deterministic routing)
top_p 0.95
top_k 20
repeat_penalty 1.1
Model Details
| Property | Value |
|---|---|
| Base model | unsloth/Qwen3-0.6B |
| Total parameters | 616M |
| Trainable parameters | 20.2M (3.28%) |
| Fine-tuning framework | Unsloth + TRL SFTTrainer |
| LoRA rank | r=32, alpha=32 |
| Target modules | q/k/v/o/gate/up/down proj |
| Epochs | 2 |
| Effective batch size | 16 (batch=2, grad_accum=8) |
| Learning rate | 2e-4 cosine |
| Max sequence length | 2048 |
| Training samples | 9,300 |
| Final training loss | 0.667 |
| Quantization | Q8_0 GGUF |
| Hardware trained on | NVIDIA T4 16GB (Google Colab) |
| Training time | ~44 minutes |
Dataset — v4
9,300 samples of Indian group chat routing scenarios:
| Split | Count |
|---|---|
| Normal windows | 7,000 |
| @BOT mention windows | 1,500 |
| Filler/sparse windows | 800 |
| Type | Count | % |
|---|---|---|
| text | 4,042 | 43.5% |
| ignore | 1,942 | 20.9% |
| react | 1,688 | 18.2% |
| media | 1,628 | 17.5% |
Language distribution: 58.8% Hinglish, 23% English, 18.2% mixed
Think blocks annotated by qwen/qwen3-next-80b-a3b-instruct on NVIDIA NIM — hard tier (39.3%) gets full reasoning, medium tier (32.8%) gets short reasoning, easy tier (27.8%) gets no think block.
Dataset and generation pipeline: github.com/kaushalkrishnax/auroic-router
Performance
| Metric | Value |
|---|---|
| Warm inference (CPU) | ~2-3 seconds |
| Cold start | ~5 seconds |
| Hardware tested | Intel i3-6100U 2.3GHz, 12GB DDR4 |
| Format compliance | 100% on test set |
Known Limitations
- Optimized for Hinglish and Indian English group chat patterns
- Stateless by design — do not pass conversation history between calls
- Not designed for factual QA, coding assistance, or long-form generation
License
Apache-2.0 — inherits from Qwen3 base model.
Author
Kaushal Krishna
- GitHub: kaushalkrishnax
- Project: github.com/kaushalkrishnax/auroic
- Router research: github.com/kaushalkrishnax/auroic-router
- Downloads last month
- 104