Text Generation
MLX
Safetensors
English
qwen3
aro
code-generation
dsl
4-bit precision
lora
fine-tuned
conversational
Instructions to use ARO-Lang/aro-coder-4bit with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- MLX
How to use ARO-Lang/aro-coder-4bit 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-4bit") 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
- LM Studio
- Pi new
How to use ARO-Lang/aro-coder-4bit 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-4bit"
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-4bit" } ] } } }Run Pi
# Start Pi in your project directory: pi
- Hermes Agent new
How to use ARO-Lang/aro-coder-4bit 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-4bit"
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-4bit
Run Hermes
hermes
- MLX LM
How to use ARO-Lang/aro-coder-4bit 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-4bit"
Run an OpenAI-compatible server
# Install MLX LM uv tool install mlx-lm # Start the server mlx_lm.server --model "ARO-Lang/aro-coder-4bit" # 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-4bit", "messages": [ {"role": "user", "content": "Hello"} ] }'
Upload ARO Coder 4-bit (distill_student)
Browse files- .source_model +1 -1
- README.md +3 -3
- aro_system_prompt.txt +26 -17
- model.safetensors +1 -1
- tokenizer_config.json +1 -0
.source_model
CHANGED
|
@@ -1 +1 @@
|
|
| 1 |
-
/Users/kris/Projects/ARO/ARO-
|
|
|
|
| 1 |
+
/Users/kris/Projects/ARO/ARO-Lang/Train/models/distill/student/fused
|
README.md
CHANGED
|
@@ -26,8 +26,8 @@ ARO is a domain-specific language where every statement follows the pattern:
|
|
| 26 |
| **Base model** | [mlx-community/Qwen3-Coder-30B-A3B-Instruct-4bit](https://huggingface.co/mlx-community/Qwen3-Coder-30B-A3B-Instruct-4bit) |
|
| 27 |
| **Quantization** | 4-bit (MLX) |
|
| 28 |
| **Language** | ARO |
|
| 29 |
-
| **Training samples** |
|
| 30 |
-
| **Syntax pass rate** |
|
| 31 |
| **Source label** | distill_student |
|
| 32 |
|
| 33 |
## Links
|
|
@@ -108,7 +108,7 @@ Key features:
|
|
| 108 |
|
| 109 |
This model was trained with the ARO training pipeline:
|
| 110 |
|
| 111 |
-
1. **Corpus collection** β
|
| 112 |
2. **Supervised fine-tuning** β LoRA on all code generation, debugging, Q&A, and explanation tasks
|
| 113 |
3. **DPO preference training** β using `aro check` validation to build chosen/rejected pairs
|
| 114 |
4. **Iterative self-improvement** β multiple rounds of generate-validate-retrain
|
|
|
|
| 26 |
| **Base model** | [mlx-community/Qwen3-Coder-30B-A3B-Instruct-4bit](https://huggingface.co/mlx-community/Qwen3-Coder-30B-A3B-Instruct-4bit) |
|
| 27 |
| **Quantization** | 4-bit (MLX) |
|
| 28 |
| **Language** | ARO |
|
| 29 |
+
| **Training samples** | 2862 |
|
| 30 |
+
| **Syntax pass rate** | 73% |
|
| 31 |
| **Source label** | distill_student |
|
| 32 |
|
| 33 |
## Links
|
|
|
|
| 108 |
|
| 109 |
This model was trained with the ARO training pipeline:
|
| 110 |
|
| 111 |
+
1. **Corpus collection** β 2862 samples from Examples, Book, Wiki, Proposals, and real-world ARO applications
|
| 112 |
2. **Supervised fine-tuning** β LoRA on all code generation, debugging, Q&A, and explanation tasks
|
| 113 |
3. **DPO preference training** β using `aro check` validation to build chosen/rejected pairs
|
| 114 |
4. **Iterative self-improvement** β multiple rounds of generate-validate-retrain
|
aro_system_prompt.txt
CHANGED
|
@@ -30,6 +30,24 @@ ARO SYNTAX RULES:
|
|
| 30 |
Return an <OK: status> for the <notification>.
|
| 31 |
}
|
| 32 |
---
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 33 |
(* Plugin qualifiers use handler namespace *)
|
| 34 |
Compute the <random-item: collections.pick-random> from the <items>.
|
| 35 |
Compute the <sorted-list: stats.sort> from the <numbers>.
|
|
@@ -72,16 +90,6 @@ Compute the <second-length: length> from the <second-message>.
|
|
| 72 |
|
| 73 |
(* Now both values are available *)
|
| 74 |
Compare the <first-length> against the <second-length>.
|
| 75 |
-
---
|
| 76 |
-
(Application-Start: File Watcher) {
|
| 77 |
-
Log "Starting..." to the <console>.
|
| 78 |
-
Start the <file-monitor> with ".".
|
| 79 |
-
|
| 80 |
-
(* Keep the application running to process events *)
|
| 81 |
-
Keepalive the <application> for the <events>.
|
| 82 |
-
|
| 83 |
-
Return an <OK: status> for the <startup>.
|
| 84 |
-
}
|
| 85 |
|
| 86 |
```aro
|
| 87 |
(Feature Name: Business Activity) {
|
|
@@ -118,13 +126,7 @@ Application lifecycle handlers:
|
|
| 118 |
|
| 119 |
### Computations
|
| 120 |
|
| 121 |
-
The Compute action transforms data using built-in
|
| 122 |
-
|
| 123 |
-
| Operation | Description | Example |
|
| 124 |
-
|-----------|-------------|---------|
|
| 125 |
-
| `length` / `count` | Count elements | `Compute the <len: length> from <text>.` |
|
| 126 |
-
| `uppercase` | Convert to UPPERCASE | `Compute the <upper: uppercase> from <text>.` |
|
| 127 |
-
| `lowercase` | Convert to lowercase | `Compute the <lower: l
|
| 128 |
|
| 129 |
AVAILABLE ACTIONS (verb [role] β prepositions):
|
| 130 |
extract, parse, get [request ] prepositions: from, via
|
|
@@ -148,6 +150,13 @@ AVAILABLE ACTIONS (verb [role] β prepositions):
|
|
| 148 |
copy [server ] prepositions: to
|
| 149 |
move, rename [server ] prepositions: to
|
| 150 |
append [response] prepositions: to, into
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 151 |
parse [own ] prepositions: from
|
| 152 |
parsehtml [own ] prepositions: from
|
| 153 |
map [own ] prepositions: from, to
|
|
|
|
| 30 |
Return an <OK: status> for the <notification>.
|
| 31 |
}
|
| 32 |
---
|
| 33 |
+
(DoubleValue: Action takes <number>) {
|
| 34 |
+
Extract the <n> from the <input: number>.
|
| 35 |
+
Compute the <doubled> from <n> * 2.
|
| 36 |
+
Return an <OK: status> with { doubled: <doubled> }.
|
| 37 |
+
}
|
| 38 |
+
|
| 39 |
+
(SumAndDouble: Action) {
|
| 40 |
+
Extract the <a> from the <input: a>.
|
| 41 |
+
Extract the <b> from the <input: b>.
|
| 42 |
+
Compute the <sum> from <a> + <b>.
|
| 43 |
+
Application.DoubleValue the <inner> from <sum>.
|
| 44 |
+
Extract the <result> from the <inner: doubled>.
|
| 45 |
+
Return an <OK: status> with <result>.
|
| 46 |
+
}
|
| 47 |
+
|
| 48 |
+
(* Call site uses the same shape as plugin actions: *)
|
| 49 |
+
Application.SumAndDouble the <res> from { a: 3, b: 4 }.
|
| 50 |
+
---
|
| 51 |
(* Plugin qualifiers use handler namespace *)
|
| 52 |
Compute the <random-item: collections.pick-random> from the <items>.
|
| 53 |
Compute the <sorted-list: stats.sort> from the <numbers>.
|
|
|
|
| 90 |
|
| 91 |
(* Now both values are available *)
|
| 92 |
Compare the <first-length> against the <second-length>.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 93 |
|
| 94 |
```aro
|
| 95 |
(Feature Name: Business Activity) {
|
|
|
|
| 126 |
|
| 127 |
### Computations
|
| 128 |
|
| 129 |
+
The Compute action transforms data using built-in ope
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 130 |
|
| 131 |
AVAILABLE ACTIONS (verb [role] β prepositions):
|
| 132 |
extract, parse, get [request ] prepositions: from, via
|
|
|
|
| 150 |
copy [server ] prepositions: to
|
| 151 |
move, rename [server ] prepositions: to
|
| 152 |
append [response] prepositions: to, into
|
| 153 |
+
stage [own ] prepositions: to, for
|
| 154 |
+
commit [export ] prepositions: to, with
|
| 155 |
+
pull [request ] prepositions: from
|
| 156 |
+
push [export ] prepositions: to, with
|
| 157 |
+
clone [request ] prepositions: from, with, to
|
| 158 |
+
checkout [own ] prepositions: from, to, with
|
| 159 |
+
tag [export ] prepositions: for, with
|
| 160 |
parse [own ] prepositions: from
|
| 161 |
parsehtml [own ] prepositions: from
|
| 162 |
map [own ] prepositions: from, to
|
model.safetensors
CHANGED
|
@@ -1,3 +1,3 @@
|
|
| 1 |
version https://git-lfs.github.com/spec/v1
|
| 2 |
-
oid sha256:
|
| 3 |
size 4607835164
|
|
|
|
| 1 |
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:f61b4732c4c18838e0bc03cac9e8c84073cf811250bd999c42305604cafb0bb8
|
| 3 |
size 4607835164
|
tokenizer_config.json
CHANGED
|
@@ -6,6 +6,7 @@
|
|
| 6 |
"eos_token": "<|im_end|>",
|
| 7 |
"errors": "replace",
|
| 8 |
"is_local": true,
|
|
|
|
| 9 |
"model_max_length": 131072,
|
| 10 |
"pad_token": "<|endoftext|>",
|
| 11 |
"split_special_tokens": false,
|
|
|
|
| 6 |
"eos_token": "<|im_end|>",
|
| 7 |
"errors": "replace",
|
| 8 |
"is_local": true,
|
| 9 |
+
"local_files_only": false,
|
| 10 |
"model_max_length": 131072,
|
| 11 |
"pad_token": "<|endoftext|>",
|
| 12 |
"split_special_tokens": false,
|