Skip to content

Built-in models

Yttri ships with a set of models that run right on the device — no internet, no data sent out.

4 billion parameters, Q4_K_M quantization (~2.7 GB on disk), plus a separate vision module (~670 MB) for describing images and screenshots. Needs at least 16 GB of RAM and a GPU — Apple Silicon (Metal) or NVIDIA (CUDA).

What it does: tags, mail and note summaries, mail translation, fact extraction, image descriptions, drafts — the workhorse of background processing, the stuff that isn’t visible in chat but runs constantly in the background.

How well: fast and accurate enough for routine work. On complex multi-step reasoning or long creative writing, 4 billion parameters objectively fall short of top-tier cloud models an order of magnitude larger — that’s a property of size, not a flaw specific to this model.

Search — multilingual-e5-base and Qwen3-Reranker-0.6B

Section titled “Search — multilingual-e5-base and Qwen3-Reranker-0.6B”

Two models work as a pair. First the embedder (multilingual-e5-base, 768 dimensions) turns text into a vector and quickly finds candidates by meaning — across several languages at once, without exact word matches. Then the reranker (Qwen3-Reranker-0.6B) reads each candidate carefully and refines the order: it’s slower than the embedder but more precise, so it only runs on the short list the embedder already narrowed down.

What it does: search across notes, mail, documents and recordings; matching entities for the wiki and the link graph.

How well: both models are small and run on the CPU, no GPU needed — the quality trade-off is less noticeable here than for the language model: semantic search inside your own personal corpus doesn’t need a model the size of a cloud one.

Four models with different roles, downloaded on demand:

  • Nemotron 3.5 ASR (streaming) — the default model, downloaded automatically on first launch. 40 locales, full (“Tier-1”) support for Russian, beam-search decoding. Built for streaming transcription — what you see on screen during a recording, before it even stops.
  • NVIDIA Parakeet TDT — 25 European languages, a published accuracy of 5.51% word error rate for Russian.
  • Qwen3-ASR — multilingual, robust to noise and poor audio.
  • GigaAM-v3 (Sber) — specialized for Russian speech.

How well: live transcription during a recording and the final pass after you stop are different runs: the first is tuned for latency (so the text keeps up with speech), the second for quality. The model for your own recordings is set in Settings; for imported audio you choose it at import time.

The assistant reads answers aloud with the built-in TeraTTSv2 model (~472 MB, ONNX, runs on the CPU). A single model reads both Russian and English — no engine switching, and it tags the language by script on its own.

Russian stress marks come from a separate layer built on RUAccent: a stress dictionary, a model for unknown words, «ё» restoration and context-based homograph resolution — without the last one Russian words that differ only by stress would be read at random.

How fast: roughly 20× faster than real time on the CPU — one second of speech takes about 50 milliseconds to synthesize, so replies start playing without a noticeable pause.

Speech can be turned off under Settings → Recording and voice → Speak answers.

Two tiny ONNX models: a text-boundary detector (~4.8 MB) and a character recognizer for Russian, Belarusian, Ukrainian and English (~7.9 MB). Together, about 13 MB, and they run on the CPU.

What it does: turns text in screenshots and scanned documents into plain text before the vision model even gets involved — often instead of it.

How well: it exists for a concrete reason — it replaced the vision model exactly where that model kept “guessing” text in screenshots instead of reading it precisely. On text-dense images, OCR is faster and more reliable: it finds the actual characters instead of the LLM’s best guess.

Why the built-in model isn’t a compromise

Section titled “Why the built-in model isn’t a compromise”

The built-in model isn’t “plug in any model and hope for the best.” Each one listed above has its own inference written for it: an engine and generation parameters tuned specifically for that model, not averaged across every model at once.

Those parameters aren’t set once by hand — they’re checked by automated tests against reference examples (tags, mail summaries, translations, meeting breakdowns) and only updated when the new version is no worse than the old one, otherwise it’s rolled back automatically. A third-party cloud model can change without warning and without that kind of check on your side.

That doesn’t erase the size difference — the language model is more compact than a cloud one, and it shows on harder summaries. But within its size, it’s tuned and validated in a way a third-party service can’t be — which is why it’s the default for background tasks (more in “Background tasks: the decision that matters” on the router page): not only for privacy, but as a reliable, predictable worker for routine tasks.