Instructions to use d0-0d/osava-smollm 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 d0-0d/osava-smollm 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 d0-0d/osava-smollm # Run inference directly in the terminal: llama cli -hf d0-0d/osava-smollm
Install from WinGet (Windows)
winget install llama.cpp # Start a local OpenAI-compatible server with a web UI: llama serve -hf d0-0d/osava-smollm # Run inference directly in the terminal: llama cli -hf d0-0d/osava-smollm
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 d0-0d/osava-smollm # Run inference directly in the terminal: ./llama-cli -hf d0-0d/osava-smollm
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 d0-0d/osava-smollm # Run inference directly in the terminal: ./build/bin/llama-cli -hf d0-0d/osava-smollm
Use Docker
docker model run hf.co/d0-0d/osava-smollm
- LM Studio
- Jan
- vLLM
How to use d0-0d/osava-smollm with vLLM:
Install from pip and serve model
# Install vLLM from pip: pip install vllm # Start the vLLM server: vllm serve "d0-0d/osava-smollm" # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:8000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "d0-0d/osava-smollm", "messages": [ { "role": "user", "content": "What is the capital of France?" } ] }'Use Docker
docker model run hf.co/d0-0d/osava-smollm
- Ollama
How to use d0-0d/osava-smollm with Ollama:
ollama run hf.co/d0-0d/osava-smollm
- Unsloth Desktop
- Pi
How to use d0-0d/osava-smollm with Pi:
Start the llama.cpp server
# Install llama.cpp: brew install llama.cpp # Start a local OpenAI-compatible server: llama serve -hf d0-0d/osava-smollm
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": "d0-0d/osava-smollm" } ] } } }Run Pi
# Start Pi in your project directory: pi
- Docker Model Runner
How to use d0-0d/osava-smollm with Docker Model Runner:
docker model run hf.co/d0-0d/osava-smollm
- Lemonade
How to use d0-0d/osava-smollm with Lemonade:
Pull the model
# Download Lemonade from https://lemonade-server.ai/ lemonade pull d0-0d/osava-smollm
Run and chat with the model
lemonade run user.osava-smollm-{{QUANT_TAG}}List all available models
lemonade list
- Hermes Agent
How to use d0-0d/osava-smollm with Hermes Agent:
Start the llama.cpp server
# Install llama.cpp: brew install llama.cpp # Start a local OpenAI-compatible server: llama serve -hf d0-0d/osava-smollm
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 d0-0d/osava-smollm
Run Hermes
hermes
- Atomic Chat
- OpenClaw
How to use d0-0d/osava-smollm with OpenClaw:
Start the llama.cpp server
# Install llama.cpp: brew install llama.cpp # Start a local OpenAI-compatible server: llama serve -hf d0-0d/osava-smollm
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 "d0-0d/osava-smollm" \ --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"
osava-smollm (SENTRI-Classifier v7b)
A QLoRA fine-tune of SmolLM3-3B, quantised to Q4_K_M GGUF, that rates one Windows Sysmon or Security event as none / low / medium / high. It is the local triage model of OSAVA's Behaviour tab: it decides which behaviours a person should look at first. It triages; it does not prove. A High means "look here first", not "this is an attack".
| File | SHA-256 | Bytes |
|---|---|---|
osava-smollm-q4.gguf |
dc24b6b923ed4dc7b475f41f31a96a90a1cfa242241e35ea37de09ce10c11f52 |
1,915,305,376 |
OSAVA pins this file by checksum in its contract.json and refuses any other.
How it is used
One event, rendered as Key: value lines by a fixed contract (field order, 512-character command-line limit,
signature backfill), goes into a fixed prompt (strict variant, prompt SHA-256 8906351fβ¦) that ends with the
prefill {"severity": ". Only the first generated token is read: its top-k probabilities over the four severity
words give the verdict and how close the call was. Everything else a person sees (indicators, threat type,
reasoning) is computed from the event by fixed rules, not generated. The prompt, conversion rules and canary
events are in OSAVA's contract.json and in osava-slm, which built
this model.
llama-server -m osava-smollm-q4.gguf
POST /completion {"prompt": <template with the event>, "n_predict": 1, "n_probs": 10, "temperature": 0}
Training
- Base: SmolLM3-3B. QLoRA (NF4, r=16, alpha=32, all linear projections), 4 epochs, learning rate 2e-4, effective batch 16, loss on the completion only with the severity token weighted 20x. Final checkpoint (580 steps), not the best of several.
- Data (2,522 rows):
- Events from EVTX-ATTACK-SAMPLES (GPL-3.0), labelled by behaviour.
- Synthetic events from generators in osava-slm: benign hard negatives, suspicious grey-zone activity, logons, and (new in v7b) normal workstation activity, each family paired with malicious contrasts: installers and updaters, per-user Windows services, app packages, per-user apps on HTTPS, developer tools.
- Rebalanced to 42.5% malicious, 16.7% suspicious, 40.8% benign by repeating existing rows.
- No telemetry from any real user's machine is in the training data.
Evaluation
Measured the way OSAVA runs it (this GGUF through llama-server, first-token readout):
| v3 (previous) | v7b | |
|---|---|---|
| Held-out events, accuracy (138) | 124 | 122 |
| Held-out malicious events called High (56) | 55 | 53 (the other 2 Medium) |
| Held-out suspicious events caught | 53% | 67% |
| A working PC's benign behaviours called High, applications never seen in training (483) | 26.1% | 9.3% |
| Same, High or Medium | 33.1% | 20.1% |
Caveats: the held-out set is small, and v7b's data change was chosen after seeing an earlier candidate's misses on it, so it is not fully blind for this model. The benign benchmark comes from one developer's machine. Both v3 and v7b call one held-out malicious event benign.
Limits
- One event at a time, no memory: it cannot see a sequence (download, then execute) that only looks bad together.
- The grey zone (Medium) is its weakest call; read None and Low as "nothing stood out", not "safe".
- It was trained on Sysmon event IDs 1, 3, 7, 11, 12, 13 and Security 4624/4625. Anything else is out of its domain.
- Attackers who make their activity look like ordinary software (a plausibly named service, a signed tool doing its normal job) can be rated low.
Licence
The weights are released under Apache-2.0, the base model's licence. Part of the training data comes from EVTX-ATTACK-SAMPLES, which is GPL-3.0; whether a dataset's licence carries over to weights trained on it is not settled, and you should take that into account for your use.
- Downloads last month
- 170
We're not able to determine the quantization variants.
Model tree for d0-0d/osava-smollm
Base model
HuggingFaceTB/SmolLM3-3B-Base