Expand description
MnemeFusion Core
A unified memory engine for AI applications—“SQLite for AI memory.”
MnemeFusion provides four-dimensional memory indexing (semantic, temporal, causal, entity) in a single embedded database file with zero external dependencies.
§Quick Start
use mnemefusion_core::{MemoryEngine, Config};
// Open or create a database
let engine = MemoryEngine::open("./brain.mfdb", Config::default()).unwrap();
// Add a memory
let embedding = vec![0.1; 384]; // Your embedding vector
let id = engine.add(
"Project deadline moved to March 15th".to_string(),
embedding,
None,
None,
None,
None,
).unwrap();
// Retrieve a memory
let memory = engine.get(&id).unwrap();
// Close the database
engine.close().unwrap();§Architecture
MnemeFusion is built on:
- redb: ACID-compliant embedded storage
- usearch: High-performance vector similarity search (HNSW)
- petgraph: Graph algorithms for causal and entity relationships
All data is stored in a single .mfdb file, making it easy to backup,
version, and deploy.
Re-exports§
pub use config::Config;pub use error::Error;pub use error::Result;pub use graph::CausalEdge;pub use graph::CausalPath;pub use graph::CausalTraversalResult;pub use graph::EntityQueryResult;pub use graph::GraphManager;pub use index::TemporalIndex;pub use index::TemporalResult;pub use index::VectorIndex;pub use index::VectorIndexConfig;pub use index::VectorResult;pub use ingest::EntityExtractor;pub use ingest::SimpleEntityExtractor;pub use memory::contextualize_for_embedding;pub use memory::first_person_to_third;pub use memory::EmbeddingFn;pub use memory::MemoryEngine;pub use memory::ScopedMemory;pub use query::AdaptiveWeightConfig;pub use query::FusedResult;pub use query::FusionEngine;pub use query::IntentClassification;pub use query::IntentClassifier;pub use query::IntentWeights;pub use query::QueryIntent;pub use query::QueryPlanner;pub use slm::SlmConfig;pub use trace::Trace;pub use trace::TraceRecorder;pub use trace::TraceStep;pub use trace::TraceValue;pub use types::AddResult;pub use types::BatchError;pub use types::BatchResult;pub use types::Entity;pub use types::EntityId;pub use types::FilterOp;pub use types::Memory;pub use types::MemoryId;pub use types::MemoryInput;pub use types::MetadataFilter;pub use types::Source;pub use types::SourceType;pub use types::Timestamp;pub use types::UpsertResult;pub use types::NAMESPACE_METADATA_KEY;pub use types::SOURCE_METADATA_KEY;
Modules§
- config
- Configuration types for MnemeFusion
- embedding
- Embedding model integration for automatic text vectorization.
- error
- Error types for MnemeFusion
- graph
- Graph module for causal and entity relationships.
- index
- Index layer - vector, temporal, and keyword indexing
- ingest
- Ingestion module for entity extraction and memory preprocessing
- memory
- Memory engine - main API entry point
- query
- Query module for intent classification and multi-dimensional retrieval
- slm
- Small Language Model (SLM) integration for semantic intent classification
- storage
- Storage layer for MnemeFusion
- trace
- Pipeline observability / tracing
- types
- Core types for MnemeFusion
- util
- Utility functions
Macros§
- trace_
begin - Begin a named step on an
Option<&mut TraceRecorder>. No-op when the recorder isNone. - trace_
record - Record a key-value pair on an
Option<&mut TraceRecorder>. No-op when the recorder isNone.