File size: 2,763 Bytes
f390a61
ddbabaf
 
f390a61
ddbabaf
 
 
f390a61
ddbabaf
f390a61
ddbabaf
 
 
 
 
97ab25e
9d9d134
ddbabaf
 
 
 
 
 
 
 
 
 
 
 
 
 
 
a8eea75
 
 
 
 
 
 
 
 
 
 
 
 
 
ddbabaf
 
 
 
 
 
a9dcc20
97ab25e
 
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
---
license: cc-by-nc-4.0
base_model: openjev/openjev
tags:
- decision-model
- zero-shot-classification
- agents
- mlx
- apple-silicon
---

# OpenJev, MLX 8-bit (Apple silicon, text only)

The language model of [OpenJev](https://huggingface.co/openjev/openjev) converted for Apple silicon with mlx-lm (8-bit, group size 64), about 27 GB. Everything about the model, the API and the results is in the main card; this page says what this build is, how it was checked and how to run it.

**

**Text only.** The converter keeps the language model and drops the vision tower, so this build answers questions about text, JSON and DOM, not screenshots.

## Measured, not assumed

The same frozen 10,000 text questions, the same helper code, the same fixed calibration, on a Mac (M5 Max):

| test | 16-bit model as served on an H100 | this MLX build on a Mac |
|---|---|---|
| 10,000 text questions, 34 public sources | 84.03% (8,403) | 84.03% (8,403); 72 questions each way, 95% interval −0.24 to +0.22 points |

1.5% of individual answers change between the two (150 of 10,000), in both directions. The rule fixed before the run was "no more than 0.5 points below the served model"; it passes. Speed on the M5 Max was about 0.3 s for a short text decision (the run took 80 minutes for 10,000 questions, one at a time).

## Run it

```bash
uv venv mlx --python 3.12
uv pip install --python mlx/bin/python "mlx==0.32.2" "mlx-lm==0.31.3" \
  "transformers==5.17.0" "openai==3.16.2" "huggingface-hub==1.32.0"

# Download the text-only weights and the two helper files.
mlx/bin/hf download openjev/openjev-MLX --revision ddbabafe9fbf296d767a91ad99717752530a3927 --local-dir openjev-MLX
mlx/bin/hf download openjev/openjev helper/shim.py helper/shim_mlx.py \
  --revision 1c341f65bfe5d50fdb935c71e9739c9e0938d6c4 --local-dir openjev-api

TOKENIZER=openjev-MLX SHIM_MODEL=openjev-MLX \
READOUT_T=0.85 READOUT_NOUL_T=1.829074 READOUT_NOUL_BIAS=0 \
READOUT_TARGETED=1 READOUT_INSTR_STYLE=pyrepr SHIM_STAGGER=1 \
  mlx/bin/python openjev-api/helper/shim_mlx.py \
  --helper openjev-api/helper/shim.py --model openjev-MLX --port 3000
```

Then call `http://localhost:3000/v1/systemone` exactly as the main card describes. `shim_mlx.py` swaps only the helper's model client for an MLX one; prompts, option layout, readout and calibration are the helper's own code.

## Licence

Weights: CC BY-NC 4.0 (research and non-commercial use), the same as the main repository. For a commercial licence, email [support@loopai.com](mailto:support@loopai.com). Helper and serving files: Apache 2.0. The licence texts and the base model's attribution are in `LICENSE`, `LICENSE-APACHE-2.0` and `NOTICE`.

OpenJev is an independent project, not affiliated with TypeSafe; Jev is their product.