Instructions to use parth21shah/linnix-3b-distilled with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Notebooks
- Google Colab
- Kaggle
- Local Apps Settings
- llama.cpp
How to use parth21shah/linnix-3b-distilled with llama.cpp:
Install (macOS, Linux)
curl -LsSf https://llama.app/install.sh | sh # Start a local OpenAI-compatible server with a web UI: llama serve -hf parth21shah/linnix-3b-distilled:Q5_K_M # Run inference directly in the terminal: llama cli -hf parth21shah/linnix-3b-distilled:Q5_K_M
Install from WinGet (Windows)
winget install llama.cpp # Start a local OpenAI-compatible server with a web UI: llama serve -hf parth21shah/linnix-3b-distilled:Q5_K_M # Run inference directly in the terminal: llama cli -hf parth21shah/linnix-3b-distilled:Q5_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 parth21shah/linnix-3b-distilled:Q5_K_M # Run inference directly in the terminal: ./llama-cli -hf parth21shah/linnix-3b-distilled:Q5_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 parth21shah/linnix-3b-distilled:Q5_K_M # Run inference directly in the terminal: ./build/bin/llama-cli -hf parth21shah/linnix-3b-distilled:Q5_K_M
Use Docker
docker model run hf.co/parth21shah/linnix-3b-distilled:Q5_K_M
- LM Studio
- Jan
- vLLM
How to use parth21shah/linnix-3b-distilled with vLLM:
Install from pip and serve model
# Install vLLM from pip: pip install vllm # Start the vLLM server: vllm serve "parth21shah/linnix-3b-distilled" # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:8000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "parth21shah/linnix-3b-distilled", "messages": [ { "role": "user", "content": "What is the capital of France?" } ] }'Use Docker
docker model run hf.co/parth21shah/linnix-3b-distilled:Q5_K_M
- Ollama
How to use parth21shah/linnix-3b-distilled with Ollama:
ollama run hf.co/parth21shah/linnix-3b-distilled:Q5_K_M
- Unsloth Desktop
- Pi
How to use parth21shah/linnix-3b-distilled with Pi:
Start the llama.cpp server
# Install llama.cpp: brew install llama.cpp # Start a local OpenAI-compatible server: llama serve -hf parth21shah/linnix-3b-distilled:Q5_K_M
Configure the model in Pi
# Install Pi: npm install -g @earendil-works/pi-coding-agent # Add to ~/.pi/agent/models.json: { "providers": { "llama-cpp": { "baseUrl": "http://localhost:8080/v1", "api": "openai-completions", "apiKey": "none", "models": [ { "id": "parth21shah/linnix-3b-distilled:Q5_K_M" } ] } } }Run Pi
# Start Pi in your project directory: pi
- Docker Model Runner
How to use parth21shah/linnix-3b-distilled with Docker Model Runner:
docker model run hf.co/parth21shah/linnix-3b-distilled:Q5_K_M
- Lemonade
How to use parth21shah/linnix-3b-distilled with Lemonade:
Pull the model
# Download Lemonade from https://lemonade-server.ai/ lemonade pull parth21shah/linnix-3b-distilled:Q5_K_M
Run and chat with the model
lemonade run user.linnix-3b-distilled-Q5_K_M
List all available models
lemonade list
- Hermes Agent
How to use parth21shah/linnix-3b-distilled with Hermes Agent:
Start the llama.cpp server
# Install llama.cpp: brew install llama.cpp # Start a local OpenAI-compatible server: llama serve -hf parth21shah/linnix-3b-distilled:Q5_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 parth21shah/linnix-3b-distilled:Q5_K_M
Run Hermes
hermes
- Atomic Chat
- OpenClaw
How to use parth21shah/linnix-3b-distilled with OpenClaw:
Start the llama.cpp server
# Install llama.cpp: brew install llama.cpp # Start a local OpenAI-compatible server: llama serve -hf parth21shah/linnix-3b-distilled:Q5_K_M
Configure OpenClaw
# Install OpenClaw: npm install -g openclaw@latest # Register the local server and set it as the default model: openclaw onboard --non-interactive --mode local \ --auth-choice custom-api-key \ --custom-base-url http://127.0.0.1:8080/v1 \ --custom-model-id "parth21shah/linnix-3b-distilled:Q5_K_M" \ --custom-provider-id llama-cpp \ --custom-compatibility openai \ --custom-text-input \ --accept-risk \ --skip-health
Run OpenClaw
openclaw agent --local --agent main --message "Hello from Hugging Face"
Linnix 3B Distilled - Incident Detection Model
Fine-tuned 3B parameter model for Linux system incident detection and root cause analysis.
Model Description
linnix-3b-distilled is a specialized language model trained to detect and analyze system observability incidents. It converts process telemetry and system metrics into natural language insights with actionable remediation steps.
- Base Model: Qwen2.5-3B-Instruct
- Fine-tuning: Distilled from fine-tuned Qwen2.5-7B teacher model
- Quantization: Q5_K_M (optimal quality/size balance)
- Size: 2.1 GB
- License: Apache 2.0
- Inference: CPU-optimized (no GPU required)
Use Cases
- CPU Spin Detection: Identifies processes holding excessive CPU
- Fork Storm Prevention: Detects rapid process creation patterns
- Memory Leak Isolation: Tracks RSS growth anomalies
- OOM Risk Assessment: Predicts out-of-memory conditions
- I/O Saturation Analysis: Identifies disk/network bottlenecks
Quick Start
With Linnix Platform (Recommended)
# Clone Linnix repository
git clone https://github.com/linnix-os/linnix.git
cd linnix
# Auto-download model and start services
./setup-llm.sh
# Model will be downloaded from Hugging Face automatically
Standalone with llama.cpp
# Download model
wget https://huggingface.co/parth21shah/linnix-3b-distilled/resolve/main/linnix-3b-distilled-q5_k_m.gguf
# Run inference server
llama-server -m linnix-3b-distilled-q5_k_m.gguf --port 8090 --ctx-size 4096
# Query for incident analysis
curl http://localhost:8090/v1/chat/completions \
-H "Content-Type: application/json" \
-d '{
"messages": [
{"role": "system", "content": "Convert incident telemetry into structured Insight JSON."},
{"role": "user", "content": "INCIDENT: w=5 eps=240 cpu=96% top=java pid=4412"}
]
}'
Performance
| Metric | Value |
|---|---|
| Inference Speed | ~30 tokens/sec (8-core CPU) |
| Memory Usage | ~2 GB RAM |
| Context Length | 4096 tokens |
| End-to-end Latency | 3-7 seconds |
| Quality (vs 7B teacher) | 92% agreement |
Training Data
Trained on a proprietary dataset of system observability incidents covering multiple incident classes:
- Classes: cpu_spin, fork_storm, io_saturation, oom_risk, short_job_flood, normal
- Sources: Synthetic incidents generated by teacher model + curated production postmortems
- Quality: High-confidence labels with actionable remediation steps
Incident Classes
The model detects these incident patterns:
- cpu_spin: Sustained high CPU usage (>95%)
- fork_storm: Excessive process creation (>100/sec)
- io_saturation: Disk/network bottlenecks (>90% util)
- oom_risk: Memory pressure and swap activity
- short_job_flood: Thousands of sub-second processes
- runaway_tree: Uncontrolled process tree growth
- normal: No incident detected
Output Format
{
"class": "cpu_spin",
"confidence": 0.89,
"primary_process": "java",
"why": "java pid 4412 sustained 97% CPU for 3 minutes across 5-second window",
"actions": [
"Capture async-profiler flame graph: async-profiler -d 30 -f /tmp/flame.html 4412",
"Check thread states: jstack 4412 > threads.txt",
"Review GC activity: jstat -gcutil 4412 1000"
]
}
Limitations
- Domain-specific: Trained only on Linux system incidents
- JSON-only output: Not suitable for general chat/Q&A
- CPU inference: Slower than GPU (but affordable and portable)
- Context window: 4096 tokens max (not for full log analysis)
Integration
With eBPF Monitoring
Linnix combines this model with eBPF-based process monitoring for real-time incident detection:
Kernel (eBPF) โ Perf Buffers โ cognitod โ HTTP API โ llama.cpp โ Insights
See github.com/linnix-os/linnix for the full platform.
API-only Usage
import requests
def analyze_incident(telemetry_summary):
response = requests.post(
"http://localhost:8090/v1/chat/completions",
json={
"messages": [
{"role": "system", "content": "Convert incident telemetry into structured Insight JSON."},
{"role": "user", "content": f"INCIDENT: {telemetry_summary}"}
],
"temperature": 0.1,
"max_tokens": 512
}
)
return response.json()
# Example
result = analyze_incident("w=5 eps=180 frk=120 cpu=87% top=bash")
print(result["choices"][0]["message"]["content"])
Citation
@software{linnix3b2025,
author = {Shah, Parth},
title = {Linnix 3B Distilled: Incident Detection Model},
year = {2025},
url = {https://huggingface.co/parth21shah/linnix-3b-distilled},
note = {Fine-tuned Qwen2.5-3B for system observability}
}
Links
- Platform: github.com/linnix-os/linnix
- Documentation: docs.linnix.io
- Issues: github.com/linnix-os/linnix/issues
- License: Apache 2.0
Acknowledgments
- Base model: Qwen2.5-3B-Instruct by Alibaba Cloud
- Inference engine: llama.cpp
- Training framework: Axolotl
- Downloads last month
- 22
5-bit