Ternlight je čerstvý pokus, jak dostat sémantické hledání z cloudu zpátky k uživateli. Demo ukazuje prohledávání zhruba dvou tisíc stránek dokumentace Reactu přímo v prohlížeči, bez serverového volání a bez toho, aby se dotaz posílal někam bokem. Na npm se balíček @ternlight/mini objevil 5. července 2026. Za projektem stojí repozitář soycaporal/ternlight, na npm je jako správce balíčku uveden účet wenshutang.
Hlavní pointa je prostá: model, tokenizer i inferenční engine jsou zabalené do jednoho WebAssembly souboru. U varianty mini jde podle npm stránky o balíček kolem 5,5 MB a latenci pod dvě milisekundy na jeden embedding na M-series CPU. Repo v hlavním přehledu pracuje s trochu jinými čísly, mluví o zhruba pětimegabajtovém komprimovaném Wasmu a p50 latenci 2,5 ms. Rozptyl je malý a pro praktické čtení říká jediné: Ternlight míří na situace, kde se počítá každá milisekunda a kde klasické API volání působí těžkopádně.
Technicky je to zajímavější, než vypadá na první dobrou. Projekt vychází z modelu all-MiniLM-L6-v2, ale převádí ho do ternárních vah -1, , +1 a běh pak staví na ručně psaném Rust enginu přeloženém do Wasmu se SIMD instrukcemi. Architektura mini má podle dokumentace dvě transformer vrstvy, d_model=256, čtyři attention heads a zhruba 9,5 milionu parametrů. Výstupem je normalizovaný vektor o 384 dimenzích, který se dá rovnou použít pro FAQ matching, vyhledávání nebo jednoduchý reranking.
Na tom všem je nejzajímavější použití, ne laboratoř. Ternlight cílí na prohlížeč, Cloudflare Workers, Vercel Edge, Deno, Bun i Node 18+, tedy přesně na místa, kde je fajn neplatit za každé zavolání modelu a neřešit, kam odtékají uživatelské dotazy. V dokumentaci padá i Obsidian, desktopové aplikace nebo statické weby s lokálním hledáním. Jestli se z toho stane větší trend, je brzy soudit. Už teď je ale vidět docela střízlivá věc: pro část AI funkcí může být menší model v Wasmu užitečnější než další backend nalepený na cizí API.
Zdroje: