rhymeas/Mavery-Lehrling-0.8B-MLX-4bit
Mavery App · Lehrling 0.8B
A small bilingual dictation finisher built to run locally on Apple silicon.
Built for Mavery App — the Mac app that turns spoken thoughts into text wherever you are writing.
Lehrling takes the rough text produced by a speech recognizer and turns it into cleaner written German or English. It removes obvious verbal clutter, resolves clear self-corrections, improves punctuation and capitalization, and keeps the result in the language you spoke.
It is the compact member of Mavery App's local model family: small enough for the fast path, focused enough to do one job, and open so other dictation products can build on it.
audio → ASR such as Parakeet or Whisper → Mavery Lehrling → paste-ready textWhat it is good at
- German and English dictation cleanup
- mixed-language input without automatic translation
- obvious fillers, repetitions and abandoned starts
- clear spoken repairs such as
Donnerstag, ich meine Freitag - capitalization, punctuation and readable sentence boundaries
- local MLX inference without sending transcript text to a model API
Lehrling is a text model, not a speech recognizer. Give it an ASR transcript; it returns only the cleaned transcript.
What the job looks like
These examples describe the intended cleanup behavior. Exact output still depends on the prompt and transcript produced by your ASR.
Choose your Mavery model
Quickstart with MLX
pip install mlx-lmfrom mlx_lm import load, generate
from mlx_lm.sample_utils import make_sampler
MODEL = "rhymeas/Mavery-Lehrling-0.8B-MLX-4bit"
SYSTEM = (
"Clean up dictation. Apply clear spoken self-corrections; keep quotations "
"and examples literal. Otherwise preserve wording and language. Output text only."
)
RAW = "wir treffen uns donnerstag äh ich meine freitag um zehn"
model, tokenizer = load(MODEL)
messages = [
{"role": "system", "content": SYSTEM},
{"role": "user", "content": f"[TEXT TO PROCESS]\n{RAW}\n[END TEXT]"},
]
prompt = tokenizer.apply_chat_template(
messages,
tokenize=False,
add_generation_prompt=True,
enable_thinking=False,
)
print(generate(
model,
tokenizer,
prompt=prompt,
sampler=make_sampler(temp=0.0),
max_tokens=192,
verbose=False,
))Use greedy decoding and disable thinking. Keep the original ASR transcript available as a fallback: cleanup models can still remove or change content.
Training data
The internal LIRA data package contains 26,669 reviewed rows split into 18,683 training, 3,993 development, and 3,993 locked evaluation rows. It covers German, English, mixed-language dictation, self-corrections, repetitions, fillers, punctuation, preservation cases, names, numbers, negations, and quoted text. Later refinement runs added targeted repair and preservation examples.
The dataset itself is not included in this repository. Private dictations were not uploaded. The published weights are the usable artifact; the development and locked splits are described here so the scale and evaluation boundary stay visible.
Built for Mavery App
Lehrling is based on Qwen3.5-0.8B, fine-tuned for Mavery App's post-ASR cleanup task and exported as 4-bit MLX weights for Apple silicon. The model is designed to sit inside a wider dictation pipeline with deterministic formatting and independent content protection around it.
This repository contains the real trained artifact used by Mavery App. It is not a renamed vanilla Qwen model.
Artifact
- Base:
Qwen/Qwen3.5-0.8B - Format: MLX safetensors
- Quantization: 4-bit affine, group size 64
- Weight SHA-256:
a8c3309cb13207d6450fc7ba67f03bf68e0a5a0d97ffb1c5abb27b7d2254af68 - Languages trained for this use: German and English
Training data and private dictations are not included in this repository.
Learn more and download the Mac app at mavery.app.
License
Apache 2.0. See LICENSE and NOTICE. Mavery App fine-tuned and exported the model from Qwen3.5; retain the applicable notices when redistributing it.
