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
- 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
- OpenClaw
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"
| 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). | |