andrea bozzo / personal home page

← Tutti i progetti

projects / lance-bridge

Python · LanceDB · NATS JetStream · Embeddings · Apache Arrow

Lance Event Bridge

Indicizzazione semantica da stream di eventi live verso LanceDB senza tirare su un database vettoriale separato.

Un bridge Python che consuma batch di eventi JetStream, li normalizza in uno schema LanceModel, calcola gli embedding e li scrive in LanceDB, così uno stream live diventa una superficie locale di ricerca semantica.

Perché esiste

C'è un divario ricorrente tra stream di eventi live e ricerca semantica a basso footprint. Molti team vogliono embedding su eventi freschi, ma non l'overhead operativo di un cluster di database vettoriale separato. Lance Bridge esplora il percorso più sottile: tenere il feed eventi durabile in JetStream e poi proiettare gli eventi selezionati in uno store LanceDB locale che si può cercare semanticamente senza diventare un'altra piattaforma intera.

Centro tecnico

Il bridge consuma batch JetStream, normalizza i payload, calcola gli embedding con il model registry di LanceDB o con chiamate esplicite di batch embedding, e scrive righe LanceModel in uno store locale che si può poi interrogare come tabelle Arrow. Il centro tecnico è il passaggio: gli eventi di stream hanno bisogno di identificatori stabili, normalizzazione del payload, metadata di embedding e scelte di layout dello storage che rendano comunque possibili compattazione successiva e letture zero-copy.

Prove correnti

L'articolo pubblico espone già la vera superficie ingegneristica invece di vaghe promesse: il modello di schema, il flow di embedding, l'handler dei messaggi NATS, le note sulla compattazione, le letture Arrow zero-copy e 2 PR tracciate in lance-format/lance che mostrano familiarità diretta con gli interni dello storage. Il bridge è intenzionalmente piccolo, ma collega due idee utili: i sistemi a eventi sono bravi sulla freschezza e Lance è bravo sull'accesso analitico e vettoriale locale.

Lance Format and LanceDB cover artwork
The storage side of the bridge: random-access columnar files, native vector indexing, and Arrow-first interoperability.
Nephtys connector matrix card
The streaming side: Nephtys and JetStream provide the event feed that the bridge turns into a semantically searchable local store.