Memvid es una capa de memoria de un solo archivo para agentes de IA, con recuperación instantánea y memoria a largo plazo.
Memoria persistente, versionada y portable, sin bases de datos.
Sitio web · Probar Sandbox · Docs · Discussions
Memvid es un sistema de memoria portable para IA que empaqueta tus datos, embeddings, estructura de búsqueda y metadatos en un solo archivo.
En lugar de ejecutar pipelines RAG complejos o bases de datos vectoriales basadas en servidor, Memvid permite una recuperación rápida directamente desde el archivo.
El resultado es una capa de memoria agnóstica al modelo, sin infraestructura, que da a los agentes de IA una memoria persistente y a largo plazo que pueden llevar a cualquier parte.
Memvid se inspira en la codificación de vídeo, no para almacenar vídeo, sino para organizar la memoria de IA como una secuencia de Smart Frames ultrarrápida y append-only.
Un Smart Frame es una unidad inmutable que almacena contenido junto con marcas de tiempo (timestamps), checksums y metadatos básicos. Los frames se agrupan de una forma que permite una compresión, indexación y lecturas paralelas eficientes.
Este diseño basado en frames permite:
- Escrituras append-only sin modificar ni corromper los datos existentes
- Consultas sobre estados pasados de la memoria
- Inspección estilo línea temporal (timeline) de cómo evoluciona el conocimiento
- Seguridad ante fallos (crash safety) mediante frames confirmados e inmutables
- Compresión eficiente usando técnicas adaptadas de la codificación de vídeo
El resultado es un único archivo que se comporta como una línea temporal de memoria “rebobinable” para sistemas de IA.
-
Living Memory Engine Añade, ramifica (branch) y evoluciona la memoria de forma continua entre sesiones.
-
Capsule Context (
.mv2) Cápsulas de memoria autocontenidas y compartibles, con reglas y caducidad. -
Time-Travel Debugging Rebobina, reproduce (replay) o ramifica cualquier estado de memoria.
-
Smart Recall Acceso local a memoria en menos de 5ms con caché predictiva.
-
Codec Intelligence Selecciona y actualiza la compresión automáticamente con el tiempo.
Memvid es una capa de memoria portable y serverless que da a los agentes de IA memoria persistente y recuerdo rápido. Como es agnóstica al modelo, multi-modal y funciona totalmente offline, los desarrolladores están usando Memvid en una amplia gama de aplicaciones reales.
- Agentes de IA de larga duración
- Bases de conocimiento empresariales
- Sistemas de IA offline-first
- Comprensión de codebases
- Agentes de soporte al cliente
- Automatización de flujos de trabajo
- Copilotos de ventas y marketing
- Asistentes de conocimiento personal
- Agentes médicos, legales y financieros
- Flujos de trabajo de IA auditables y depurables
- Aplicaciones personalizadas
Usa Memvid en tu lenguaje preferido:
| Package | Install | Links |
|---|---|---|
| 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+ — Instálalo desde 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) |
Activa las features según lo necesites:
[dependencies]
memvid-core = { version = "2.0", features = ["lex", "vec", "temporal_track"] }use memvid_core::{Memvid, PutOptions, SearchRequest};
fn main() -> memvid_core::Result<()> {
// Create a new memory file
let mut mem = Memvid::create("knowledge.mv2")?;
// Add documents with metadata
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()?;
// Search
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(())
}Clona el repositorio:
git clone https://github.com/memvid/memvid.git
cd memvidCompila en modo debug:
cargo buildCompila en modo release (optimizado):
cargo build --releaseCompila con features específicas:
cargo build --release --features "lex,vec,temporal_track"Ejecuta todos los tests:
cargo testEjecuta los tests con salida:
cargo test -- --nocaptureEjecuta un test específico:
cargo test test_nameEjecuta solo tests de integración:
cargo test --test lifecycle
cargo test --test search
cargo test --test mutationEl directorio examples/ contiene ejemplos funcionales:
Demuestra operaciones de create, put, search y timeline:
cargo run --example basic_usageIngiere y busca documentos PDF (usa el paper “Attention Is All You Need”):
cargo run --example pdf_ingestionBúsqueda de imágenes usando embeddings de CLIP (requiere la feature clip):
cargo run --example clip_visual_search --features clipTranscripción de audio (requiere la feature whisper):
cargo run --example test_whisper --features whisperTodo vive en un único archivo .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
└────────────────────────────┘Sin archivos .wal, .lock, .shm ni sidecars. Nunca.
Consulta MV2_SPEC.md para la especificación completa del formato de archivo.
¿Tienes preguntas o feedback? Email: contact@memvid.com
Deja una ⭐ para mostrar apoyo
Apache License 2.0 — consulta el archivo LICENSE para más detalles.