Expand description
§OpenMemory - Cognitive Memory System for AI Applications
OpenMemory is a sophisticated memory system that provides:
- Cognitive Sectors: Automatic classification into episodic, semantic, procedural, emotional, and reflective memory
- Hybrid Similarity Graph (HSG): Advanced retrieval combining vector similarity, token overlap, graph relationships, and recency
- Memory Decay: Time-based salience decay with reinforcement on access
- Multiple Embedding Providers: Synthetic (local), OpenAI, Ollama, Gemini, AWS Bedrock
§Quick Start
use openmemory::{OpenMemory, OpenMemoryOptions, AddOptions, QueryOptions};
#[tokio::main]
async fn main() -> openmemory::Result<()> {
// Create an OpenMemory instance
let om = OpenMemory::new(OpenMemoryOptions {
db_path: "./data/memory.db".into(),
..Default::default()
}).await?;
// Add a memory
let result = om.add("I learned Rust today!", AddOptions::default()).await?;
println!("Added memory: {} (sector: {:?})", result.id, result.primary_sector);
// Query memories
let results = om.query("What did I learn?", QueryOptions::default()).await?;
for mem in results {
println!("[{:.2}] {}", mem.score, mem.content);
}
Ok(())
}Re-exports§
pub use crate::core::config::Config;pub use crate::core::config::ConfigBuilder;pub use crate::core::db::Database;pub use crate::core::error::Error;pub use crate::core::error::Result;pub use crate::memory::embed::create_provider;pub use crate::memory::embed::EmbeddingProvider;pub use crate::memory::hsg::classify_content;pub use crate::memory::hsg::HsgEngine;pub use crate::memory::decay::DecayConfig;pub use crate::memory::decay::DecayEngine;pub use crate::core::types::*;
Modules§
- core
- Core module containing fundamental types and utilities
- memory
- Memory processing engine
- utils
- Utility modules for text processing
Structs§
- AddOptions
- Options for adding a memory
- Embedding
Info - Information about the embedding provider
- Open
Memory - OpenMemory - Main API
- Open
Memory Options - Options for creating an OpenMemory instance
- Query
Options - Options for querying memories