Crate memvid_rs

Source
Expand description

§memvid-rs

A high-performance, self-contained Rust implementation of memvid, encoding text documents as QR codes within video files for efficient storage and semantic retrieval.

§Quick Start

use memvid_rs::{MemvidEncoder, MemvidRetriever, Config};

#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
    // Create an encoder with default settings
    let mut encoder = MemvidEncoder::new(None).await?;
     
    // Add content from various sources
    encoder.add_text("Your text content here", 1024, 32).await?;
     
    // Build the video memory
    let stats = encoder.build_video("memory.mp4", "index.db").await?;
    println!("Encoded {} chunks into video", stats.total_chunks);
     
    // Query your video memory
    let mut retriever = MemvidRetriever::new("memory.mp4", "index.db").await?;
    let results = retriever.search("your query", 5).await?;
     
    for (score, text) in results {
        println!("Score: {:.3} - {}", score, text);
    }
     
    Ok(())
}

Re-exports§

pub use api::MemvidEncoder;
pub use api::MemvidRetriever;
pub use api::SearchResult;
pub use api::chat_with_memory;
pub use api::chat_with_memory_config;
pub use api::quick_chat;
pub use api::quick_chat_with_config;
pub use config::Config;
pub use error::MemvidError;
pub use error::Result;
pub use storage::EncodingStats;
pub use text::ChunkMetadata;

Modules§

api
API layer for memvid-rs
config
Configuration management for memvid-rs
error
Error types for memvid-rs
ml
Machine Learning module for memvid-rs
qr
QR code generation and decoding functionality for memvid-rs
storage
Storage functionality for memvid-rs
text
Text processing and chunking functionality for memvid-rs
utils
Utility functions for memvid-rs
video
Video processing functionality for memvid-rs