Skip to content
v0.14.0 · Apache-2.0 · local-first

Ultra-fast, non-autoregressive encoder engine for structured intent and choice classification.

LLMs generate text. Tachyone produces calibrated decisions.
3.83 ms p50 latency · non-generative (no hallucinated labels) · calibrated confidence · local-first on consumer GPUs.

Get started View on GitHub

Tachyone answers atomic typed questions — choice, score, and noul — in a single forward pass and returns probabilities plus calibrated confidence. It speaks the exact TypeSafe Jev /v1/systemone wire protocol, so an existing Jev client can be repointed at a Tachyone server with no code changes.

3.39 msp50 fast path (CUDA graphs, RTX 3060, mmBERT, batch=1)
99.8%English five-domain accuracy (v0.9.0, B-15)
98.3%English accuracy on phrasing never seen in training (holdout, 0% template overlap)
38.3JevBench Intelligence — cross-encoder candidate (v0.14.0, measured; composite 35.16 vs 2.17)
0.000559fast-path probability parity Δ (0 top-label flips)

Why Tachyone

  • Sub-5 ms speed


    Per-shape CUDA graphs with bf16-resident weights, wired behind TACHYONE_FAST=1. Graceful fallback on CPU/MPS: the fast path never changes the response shape.

  • Permutation-equivariant choice head


    A dedicated low-rank bilinear residual (r=32) on top of the cosine baseline, so option order never biases the answer and the number of options is free (1–255).

  • Native multilingual


    An mmBERT-based checkpoint (LoRA rank 64) trained and calibrated per language for pt, es, fr, de, it, and nl, with automatic script/language routing.

  • Calibrated confidence


    Strictly proper scoring (RLCD) plus per-(primitive, language) calibration: temperatures keyed by a detector that reads the state and the localized question, and — since B-16 — a fitted peakedness × strength confidence for multilingual choice/score. On phrasing never seen in training, all 12 (primitive, language) cells now sit at ECE ≤ 0.05 (B-17, 2026-10-10 — from 5 of 12 at B-15; worst cell score/fr 0.0257, score/it 0.1495 → 0.0014): B-1's NFR-C06 acceptance is CLOSED on the frozen yardstick. Every label is derived from the text it accompanies (B-11 + B-12), and the label audit published with the accuracy reports 0 contradictory rows.

  • Decisions, not text


    LLMs generate text. Tachyone produces calibrated decisions. Head-to-head against a small local model, against Jev, and against open System One scorers — with the numbers and the method notes: Compare.

  • Local-first, drop-in


    Base install runs offline with no API key. Same /v1/systemone contract as Jev; extensions (router control, hooks, predict_batch, MCP, LangChain) are additive only.

  • Portable runtimes


    Encoder, ONNX, and an optional LLM backend behind the same seam; the wire never depends on which engine answers.

Quickstart

Not yet on PyPI

Tachyone is distributed from source for now. Install directly from GitHub (requires git and Python 3.12).

git clone https://github.com/munod/tachyone
cd tachyone
uv sync
uv run tachyone --predict --preset triage --backend fake "refund please"
git clone https://github.com/munod/tachyone
cd tachyone
pip install .
tachyone --predict --preset triage --backend fake "refund please"
# Requires tachyone installed (see the uv / pip tabs)
from tachyone import TachyoneClient
from tachyone.primitives import ChoiceQuestion

client = TachyoneClient("http://127.0.0.1:8000")
result = client.system_one(
    "I need a refund for a duplicate charge.",
    {"team": ChoiceQuestion(
        instructions="Which team should handle this request?",
        criteria={"billing": "payments and refunds", "technical": "bugs and outages",
                  "sales": "pricing and upgrades", "other": "general questions"},
    )},
)
ans = result.answers["team"]
print(ans.choice, ans.confidence, ans.probabilities)
git clone https://github.com/munod/tachyone
cd tachyone
uv sync --extra serve
uv run tachyone-serve

curl -s http://127.0.0.1:8000/v1/systemone \
  -H "Content-Type: application/json" \
  -d '{"state":"hello","model":"tachyone-latest",
       "questions":{"q":{"type":"noul","instructions":"Is this a greeting?"}}}'

Benchmarks

Measured on NVIDIA L4 23GB (v0.9.0, B-15; full tables and reproduction commands in the benchmark report).

Overall accuracy by language — multilingual, five-domain split (routed pair)

pt96.5%
es95.8%
fr95.0%
it93.3%
de91.8%
nl80.7%

Both published checkpoints pinned (since B-19 the router keys on the same detector as calibration — state + localized question — and only 0.05% of rows reach the English one by design, L-013; the multilingual checkpoint alone answers 99.6% when it answers everything). Labels are derived from the text (B-11/B-12, 0 contradictory); temperature fitted per (primitive, language).

The honest generalization number — holdout phrasing, 0% of templates shared with training

pt95.4%
es95.0%
fr94.9%
it94.7%
de92.8%
nl83.1%

B-17's holdout evals (2026-10-10): training excluded the holdout template pool, so this measures phrasing generalization instead of recognition (overall 92.6% multilingual / 98.3% English — the generalization gap collapsed from −11.1 to −1.7 points after the teacher expanded the tone banks). The distance between the two charts is the generalization gap — and B-1's per-language ECE ≤ 0.05 target now passes all 12 cells on this set (worst `score/fr` 0.0257): B-1's NFR-C06 acceptance CLOSED (numbers in BACKLOG B-17; the frozen yardstick's sha pins never moved).

p50 latency — stock forward vs CUDA-graph fast path

stock13.91 ms
fast3.82 ms

mmBERT + checkpoints/multi, batch=1, 189 states. 3.64× p50 speedup; p95 15.88 → 3.94 ms. Measured on the v0.9.0 artifact (NVIDIA L4, 2026-10-08) — the fast path itself is unchanged.

How it compares

Mirrors the canonical table in overview.md.

Jev Laya Needle Tachyone
Wire contract /v1/systemone (hosted) /v1/systemone (self-hosted) Own tool/embedding API Jev-exact, self-hosted
Hosted dependency Required None None (device engine) None in core
LLM backend — No (encoder only) No Yes (optional)
Encoder backend Own model Yes Yes (2-bit) Yes (ModernBERT/mmBERT + LoRA)
ONNX backend No Yes Yes Yes (onnx extra)
MCP / LangChain No Yes No Yes
Multilingual Yes Yes (mmBERT) Partial Yes (100+ routed, 6 trained)
Fast path Proprietary No Quantized CUDA graphs (fast extra)
Extension model n/a Router, hooks Grammar, telemetry Router, hooks, batch (additive)
License Proprietary service Apache-2.0 Open Apache-2.0

Start here