Skip to content

Latest commit

 

History

History
326 lines (226 loc) · 10.6 KB

File metadata and controls

326 lines (226 loc) · 10.6 KB
Social Cover (6)

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

Crates.io docs.rs License

Stars Forks Issues Discord

memvid%2Fmemvid | Trendshift

⭐️ Deja una STAR para apoyar el proyecto ⭐️

¿Qué es Memvid?

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.


¿Por qué fotogramas de vídeo?

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.


Conceptos principales

  • 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.


Casos de uso

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

SDKs & CLI

Usa Memvid en tu lenguaje preferido:

Package Install Links
CLI npm install -g memvid-cli npm
Node.js SDK npm install @memvid/sdk npm
Python SDK pip install memvid-sdk PyPI
Rust cargo add memvid-core Crates.io

Instalación (Rust)

Requisitos

  • Rust 1.85.0+ — Instálalo desde rustup.rs

Añadir a tu proyecto

[dependencies]
memvid-core = "2.0"

Feature Flags

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"] }

Inicio rápido

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(())
}

Build

Clona el repositorio:

git clone https://github.com/memvid/memvid.git
cd memvid

Compila en modo debug:

cargo build

Compila en modo release (optimizado):

cargo build --release

Compila con features específicas:

cargo build --release --features "lex,vec,temporal_track"

Ejecutar tests

Ejecuta todos los tests:

cargo test

Ejecuta los tests con salida:

cargo test -- --nocapture

Ejecuta un test específico:

cargo test test_name

Ejecuta solo tests de integración:

cargo test --test lifecycle
cargo test --test search
cargo test --test mutation

Ejemplos

El directorio examples/ contiene ejemplos funcionales:

Uso básico

Demuestra operaciones de create, put, search y timeline:

cargo run --example basic_usage

Ingesta de PDF

Ingiere y busca documentos PDF (usa el paper “Attention Is All You Need”):

cargo run --example pdf_ingestion

Búsqueda visual con CLIP

Búsqueda de imágenes usando embeddings de CLIP (requiere la feature clip):

cargo run --example clip_visual_search --features clip

Transcripción con Whisper

Transcripción de audio (requiere la feature whisper):

cargo run --example test_whisper --features whisper

Formato de archivo

Todo vive en un único archivo .mv2:

┌────────────────────────────┐
│ Header (4KB)               │  Magic, version, capacity
├────────────────────────────┤
│ Embedded WAL (1-64MB)      │  Crash recovery
├────────────────────────────┤
│ Data SegmentsCompressed frames
├────────────────────────────┤
│ Lex IndexTantivy full-text
├────────────────────────────┤
│ Vec IndexHNSW vectors
├────────────────────────────┤
│ Time IndexChronological 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.


Soporte

¿Tienes preguntas o feedback? Email: contact@memvid.com

Deja una ⭐ para mostrar apoyo


Licencia

Apache License 2.0 — consulta el archivo LICENSE para más detalles.