Un'interfaccia web semplice per codificare documenti PDF e file di testo in formato Memvid.
Memvid è una libreria Python per la creazione di knowledge base basate su video QR code che permette:
- Suddividere e codificare dati testuali in video di codici QR
- Ricerca semantica veloce e recupero dai video QR
- Interfaccia conversazionale AI con memoria contestuale
- Avvia l'app con
python run.py - Carica un file PDF o un file di testo/markdown
- Regola i parametri avanzati (opzionale)
- Premi il pulsante "Codifica Documento"
- Scarica il file video MP4 e il file indice JSON generati
- Dimensione Chunk: Quanti caratteri includere in ogni frammento di testo (chunk)
- Sovrapposizione: Quanti caratteri sovrapporre tra chunk consecutivi
- FPS: Frame per secondo nel video generato (influenza la densità di dati)
- Dimensione Frame: Dimensione dei frame del codice QR (in pixel)
uploads/: Cartella per i file caricatioutputs/: Cartella per i file generatidebug.py: Script per verificare l'ambientecheck_api.py: Script per verificare l'API di Memvidesempio_base.py: Esempio di utilizzo senza interfacciasimple_app.py: Versione semplificata dell'interfaccia web
Da notare che l'API di Memvid ha alcune particolarità:
# Inizializzazione
encoder = MemvidEncoder() # Non accetta chunk_size/overlap nel costruttore
# Aggiunta di documenti PDF
encoder.add_pdf(file_path, chunk_size=500, overlap=50) # Parametri di chunking qui
# Aggiunta di testo
encoder.add_text(content, chunk_size=500, overlap=50) # Parametri di chunking qui
# Aggiunta di chunks pre-elaborati
encoder.add_chunks(["chunk1", "chunk2", "chunk3"]) # Non accetta source
# Generazione del video
encoder.build_video(output_video, output_index) Questo progetto utilizza la tecnologia Memvid per convertire i dati testuali in codici QR, che vengono poi assemblati in un file video MP4. Questo approccio offre:
- Compressione estrema (50-100 volte più piccolo dei database vettoriali tradizionali)
- Portabilità (nessuna infrastruttura di database necessaria)
- Ricerca semantica veloce anche offline