Instructions to use OsaurusAI/Raptor-v0.5-8B-A1B-JANG_6M with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- MLX
How to use OsaurusAI/Raptor-v0.5-8B-A1B-JANG_6M with MLX:
# Make sure mlx-lm is installed # pip install --upgrade mlx-lm # Generate text with mlx-lm from mlx_lm import load, generate model, tokenizer = load("OsaurusAI/Raptor-v0.5-8B-A1B-JANG_6M") prompt = "Write a story about Einstein" messages = [{"role": "user", "content": prompt}] prompt = tokenizer.apply_chat_template( messages, add_generation_prompt=True ) text = generate(model, tokenizer, prompt=prompt, verbose=True) - Notebooks
- Google Colab
- Kaggle
- Local Apps Settings
- LM Studio
- Pi
How to use OsaurusAI/Raptor-v0.5-8B-A1B-JANG_6M with Pi:
Start the MLX server
# Install MLX LM: uv tool install mlx-lm # Start a local OpenAI-compatible server: mlx_lm.server --model "OsaurusAI/Raptor-v0.5-8B-A1B-JANG_6M"
Configure the model in Pi
# Install Pi: npm install -g @earendil-works/pi-coding-agent # Add to ~/.pi/agent/models.json: { "providers": { "mlx-lm": { "baseUrl": "http://localhost:8080/v1", "api": "openai-completions", "apiKey": "none", "models": [ { "id": "OsaurusAI/Raptor-v0.5-8B-A1B-JANG_6M" } ] } } }Run Pi
# Start Pi in your project directory: pi
- MLX LM
How to use OsaurusAI/Raptor-v0.5-8B-A1B-JANG_6M with MLX LM:
Generate or start a chat session
# Install MLX LM uv tool install mlx-lm # Interactive chat REPL mlx_lm.chat --model "OsaurusAI/Raptor-v0.5-8B-A1B-JANG_6M"
Run an OpenAI-compatible server
# Install MLX LM uv tool install mlx-lm # Start the server mlx_lm.server --model "OsaurusAI/Raptor-v0.5-8B-A1B-JANG_6M" # Calling the OpenAI-compatible server with curl curl -X POST "http://localhost:8000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "OsaurusAI/Raptor-v0.5-8B-A1B-JANG_6M", "messages": [ {"role": "user", "content": "Hello"} ] }' - Hermes Agent
How to use OsaurusAI/Raptor-v0.5-8B-A1B-JANG_6M with Hermes Agent:
Start the MLX server
# Install MLX LM: uv tool install mlx-lm # Start a local OpenAI-compatible server: mlx_lm.server --model "OsaurusAI/Raptor-v0.5-8B-A1B-JANG_6M"
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 OsaurusAI/Raptor-v0.5-8B-A1B-JANG_6M
Run Hermes
hermes
- Atomic Chat
- OpenClaw
How to use OsaurusAI/Raptor-v0.5-8B-A1B-JANG_6M with OpenClaw:
Start the MLX server
# Install MLX LM: uv tool install mlx-lm # Start a local OpenAI-compatible server: mlx_lm.server --model "OsaurusAI/Raptor-v0.5-8B-A1B-JANG_6M"
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 "OsaurusAI/Raptor-v0.5-8B-A1B-JANG_6M" \ --custom-provider-id mlx-lm \ --custom-compatibility openai \ --custom-text-input \ --accept-risk \ --skip-health
Run OpenClaw
openclaw agent --local --agent main --message "Hello from Hugging Face"
OsaurusAI/Raptor-v0.5-8B-A1B-JANG_6M
The official Raptor v0.5. A calibrated JANG_6M quantization of
Ling-3.0-tiny-Osaurus-v2mcp — Ling-3.0-tiny with a light r4/alpha8 LoRA
merged to BF16. Base model behavior is intentionally preserved; the tune adds
familiarity with the Osaurus Mac harness tools (native schemas, tool routing
across Osaurus surfaces, observation-grounded final synthesis, concise
single-call economy) and with Osaurus declarative configuration
(osaurus_config / osaurus_inspect / osaurus_help): MCP server setup
(HTTP/OAuth, stdio with env secret refs, bearer token refs, enable/disable)
and onboarding — providers and API keys, models, agents, memory, channels,
schedules, watchers, knowledge collections, tool policies.
This build (v2mcp) supersedes the previous v0.5 weights (v47-u4 tune). On the tune's own probe batteries it improves every measured surface over its predecessor: 48-case defect sweep 141/144 (was 138), Osaurus tool-surface probe 72/84 (was 69), segmented interleave chains 14/24 (was 7), declarative-config probe 112/198 (was 70).
Lineage
| Base | inclusionAI/Ling-3.0-tiny (MIT), revision b61f4338cc490f3ea704c014664e18f4b99a1ae0 |
| Fine-tune | from-base r4/alpha8 LoRA, corpus v15 (Osaurus 0.24.3 MCP + declarative onboarding), merged BF16 |
| Quantization | JANG_6M — see below |
Architecture
| Field | Value |
|---|---|
| Model | bailing_hybrid / BailingMoeV3ForCausalLM, ~7.5B total, ~1B active |
| Layers | 24 = 18 KDA (Kimi Delta Attention) + 6 gated MLA; layer 0 dense |
| MoE | 128 experts, top-8 + 1 shared, moe_intermediate 512, sigmoid noaux_tc router |
| Vocab / context | 157,184 (untied) / 131,072 |
| On disk | 6.3 GiB |
Per-layer decode state for KDA is a fixed [16,128,128] recurrent tensor plus
three short-conv buffers — it does not grow with context.
Quantization: JANG_6M (calibrated)
Two calibration captures on the merged weights (not the base), feeding the three calibrated stages:
- AWQ scales fit from a per-channel activation capture taken with the reference HF implementation on the Osaurus calibration corpus (133,886 tokens of harness renders + general text); scales folded into the producing norms with router compensation, fold invariant proven exact (2.5e-16 in f64) before use. All 23 MoE input groups improved.
- Hessian-trace mixed-bit allocation from a fresh 1.36M-token MLX capture, over the 69 routed-expert tensor groups: 6 groups at 8-bit, 51 at 6-bit, 12 at 5-bit — budget-neutral water-filling (achieved exactly 6.0000 bits/weight) driven by measured sensitivity, not name-matching. Non-expert linears and embeddings at 8-bit.
- imatrix clip-range refit (activation-weighted) — at 6-bit the min/max range is already optimal (mean shrink 1.000), consistent with this model's measured near-total absence of activation outliers.
Kept unquantized: router + expert bias (fp32), A_log/dt_bias (fp32), KDA
conv kernels and f/b/g_proj gates, all norms (fp16) — the state-forming and
gating parameters whose error compounds through the recurrence.
The safetensors container is dtype-aligned (every payload offset aligned to its element size), so MLX maps every tensor zero-copy.
Stock mlx_lm has no bailing_hybrid support — this bundle targets the JANG
runtime (Osaurus).
Measured quality
Held-out KL vs the merged BF16 source (64 prompts / 21,041 tokens, disjoint from calibration):
| metric | value |
|---|---|
| mean KL | 0.0108 |
| top-1 agreement | 96.45% |
Margin-conditioned flip curve: 18.9% → 2.7% → 0.45% → 0.10% → 0.00% → 0.00% across rising source-margin bins — strictly monotone, the lossy-but-healthy signature. (The previous v0.5 build measured 0.0184 / 95.97% on the same prompts against its own source.)
Local agentic bench (20 real multi-step Osaurus tool tasks, verified against real filesystem/sqlite state, XML-arg parser, greedy decode): 14/20 with 0 schema violations — identical to the BF16 source run under the same harness and seed (14/20), with 5 of 6 failures on the same tasks. The quantization introduces no agentic defect; the residual failures are model traits.
Sampling profile (stamped, measured)
generation_config.json and jang_config.chat.sampling_defaults both carry
the validated profile:
temperature 0.7 · top_p 0.95 · top_k 20 · repetition_penalty 1.05
This is not a default-copy: at temperature 1.0 this model family intermittently emits prose before tool calls and can enter repetition loops; 0.7 was measured to eliminate the malformed-prose defect. The v2mcp probe measurements above were all taken at this profile. Serve it at this profile.
Reasoning and tool calling
- Reasoning is ON by default (upstream template behavior) with
enable_thinkingas the off-switch. The template hardcodespreserved_thinking = true, so on its own it retains every prior-turn<think>block. This bundle therefore also stampsreasoning.history_reasoning: "omit"injang_config.json: it asks the serving app to render each prior assistant turn without itsreasoning_content(current-turn content and all tool calls untouched). This suppresses a byte-identical tool-call re-issue loop — once one identical successful turn with its<think>sits in history, the model tends to re-emit it verbatim; dropping historical reasoning breaks that. The cost is that a prior cycle's think tokens (≈11–23 here) are no longer prefix-cache-reusable. The key is a no-op on serving builds that do not yet read it. - 🚨 Tool calls are XML-arg, not JSON: bare function name then
<arg_key>/<arg_value>pairs inside<tool_call>. Schemas go in as JSON; calls come out as XML. No Hermes/Qwen-style parser matches —jang_config.jsonsetstools.mlx_lm_autodetected: falseand names the requiredbailing_v3_xml_argparser.
Known limitations
- Asked to delete or remove a configuration entry it cannot verify, the model
tends to compose a config write instead of checking first. In Osaurus
0.24.3 every
osaurus_config applyin interactive chat goes through the native plan-review approval card (diff + prune warning) and unattended surfaces auto-deny, so such an attempt surfaces as a card to reject or a validator rejection, never as a silent change. Review config cards before approving, especially any that mention prune. - After a web/tool search the model sometimes re-searches instead of synthesizing. This is a base-model trait; the repetition penalty bounds the visible loop and capping agent iterations in the harness bounds the rest.
- Not positioned as a coding specialist; it is an agentic/tool-use model.
Built by Jinho Jang — eric@osaurus.ai. Base model by inclusionAI (MIT).
- Downloads last month
- 2,148
Quantized
Model tree for OsaurusAI/Raptor-v0.5-8B-A1B-JANG_6M
Base model
inclusionAI/Ling-3.0-tiny