Memvid est une couche mémoire à fichier unique pour agents IA, avec récupération instantanée et mémoire long terme.
Mémoire persistante, versionnée et portable, sans bases de données.
Site Web · Essayer le Sandbox · Docs · Discussions
Memvid est un système de mémoire IA portable qui regroupe vos données, embeddings, structure de recherche et métadonnées dans un seul fichier.
Au lieu d'exécuter des pipelines RAG complexes ou des bases de données vectorielles côté serveur, Memvid permet une récupération rapide directement depuis le fichier.
Le résultat est une couche mémoire agnostique au modèle, sans infrastructure, qui donne aux agents IA une mémoire persistante et longue durée qu'ils peuvent emporter partout.
Memvid s'inspire de l'encodage vidéo, non pas pour stocker de la vidéo, mais pour organiser la mémoire IA en une séquence append-only ultra-efficace de Smart Frames.
Une Smart Frame est une unité immuable qui stocke le contenu avec des horodatages, des checksums et des métadonnées de base. Les frames sont regroupées d'une manière qui permet une compression, une indexation et des lectures parallèles efficaces.
Ce design basé sur les frames permet :
- Écritures append-only sans modifier ni corrompre les données existantes
- Requêtes sur des états mémoire passés
- Inspection type timeline de l'évolution des connaissances
- Sécurité en cas de crash via des frames immuables et validées
- Compression efficace grâce à des techniques adaptées de l'encodage vidéo
Le résultat est un fichier unique qui se comporte comme une timeline mémoire rembobinable pour les systèmes IA.
-
Moteur de mémoire vivant Ajoutez, branchez et faites évoluer la mémoire en continu entre les sessions.
-
Capsule de Contexte (
.mv2) Capsules mémoire autonomes et partageables avec règles et expiration. -
Débogage par 'voyage temporel' Rembobinez, rejouez ou branchez n'importe quel état mémoire.
-
Rappel intelligent Accès mémoire local en moins de 5 ms avec cache prédictif.
-
Intelligence du codec Sélection et mise à niveau automatiques de la compression au fil du temps.
Memvid est une couche mémoire portable et sans serveur qui donne aux agents IA une mémoire persistante et un rappel rapide. Parce qu'il est agnostique au modèle, multimodal et fonctionne entièrement hors ligne, les développeurs utilisent Memvid pour un large éventail d'applications réelles.
- Agents IA longue durée
- Bases de connaissances d'entreprise
- Systèmes IA offline-first
- Compréhension de codebase
- Agents de support client
- Automatisation des workflows
- Copilotes ventes et marketing
- Assistants de connaissance personnels
- Agents médicaux, juridiques et financiers
- Workflows IA auditables et débogables
- Applications sur mesure
Utilisez Memvid dans votre langage préféré :
| Package | Installation | Liens |
|---|---|---|
| CLI | npm install -g memvid-cli |
|
| Node.js SDK | npm install @memvid/sdk |
|
| Python SDK | pip install memvid-sdk |
|
| Rust | cargo add memvid-core |
- Rust 1.85.0+ — Installer depuis rustup.rs
[dependencies]
memvid-core = "2.0"| Feature | Description |
|---|---|
lex |
Full-text search with BM25 ranking (Tantivy) |
pdf_extract |
Pure Rust PDF text extraction |
vec |
Vector similarity search (HNSW + ONNX) |
clip |
CLIP visual embeddings for image search |
whisper |
Audio transcription with Whisper |
temporal_track |
Natural language date parsing ("last Tuesday") |
parallel_segments |
Multi-threaded ingestion |
encryption |
Password-based encryption capsules (.mv2e) |
Activez les features selon vos besoins :
[dependencies]
memvid-core = { version = "2.0", features = ["lex", "vec", "temporal_track"] }use memvid_core::{Memvid, PutOptions, SearchRequest};
fn main() -> memvid_core::Result<()> {
// Créer un nouveau fichier de mémoire
let mut mem = Memvid::create("knowledge.mv2")?;
// Ajouter des documents avec des métadonnées
let opts = PutOptions::builder()
.title("Meeting Notes")
.uri("mv2://meetings/2024-01-15")
.tag("project", "alpha")
.build();
mem.put_bytes_with_options(b"Q4 planning discussion...", opts)?;
mem.commit()?;
// Rechercher
let response = mem.search(SearchRequest {
query: "planning".into(),
top_k: 10,
snippet_chars: 200,
..Default::default()
})?;
for hit in response.hits {
println!("{}: {}", hit.title.unwrap_or_default(), hit.text);
}
Ok(())
}Cloner le repository :
git clone https://github.com/memvid/memvid.git
cd memvidCompiler en mode debug :
cargo buildCompiler en mode release (optimisé) :
cargo build --releaseCompiler avec des features spécifiques :
cargo build --release --features "lex,vec,temporal_track"Exécuter tous les tests :
cargo testExécuter les tests avec sortie :
cargo test -- --nocaptureExécuter un test spécifique :
cargo test test_nameExécuter uniquement les tests d'intégration :
cargo test --test lifecycle
cargo test --test search
cargo test --test mutationLe répertoire examples/ contient des exemples fonctionnels :
Démontre create, put, search et les opérations de timeline :
cargo run --example basic_usageIngérer et rechercher des documents PDF (utilise l'article "Attention Is All You Need") :
cargo run --example pdf_ingestionRecherche d'images à l'aide d'embeddings CLIP (nécessite la feature clip) :
cargo run --example clip_visual_search --features clipTranscription audio (nécessite la feature whisper) :
cargo run --example test_whisper --features whisperTout est dans un seul fichier .mv2 :
┌────────────────────────────┐
│ Header (4KB) │ Magic, version, capacity
├────────────────────────────┤
│ Embedded WAL (1-64MB) │ Crash recovery
├────────────────────────────┤
│ Data Segments │ Compressed frames
├────────────────────────────┤
│ Lex Index │ Tantivy full-text
├────────────────────────────┤
│ Vec Index │ HNSW vectors
├────────────────────────────┤
│ Time Index │ Chronological ordering
├────────────────────────────┤
│ TOC (Footer) │ Segment offsets
└────────────────────────────┘Pas de .wal, .lock, .shm ou fichiers auxiliaires. Jamais.
Voir MV2_SPEC.md pour la spécification complète du format de fichier.
Vous avez des questions ou des retours ? Email : contact@memvid.com
Laissez une ⭐ pour montrer votre soutien
Apache License 2.0 — voir le fichier LICENSE pour plus de détails.