Ternlight e la ricerca semantica nel browser
Ternlight è un modello di embedding da 7 MB che esegue operazioni di semantic search direttamente nel browser attraverso WebAssembly. La notizia è emersa su Hacker News con un demo che integra il motore su documentazione React. Il pacchetto include pesi ternari e layer transformer ottimizzati per l'esecuzione locale senza chiamate di rete dopo il caricamento iniziale.
Architettura e implementazione tecnica

Il modello utilizza pesi ternari attraverso BitLinear per ridurre la dimensione complessiva. Le componenti principali comprendono layer transformer con attention heads, una dimensione del modello definita e un output limitato a un massimo di token in ingresso. L'inizializzazione del motore avviene in WASM e il bundle rimane sotto i 7 MB dopo la prima cache.
Il demo riporta metriche concrete: latenza per singola chiamata embed(), throughput in embedding al secondo sulla CPU del client e tempo di elaborazione cumulativo. L'integrazione prevede funzioni come embed() che restituiscono vettori utilizzabili per confronti di similarità senza mantenere stato tra componenti React.
Integrazione in applicazioni web
Per chi sviluppa con React o Next.js, Ternlight permette di spostare la generazione di embedding sul client. Questo elimina la dipendenza da endpoint esterni per query semplici e riduce la latenza di round-trip. Il pacchetto supporta la condivisione di stato tra componenti e l'esecuzione di codice dopo il render senza prop drilling aggiuntivo.
Il consumo di risorse rimane contenuto perché il modello gira su CPU del browser. In scenari di ricerca interna a documentazione o cataloghi, il throughput misurato nel demo risulta sufficiente per interazioni in tempo reale su dispositivi moderni.
Limiti pratici nell'uso quotidiano

La dimensione ridotta comporta un compromesso sulla qualità degli embedding rispetto a modelli più grandi. Per task che richiedono alta precisione semantica, i risultati possono risultare inferiori a quelli ottenuti con modelli server-side. L'esecuzione in WASM dipende inoltre dalle prestazioni della CPU del client e non sfrutta accelerazione GPU nel browser.
Il caricamento iniziale richiede il download del bundle, anche se le esecuzioni successive restano locali. Chi gestisce applicazioni con volumi elevati di query deve valutare il carico sulla CPU dell'utente finale prima di adottare questo approccio in produzione.
FAQ
Ternlight funziona offline dopo il primo caricamento? Sì, il modello viene memorizzato nella cache del browser e tutte le chiamate successive avvengono localmente senza traffico di rete.
Quali framework supporta l'integrazione? Il demo mostra l'uso con React, ma il motore WASM può essere richiamato da qualsiasi applicazione JavaScript che supporti WebAssembly.
La qualità degli embedding è paragonabile a modelli più grandi? No. La riduzione a pesi ternari e la dimensione di 7 MB comportano un calo di accuratezza rispetto a modelli server-side di dimensioni superiori.
---
📖 Leggi anche
- Agentic Coding: Una Trappola per lo Sviluppo Software?
- Claude Code: da prompt a agente con skills e subagent
- File agents.md: utili per gli agenti di coding?
Hai bisogno di una consulenza?
Aiuto aziende e startup a sviluppare software, automatizzare processi e integrare AI. Parliamone.
Scrivimi