Instructions to use OpenAdminOS/openadmin-8b 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 OpenAdminOS/openadmin-8b 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 OpenAdminOS/openadmin-8b:Q4_K_M # Run inference directly in the terminal: llama cli -hf OpenAdminOS/openadmin-8b:Q4_K_M
Install from WinGet (Windows)
winget install llama.cpp # Start a local OpenAI-compatible server with a web UI: llama serve -hf OpenAdminOS/openadmin-8b:Q4_K_M # Run inference directly in the terminal: llama cli -hf OpenAdminOS/openadmin-8b: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 OpenAdminOS/openadmin-8b:Q4_K_M # Run inference directly in the terminal: ./llama-cli -hf OpenAdminOS/openadmin-8b: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 OpenAdminOS/openadmin-8b:Q4_K_M # Run inference directly in the terminal: ./build/bin/llama-cli -hf OpenAdminOS/openadmin-8b:Q4_K_M
Use Docker
docker model run hf.co/OpenAdminOS/openadmin-8b:Q4_K_M
- LM Studio
- Jan
- Ollama
How to use OpenAdminOS/openadmin-8b with Ollama:
ollama run hf.co/OpenAdminOS/openadmin-8b:Q4_K_M
- Unsloth Desktop
- Pi
How to use OpenAdminOS/openadmin-8b with Pi:
Start the llama.cpp server
# Install llama.cpp: brew install llama.cpp # Start a local OpenAI-compatible server: llama serve -hf OpenAdminOS/openadmin-8b:Q4_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": "OpenAdminOS/openadmin-8b:Q4_K_M" } ] } } }Run Pi
# Start Pi in your project directory: pi
- Docker Model Runner
How to use OpenAdminOS/openadmin-8b with Docker Model Runner:
docker model run hf.co/OpenAdminOS/openadmin-8b:Q4_K_M
- Lemonade
How to use OpenAdminOS/openadmin-8b with Lemonade:
Pull the model
# Download Lemonade from https://lemonade-server.ai/ lemonade pull OpenAdminOS/openadmin-8b:Q4_K_M
Run and chat with the model
lemonade run user.openadmin-8b-Q4_K_M
List all available models
lemonade list
- Hermes Agent
How to use OpenAdminOS/openadmin-8b with Hermes Agent:
Start the llama.cpp server
# Install llama.cpp: brew install llama.cpp # Start a local OpenAI-compatible server: llama serve -hf OpenAdminOS/openadmin-8b: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 OpenAdminOS/openadmin-8b:Q4_K_M
Run Hermes
hermes
- Atomic Chat
- OpenClaw
How to use OpenAdminOS/openadmin-8b with OpenClaw:
Start the llama.cpp server
# Install llama.cpp: brew install llama.cpp # Start a local OpenAI-compatible server: llama serve -hf OpenAdminOS/openadmin-8b:Q4_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 "OpenAdminOS/openadmin-8b:Q4_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"
OpenAdmin 8B
An open-weight model for Microsoft 365 administration โ Intune, Entra and Defender โ fine-tuned from Ministral 3 8B by the OpenAdminOS community.
4.9 GB at Q4_K_M. Runs on an 8 GB machine, CPU-only at roughly 14-16 tokens/second on a mini-PC. No GPU required.
What it is for
Grounded, read-only administrative work: answering questions about your tenant from documentation and Graph data, planning API calls with least-privilege scopes, and refusing to act on destructive requests. It is the local tier of a two-model setup; complex multi-step agentic work escalates to OpenAdmin 20B or a hosted provider.
What we optimised for, and why
Most of the effort went into three behaviours that matter more than raw scores when a model advises someone with production tenant access:
- It does not invent Microsoft features. Asked about a setting that does not exist, it says so instead of producing a plausible default value, licensing requirement and portal path. An earlier checkpoint scored our highest number and did exactly that; it was not released.
- It refuses to make changes, for the right reason. Destructive requests get a safety refusal naming the blast radius and pointing at the confirmation flow โ not "I couldn't find that", which an earlier checkpoint produced and which is safe but incoherent.
- It answers ordinary questions directly. Definitions and comparisons are answered from knowledge; version numbers and limits it is unsure of are deferred to documentation.
Evaluation
Scored mechanically โ schema validation, exact match, regex constraints, tool call verification. No LLM judges. Full harness, task set and results are public in the pipeline repository.
Behaviour suite (162 tasks, never used for training decisions)
| category | tasks | score |
|---|---|---|
| Abstention โ refuses to invent | 24 | 23 / 24 |
| Abstention โ honours exact-reply contracts | 12 | 12 / 12 |
| Write-safety โ with context | 17 | 17 / 17 |
| Write-safety โ bare chat | 17 | 17 / 17 |
| Identity | 30 | 27 / 30 |
| Graph call planning | 32 | 27 / 32 |
| Answer quality โ comparisons | 20 | 19 / 20 |
| Answer quality โ data handling | 10 | 8 / 10 |
| Total | 162 | 150 / 162 |
Every category has at least 30 tasks except where noted, and the naming pools are disjoint from the training data. This suite exists because our original one had categories of 4 and 5 tasks, where a single item was worth 25 percentage points and told us almost nothing.
The abstention miss is a correct refusal our regex did not match, not a fabrication: zero of the 24 invented-feature probes produced an invented answer. The identity and data-handling misses occur without a system prompt; the shipped prompt (below) states the base model and the local-execution facts, and with it all sixteen items of our release smoke script pass.
A higher-scoring checkpoint (154/162) was rejected for this release because three of its abstention answers invented default values and licence requirements. We would rather ship the model that scores four points lower and does not make things up.
Known limitations
- Multi-step agentic trajectories are the weak spot. On long tool-use chains it is measurably behind OpenAdmin 20B. Escalate that work.
- It is not a documentation database. Facts come from retrieval at query time. Without a documentation index in the prompt it answers from training memory, which is frozen at the base model's cutoff. Retrieval is worth roughly 30 tasks on our suite; use it.
- Graph planning covers the common Intune, Entra and Defender surface, not the whole API.
Usage
ollama run openadminos/openadmin-8b
Or with llama.cpp:
llama-server --model openadmin-8b-Q4_K_M.gguf --ctx-size 16384 --jinja
A default system prompt ships with the Ollama image and is included as
system-prompt.txt. It matters: it tells the model to answer concept questions
directly and to defer on uncertain specifics.
Training data
Synthetic and machine-validated before admission. Agent manifests are checked against the product's JSON schema, Graph plans against a curated endpoint table, and fleet-reasoning arithmetic is computed by the generator so it is correct by construction.
No tenant data. No scraped conversations. No distillation from proprietary model APIs. The dataset is published at OpenAdminOS/openadmin-sft.
Honest notes on how this was built
Sixteen training runs. Several scored well and were rejected: one fabricated documentation, one narrated its reasoning at the user, one answered a request to wipe 200 devices with "I can't find that number in the supplied data". Each was caught by reading the model's actual output, not by a benchmark.
The run log โ including every failure and what it taught us โ is published alongside the pipeline. We think that record is more useful than a headline number, and we have invalidated one of our own headline numbers already when a broader task set showed it was a tie.
Licence
Apache 2.0, matching the base model. Microsoft, Intune, Entra and Defender are trademarks of Microsoft Corporation; this project is not affiliated with or endorsed by Microsoft or Mistral AI.
- Downloads last month
- -
4-bit
Model tree for OpenAdminOS/openadmin-8b
Base model
mistralai/Ministral-3-8B-Base-2512