Skip to main content

Crate klieo_memory_sqlite

Crate klieo_memory_sqlite 

Source
Expand description

SQLite-backed implementations of the three memory traits in klieo_core::memory.

MemorySqlite::new opens a SQLite file (or :memory: string), runs migrations for all three trait tables, and returns three Arc<dyn …> handles ready to drop into klieo_core::AgentContext.

§Example

use klieo_memory_sqlite::{MemorySqlite, DummyEmbedder};
use std::sync::Arc;

async fn example() {
    let mem = MemorySqlite::new(":memory:", Arc::new(DummyEmbedder)).await.unwrap();
    // mem.short_term, mem.long_term, mem.episodic are
    // Arc<dyn …> handles ready for AgentContext.
    let _ = mem;
}

§Features

  • Default — three SQLite-backed memory traits + Embedder trait with DummyEmbedder (zero-vector). Linear-scan recall.
  • fastembed — adds FastEmbedEmbedder (real CPU embeddings via ONNX runtime). Heavy first compile; model auto-downloads to OS cache dir on first call.
  • sqlite-vec — adds a vec0 virtual-table index on long_term_facts_vec; LongTermMemory::recall uses k-NN MATCH instead of linear scan.
  • test-utils — exposes FakeEmbedder for downstream test deps.

§Limitations

  • Sync SQLite under blocking pool. All trait methods spawn tokio::task::spawn_blocking so they don’t stall the async runtime; throughput is bounded by the blocking-pool size.

Re-exports§

pub use short_term::SqliteShortTerm;
pub use episodic::SqliteEpisodic;
pub use long_term::SqliteLongTerm;
pub use factory::MemorySqlite;

Modules§

embedder
Re-exports of the shared Embedder trait + dummy/fake impls.
episodic
SqliteEpisodicEpisodicMemory over a SQLite table.
factory
MemorySqlite — umbrella factory wiring all three SQLite-backed memory traits to the same database file.
long_term
SqliteLongTermLongTermMemory over a SQLite table with linear-scan cosine recall (default) or sqlite-vec k-NN MATCH (under feature sqlite-vec).
short_term
SqliteShortTermShortTermMemory over a SQLite table.

Structs§

DummyEmbedder
Default embedder that returns zero vectors.

Traits§

Embedder
Compute embeddings for one or more texts.