Ho scoperto qualcosa che definisco un “colpo di genio nerd”: MemVid, una libreria open-source che trasforma milioni di chunk testuali in un unico file .mp4 e permette ricerche semantiche in meno di 100 ms. Sì, hai letto bene: un video che funziona come database semantico. Se sei stanco dei costi infrastrutturali dei vector DB, questo è uno spunto che ti farà alzare un sopracciglio (o due).
All’origine c’è l’idea: usare i codec video non solo per immagini, ma per memorizzare dati testuali strutturati, sfruttando la sorprendente efficienza con cui i codec (AV1, H.265, ecc.) comprimono pattern visivi ripetitivi. MemVid è già su GitHub con licenza MIT. Lo trovi su GitHub.
Testo diviso in chunk → ciascun chunk codificato in un QR code → QR inserito in un frame video → frames assemblati in file MP4. Nel frattempo, associ gli embedding del testo al numero del frame corrispondente, così che, quando fai una query, il sistema trovi il frame giusto, decodifichi il QR e restituisca il testo corrispondente. Il video diventa la “memoria semantica portatile”.
Le metriche che circolano non sono da poco: indicizzazione a ~10.000 chunk/secondo su CPU moderne, ricerca sotto i 100 ms anche con 1 milione di chunk, compressione tale che 100 MB di testo finiscono in 1-2 MB di video. L’efficienza – affermano gli autori – è 50-100× superiore rispetto ai tradizionali vector DB.
Quel che trovo provocatorio: è come passare da SQL a… “SQL video”. È SQLite per AI, ma invece di tabelle hai frame MP4. Nessun server da gestire, niente Docker complicati, accesso offline, trasferimento come file multimediale.
Ma ovviamente non è magia priva di ambiguità. Se uno volesse aggiornare un singolo chunk all’interno del video? Bisogna ricodificare. Se la compressione è troppo aggressiva e il QR diventa rumoroso, il decodificatore potrebbe fallire. Le operazioni concorrenti di scrittura sono praticamente inesistenti: è un file “append-only” o “ricodificabile”.
In certi ambienti edge, offline e “embedded”, MemVid ha senso pratico: vuoi spedire una knowledge base a un cliente che non può avere DB installati, vuoi memoria semantica che funzioni anche in ambienti isolati, vuoi minimizzare dipendenze. Alcuni sviluppatori già lo usano con LLM locali come Ollama per ambienti autonomi.
Reddit è più scettico: qualcuno la chiama “vibe coding”, qualcuno mette in dubbio la sensibilità dell’approccio rispetto a DB consolidati, altri dicono che l’idea è bella, ma serve benchmarking serio. “Stai mettendo QR code in video per farlo somigliare a un DB” è una critica ricorrente.
Se fossi il CTO di un’azienda AI, ci guarderei con interesse. Lo proverei su dataset medi (10⁵–10⁶ chunk) e misurerei latenza / compression / robustezza. Lo affiancherei a un sistema tradizionale per confronti reali. Se regge, potr