Instructions to use Enriqueag26/keysay-concise-0.8B with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- MLX
How to use Enriqueag26/keysay-concise-0.8B with MLX:
# Download the model from the Hub pip install huggingface_hub[hf_xet] huggingface-cli download --local-dir keysay-concise-0.8B Enriqueag26/keysay-concise-0.8B
- Notebooks
- Google Colab
- Kaggle
- Local Apps Settings
- LM Studio
keysay-concise-0.8B
Turns rambling dictation into the short, direct message you meant to send, for keysay.
hey so I wanted to tell Laura to review her last pr about the the the latest bug
we saw about the thing the thing that Luis reported about the duplicated texts
-> Laura, please review your last PR about the latest bug we saw: Luis reported
about duplicated texts.
Companion to keysay-transcription-cleaner-0.8B-v2, which is deletion-only. This model rewrites — it reorders clauses, adds function words, and turns narration into direct address. That freedom is what makes it useful and also what makes it riskier, so the training data was built around a different guarantee.
What it will not do
Because the output is pasted without the original in view, invented facts are undetectable at the point they do damage. Every training pair was rejected unless it satisfied:
- no invented entities — no person, place, date or quantity the speaker did not say. "when you can" never becomes "by Friday".
- relay preserved —
dile a Carmen que...means you are messaging somebody else and asking them to pass it on. The output keepsDile a Carmen que...rather than re-addressing the message to Carmen. Every name survives that mistake, so it needs its own check. - names verbatim — a model cannot know which spelling of a proper noun is right, and one trained to fix them corrupts correct ones. Use keysay's per-user replacement list for that.
- short messages left alone — a message that was already clear comes back essentially unchanged.
Results
44 held-out hand-authored scenarios, ~50% Spanish. The eval set is deliberately not generated by the model that produced the training data, so blind spots shared between teacher and student stay visible.
| metric | |
|---|---|
| invented a fact | 0 / 44 |
| relay preserved | 100% (n=7) |
| already-tight left alone | 100% (n=12) |
| dropped a stated fact | 1 / 44 |
| compression on rambles | 71% |
Usage
from mlx_lm import load, generate
model, tokenizer = load("Enriqueag26/keysay-concise-0.8B")
prompt = tokenizer.apply_chat_template(
[{"role": "system", "content": SYSTEM_PROMPT},
{"role": "user", "content": "oye dile a carmen que la reunión es el lunes no espera el martes a las diez"}],
tokenize=False, add_generation_prompt=True, enable_thinking=False,
)
generate(model, tokenizer, prompt=prompt, max_tokens=200)
# -> "Dile a Carmen que la reunión es el martes a las 10."
SYSTEM_PROMPT:
You turn rambling dictated speech into the short, direct message the speaker meant to send.
Lead with the actual request. Never invent anything the speaker did not say.
Never change who the message is addressed to. Keep the original language.
Training
LoRA via mlx_lm on Qwen3.5-0.8B-8bit — 16 layers, rank 8, 1800 iters, lr 3e-5.
4,196 synthetic pairs from two generators, because neither model could do both halves: gemini-3-flash writes convincingly messy dictation but drops stated reasons when rewriting, while gpt-5.6-sol rewrites faithfully but cannot write convincing rambling. So gemini generates the inputs and Sol rewrites them. The corpus deliberately spans both a light-disfluency and a heavy-rambling regime rather than averaging to a middle that resembles neither.
320 pairs are hand-written contrast sets for words that are both retraction cues
and ordinary vocabulary — espera/wait, mejor, digo, perdón,
actually — each appearing in both roles. Without them the model read
no espera a las siete as content and kept the retracted time.
Known limitations
- AM/PM is inferred, sometimes wrongly.
a las ocho y mediafor a school trip came back as20:30. If a time matters, check it. - A named third party can be mistaken for the addressee. "lo del cole de
Nacho" produced a message addressed to Nacho. Explicit relay phrasing
(
dile a X) is handled correctly; a bare mention is not always. - Very long rambles occasionally shed a secondary qualifier.
- Tuned for Spanish and English chat-style dictation.
- Downloads last month
- -
8-bit