En vanlig embedding-modell betyr enten et API-kall til en ekstern tjeneste eller en nedlasting på hundrevis av megabyte og en GPU for å kjøre den. Ternlight snur på det: hele modellen, motor og vekter, er 7 MB, en mini-variant er 5 MB, og den kjører på CPU uten en eneste servertur. Prosjektet er MIT-lisensiert og distribueres som én npm-pakke, uten et eget nedlastingssteg for vektene.
Trikset er arkitekturen. Ternlight bruker ternære BitLinear-vekter, altså vekter som bare tar verdiene minus én, null eller én, i en Transformer. Det holder modellen liten nok til å sendes med i en frontend-bundle og rask nok til å svare på rundt 5 millisekunder per kall. Demoen på nettsiden lar deg søke i Reacts dokumentasjon direkte i nettleseren, drevet av 5 MB-varianten kompilert til WASM.
For deg som bygger søk eller gjenfinning i en app betyr det at semantisk likhet kan skje på klienten. Ingen vektordatabase i skyen, ingen API-nøkkel, ingen nettverkslatens, og tekst som aldri forlater maskinen. Bruksmønsteret er enkelt: npm install @ternlight/base, deretter embed og similar mot en liste med kandidater.
Hva bør du gjøre?
- Installer
@ternlight/baseog kjør etsimilar-kall mot noen titalls tekstbiter for å måle treffkvaliteten mot din egen data før du bytter ut et API. - Vurder 5 MB-mini-varianten hvis søket skal ligge i nettleseren, der bundle-størrelse betyr mest.
- Test recall på ditt eget domene: en 7 MB-modell taper mot store embedding-modeller på nyanserte spørringer, så sammenlign før produksjon.