Text Generation
MLX
Safetensors
English
qwen3
aro
code-generation
dsl
6-bit
lora
fine-tuned
conversational
Instructions to use ARO-Lang/aro-coder-6bit with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- MLX
How to use ARO-Lang/aro-coder-6bit 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("ARO-Lang/aro-coder-6bit") 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 ARO-Lang/aro-coder-6bit with Pi:
Start the MLX server
# Install MLX LM: uv tool install mlx-lm # Start a local OpenAI-compatible server: mlx_lm.server --model "ARO-Lang/aro-coder-6bit"
Configure the model in Pi
# Install Pi: npm install -g @mariozechner/pi-coding-agent # Add to ~/.pi/agent/models.json: { "providers": { "mlx-lm": { "baseUrl": "http://localhost:8080/v1", "api": "openai-completions", "apiKey": "none", "models": [ { "id": "ARO-Lang/aro-coder-6bit" } ] } } }Run Pi
# Start Pi in your project directory: pi
- OpenClaw new
How to use ARO-Lang/aro-coder-6bit with OpenClaw:
Start the MLX server
# Install MLX LM: uv tool install mlx-lm # Start a local OpenAI-compatible server: mlx_lm.server --model "ARO-Lang/aro-coder-6bit"
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 "ARO-Lang/aro-coder-6bit" \ --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"
- MLX LM
How to use ARO-Lang/aro-coder-6bit with MLX LM:
Generate or start a chat session
# Install MLX LM uv tool install mlx-lm # Interactive chat REPL mlx_lm.chat --model "ARO-Lang/aro-coder-6bit"
Run an OpenAI-compatible server
# Install MLX LM uv tool install mlx-lm # Start the server mlx_lm.server --model "ARO-Lang/aro-coder-6bit" # Calling the OpenAI-compatible server with curl curl -X POST "http://localhost:8000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "ARO-Lang/aro-coder-6bit", "messages": [ {"role": "user", "content": "Hello"} ] }' - Hermes Agent
How to use ARO-Lang/aro-coder-6bit 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 "ARO-Lang/aro-coder-6bit"
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 ARO-Lang/aro-coder-6bit
Run Hermes
hermes
- Atomic Chat
File size: 5,469 Bytes
94d3e39 1eb5b5a 94d3e39 7bf8c00 94d3e39 c44151a 7bf8c00 1eb5b5a 94d3e39 c44151a 94d3e39 7bf8c00 94d3e39 c44151a 94d3e39 1eb5b5a 94d3e39 c44151a 94d3e39 c44151a 94d3e39 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 | ---
language: en
license: mit
tags:
- aro
- code-generation
- dsl
- mlx
- 6-bit
- lora
- fine-tuned
base_model: mlx-community/Qwen3-Coder-30B-A3B-Instruct-bf16
pipeline_tag: text-generation
library_name: mlx
---
# ARO Coder β v1.1.0
A fine-tuned code generation model specialised in the **ARO** (Action Result Object) programming language.
ARO is a domain-specific language where every statement follows the pattern:
`Verb the <Result> preposition [the] <Object>`.
| | |
|---|---|
| **Version** | v1.1.0 (tag `v1.1.0`) |
| **Checksum** | `45a5680524fdfc49` |
| **Base model** | [mlx-community/Qwen3-Coder-30B-A3B-Instruct-bf16](https://huggingface.co/mlx-community/Qwen3-Coder-30B-A3B-Instruct-bf16) |
| **Teacher source** | conversation_boosted (30B MoE teacher distilled to 8B student) |
| **Quantization** | 6-bit MLX, group size 32 |
| **Language** | ARO |
| **Training samples** | 6260 |
## Links
- **Website**: [arolang.github.io/aro](https://arolang.github.io/aro/)
- **GitHub**: [github.com/arolang/aro](https://github.com/arolang/aro)
- **Documentation**: [Wiki](https://github.com/arolang/aro/wiki)
- **Language Guide (PDF)**: [Download](https://github.com/arolang/aro/releases/latest/download/ARO-Language-Guide.pdf)
- **Discussions**: [GitHub Discussions](https://github.com/arolang/aro/discussions)
## Evaluation (promotion gate, 104 prompts)
| Metric | Quantized (shipped) | Fused (pre-quantization) |
|---|---|---|
| Reply rate | 100.0% | 100.0% |
| Empty-think collapse | 0.0% | 0.0% |
| Syntax pass rate (`aro check`) | 75.5% | 75.8% |
| Tool-name leakage | 0.0% | 0.0% |
| URL contamination | 0.0% | 0.0% |
## Known Limitations
- **Happy-path DSL only** β ARO code deliberately contains no error handling;
do not expect defensive code from this model.
- **6-bit quantization** β small quality loss vs the fused model is expected;
the promotion gate bounds the degradation (see the table above when both
columns are present).
- **Verb hallucination at high temperatures** β keep temperature β€ 0.3 for
code generation; the model may invent non-existent action verbs above that.
- **English-only** instructions and answers.
- Knowledge is frozen at training time; language features newer than this
release's corpus are unknown to the model.
## Quick Start
### MLX (Apple Silicon)
```python
from mlx_lm import load, generate
model, tokenizer = load("ARO-Lang/aro-coder-6bit") # latest release
# model, tokenizer = load("ARO-Lang/aro-coder-6bit", revision="v1.1.0") # pinned
messages = [
{"role": "system", "content": "You are an expert ARO programmer."},
{"role": "user", "content": "Write an ARO feature set that retrieves a user by ID and returns an OK response."},
]
prompt = tokenizer.apply_chat_template(messages, tokenize=False, add_generation_prompt=True)
response = generate(model, tokenizer, prompt=prompt, max_tokens=500)
print(response)
```
### MLX Server (OpenAI-compatible API)
```bash
python -m mlx_lm.server --model ARO-Lang/aro-coder-6bit --port 8080
curl http://localhost:8080/v1/chat/completions \
-H 'Content-Type: application/json' \
-d '{"model": "aro-coder", "messages": [{"role": "user", "content": "Write hello world in ARO"}]}'
```
### Ollama
```bash
ollama run aro-coder
```
## Example Output
**Prompt:** *Write an ARO Application-Start that starts an HTTP server.*
```aro
(Application-Start: My API) {
Log "Starting server..." to the <console>.
Start the <http-server> with <contract>.
Keepalive the <application> for the <events>.
Return an <OK: status> for the <startup>.
}
```
## What is ARO?
ARO is a DSL for expressing business features as Action-Result-Object statements.
Every program is a directory of `.aro` files with event-driven feature sets:
```aro
(getUser: User API) {
Extract the <id> from the <pathParameters: id>.
Retrieve the <user> from the <user-repository> where id = <id>.
Return an <OK: status> with <user>.
}
```
Key features:
- **Contract-first HTTP** β routes defined in `openapi.yaml`, feature sets match `operationId`
- **Event-driven** β feature sets triggered by events, not direct calls
- **Immutable bindings** β every transformation produces a new name
- **Happy-path only** β no error handling code; the runtime manages errors
## Training
This model was trained with the ARO training pipeline:
1. **Corpus collection** β 6260 samples from Examples, Book, Wiki, Proposals, and real-world ARO applications
2. **Supervised fine-tuning** β LoRA on all code generation, debugging, Q&A, and explanation tasks
3. **DPO preference training** β using `aro check` validation to build chosen/rejected pairs
4. **Iterative self-improvement** β multiple rounds of generate-validate-retrain
5. **Distillation** β the 30B MoE teacher's outputs (syntax- and semantically-gated) train the 8B student
6. **Promotion gate** β 100-prompt sweep on both fused and quantized weights before any distribution
## Version History
| Version | Date | Source | Checksum |
|---|---|---|---|
| v1.1.0 | 2026-08-10 | conversation_boosted | `45a5680524fdfc49` |
Every release is tagged on the Hub β load an older version with
`load("ARO-Lang/aro-coder-6bit", revision="v<version>")` or report issues against
the version shown by `aro ask --version`.
## License
This model and the ARO language are open source under the [MIT License](https://github.com/arolang/aro/blob/main/LICENSE).
|