A small starting point for text workflows
Use the 0.8B release to explore ticket classification, intent routing, and other defined choices before committing to a larger model. A request can contain several typed questions about one shared text or JSON input.
| Build | Use on | Published weight sizes |
|---|---|---|
| PyTorch / safetensors | CUDA, CPU, Apple MPS | 1.50 GB |
| MLX | Apple silicon | 1.50 GB bf16 / 0.80 GB 8-bit |
| GGUF | Matching llama.cpp scorer | 1.52 GB F16 / 0.81 GB Q8_0 / 0.53 GB Q4_K_M |
Allow additional memory for the runtime and inputs. The 0.53 GB figure is the Q4_K_M weight file size, not the default download or total memory requirement.
Start the default release
Use Python 3.10 or newer in a virtual environment. Install the backend for your machine, then keep the server running in this terminal.
# Apple silicon
python -m pip install "jev-style[mlx]"
# Linux, Windows, or an Intel Mac: use this instead
# python -m pip install "jev-style[torch]"
jev-style serve --release 0.8bThe first run downloads the model. Once it is ready, open the local Playground. Run the Python examples in a second terminal with the same environment.
On Apple silicon, jev-style serve --release 0.8b --precision 8bit selects the smaller MLX 8-bit weights. On CPU, use the PyTorch installation and jev-style serve --release 0.8b --backend torch --device cpu.
Ask about a customer message
Run this in a second terminal. It prints the actual selected label, probabilities, and confidence from your server.
import json
from jev_style import JevStyle, choice
with JevStyle(base_url="http://127.0.0.1:8765") as model:
result = model.decide(
"My parcel has not arrived. Can you check the tracking?",
{"team": choice("Which team should handle this request?", {
"billing": "Charges and invoices",
"shipping": "Parcels, delivery, and tracking",
"account": "Account access and settings",
})},
)
print(json.dumps(result["answers"]["team"], indent=2))Compare on the task you care about
The published model card reports 64.1% on the 231 public JevBench v1.4.1 items, 68.2% on Banking77, and 75.5% on zero-shot tweet_topic. These datasets test different tasks. Training covers 19 languages; the project reports evaluation across 51 languages.
Short requests using MLX on an M1 Max are reported at approximately 0.15–0.2 seconds after the first call. That is a specific warm-run example, not a promise for every machine or input. Read the model card for protocols and measure your own dataset before choosing an automation threshold.
Keep the limits visible
This release accepts text and JSON, with a total request limit of 25,600 tokens. It does not read images or generate free-form explanations. Use 2B v4 with PyTorch for image questions.
GGUF weights require the release’s jev-score decision scorer. Loading the weights into a generic Ollama, LM Studio, or llama.cpp text-generation workflow does not produce these decision outputs. Use the documented backend setup.
Probability calibration can change across domains. Preserve a review path for ambiguous or unfamiliar inputs and validate each language and class relevant to your application.