Instructions to use ruvnet/ruos-foundry-tools-qwen3-30b-a3b-e32 with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Transformers
How to use ruvnet/ruos-foundry-tools-qwen3-30b-a3b-e32 with Transformers:
# Use a pipeline as a high-level helper from transformers import pipeline pipe = pipeline("text-generation", model="ruvnet/ruos-foundry-tools-qwen3-30b-a3b-e32") messages = [ {"role": "user", "content": "Who are you?"}, ] pipe(messages)# Load model directly from transformers import AutoTokenizer, AutoModelForCausalLM tokenizer = AutoTokenizer.from_pretrained("ruvnet/ruos-foundry-tools-qwen3-30b-a3b-e32") model = AutoModelForCausalLM.from_pretrained("ruvnet/ruos-foundry-tools-qwen3-30b-a3b-e32", device_map="auto") 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]:])) - Notebooks
- Google Colab
- Kaggle
- Local Apps Settings
- vLLM
How to use ruvnet/ruos-foundry-tools-qwen3-30b-a3b-e32 with vLLM:
Install from pip and serve model
# Install vLLM from pip: pip install vllm # Start the vLLM server: vllm serve "ruvnet/ruos-foundry-tools-qwen3-30b-a3b-e32" # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:8000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "ruvnet/ruos-foundry-tools-qwen3-30b-a3b-e32", "messages": [ { "role": "user", "content": "What is the capital of France?" } ] }'Use Docker
docker model run hf.co/ruvnet/ruos-foundry-tools-qwen3-30b-a3b-e32
- SGLang
How to use ruvnet/ruos-foundry-tools-qwen3-30b-a3b-e32 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 "ruvnet/ruos-foundry-tools-qwen3-30b-a3b-e32" \ --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": "ruvnet/ruos-foundry-tools-qwen3-30b-a3b-e32", "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 "ruvnet/ruos-foundry-tools-qwen3-30b-a3b-e32" \ --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": "ruvnet/ruos-foundry-tools-qwen3-30b-a3b-e32", "messages": [ { "role": "user", "content": "What is the capital of France?" } ] }' - Docker Model Runner
How to use ruvnet/ruos-foundry-tools-qwen3-30b-a3b-e32 with Docker Model Runner:
docker model run hf.co/ruvnet/ruos-foundry-tools-qwen3-30b-a3b-e32
ruos-foundry-tools-qwen3-30b-a3b-e32
ruos-foundry-tools-qwen3-30b-a3b-e32 is a ruOS specialist cut from Qwen/Qwen3-30B-A3B-Instruct-2507 with MoE-Foundry (ADR-064): the parent's routed experts were traced on the ruOS ruos-tools calibration set, the 32 most-used experts per routed layer were kept, and a complete smaller Mixture-of-Experts model was exported โ same backbone, same tokenizer, same token top-k, fewer experts per layer. No weight was changed; experts were removed and renumbered and the router rows sliced to match.
Status: unevaluated and disabled
Per MoE-Foundry's rule an exported specialist starts quality_status: unevaluated, enabled: false. A structural export proves tensor integrity, not retained capability. This checkpoint is published so that slim-eval (slim/eval: run, redteam, regression, verdict) can measure it against the parent on the frozen ruOS test split; until that verdict is recorded here it must not be routed to. The full parent remains the fallback.
Parent
| repo | Qwen/Qwen3-30B-A3B-Instruct-2507 |
| revision | 0d7cf23991f47feeb3a57ecb4c9cee8ea4a17bfe |
| licence | Apache-2.0 |
| MoE-Foundry parent_id | 44c2b6971fe6979409ac72586db5fa4abfd73746afc52607368a59740848149d |
| experts per routed layer (parent โ this) | 128 โ 32 |
| routed layers | 48 |
| token top-k (unchanged) | 8 |
Calibration
Domain ruos-tools: 200 rows (200 from the val split, 0 topped up from train; the test split is never used for calibration), ~61028 tokens, families {"stack_qa":75,"tool_routing":125}, licences {"MIT":188,"project-owned":12}. Calibration file sha256 94a5527b141269ab5078a14e3d129b387aa69412c65334160715fd9a58dbfef5. Texts are the ChatML prompt plus the reference answer.
Router traces: 412 tasks, 148144 tokens, 7110912 rows on NVIDIA A100-SXM4-80GB (bfloat16, transformers 4.51.3); trace sha256 7aabb05cbf715156437393fc5a5b0d756951ecee35eb4542a06fc812f11f9403.
Selection method: mass (accumulated routing probability per expert per layer) โ a usage proxy, not causal importance.
Receipt
| specialist_id | 5ed23091d4ce59df291a5fcd24976bcfd4f2479f8aea1de096309fdc682f9c75 |
| checkpoint_id | 720e58809362d6ea4ecc2a76c3bb92097e0ef67cdafa22620f006d6d337dd026 |
| mask_sha256 | 7c3329351aebabf2ecaee826deb3aa3dbe9ca41123867536f5ae66913021df8b |
| parent_id | 44c2b6971fe6979409ac72586db5fa4abfd73746afc52607368a59740848149d |
| input tensor bytes | 61064245248 |
| output tensor bytes | 17558827008 |
| reduction | 71.2% |
separator_receipt.json in this repo is the full MoE-Foundry receipt including the per-layer expert mask.
Files
| path | bytes | sha256 |
|---|---|---|
| LICENSE | 11343 | 05cab46843576551502bfdf712f84e93e6e9590d9997306ed4f6635ef82811d9 |
| SHA256SUMS | 737 | 6dd12b16222578f87dd870d96032587a72945dd5d455e96f7e98fb5b0c01d589 |
| config.json | 963 | a3b2a4aef36639b068ffaedf2094f5c072e08fe699bc2f8823b4c115d829232c |
| generation_config.json | 239 | 19d306dd769db12a9d710b44cf7f83b635efbe5166b84fb4358a08fb7d88bb53 |
| merges.txt | 1671839 | 599bab54075088774b1733fde865d5bd747cbcc7a547c5bc12610e874e26f5e3 |
| model.safetensors | 17559452112 | 32a15e0a90d97eab453829686dc9876e3547d13e8dc41aa09a1f24756dba8f57 |
| separator_receipt.json | 17427 | c91b7fb6d92b509a0eec45bbaa89b22210e9b00da26d5bc47653106eb3a5ba42 |
| tokenizer.json | 11422654 | aeb13307a71acd8fe81861d94ad54ab689df773318809eed3cbe794b4492dae4 |
| tokenizer_config.json | 9377 | a62ff0a2472a0fa1b8eaabcb57c59b58afa42a22831dc141400b6e0cf2b65ce3 |
| vocab.json | 2776833 | ca10d7e9fb3ed18575dd1e277a2579c16d108e32f27439684afa0e10b1440910 |
Run
vllm serve ruvnet/ruos-foundry-tools-qwen3-30b-a3b-e32 --max-model-len 8192
Loads with transformers as a standard qwen3_moe checkpoint (single safetensors file, num_experts reduced in config.json).
Limitations
- Unevaluated: no capability, memory or latency claim is made here.
- Retained experts were chosen by routing mass on ruOS calibration prompts; requests outside that domain should go to the parent.
- Memory: fewer experts means a smaller checkpoint; loading several specialists next to the parent can use more total memory than the parent alone.
Provenance
- MoE-Foundry
6677a25(moe-separatorinspect โ profile_hf โ select โ export โ mixture) - run
foundry-20260907T172935Z-qwen3-30b-a3bon a single vast.ai GPU; ruos-desktopslim/foundry+slim/scripts/foundry-e2e.sh - authorisation: rUv, "implement this using ruvnet/MoE-Foundry using vast.ai in a worktree, implement e2e and push models to repo"
- Downloads last month
- 246
Model tree for ruvnet/ruos-foundry-tools-qwen3-30b-a3b-e32
Base model
Qwen/Qwen3-30B-A3B-Instruct-2507