Skip to main content

MemoryProvider

Trait MemoryProvider 

Source
pub trait MemoryProvider: Send + Sync {
    // Required methods
    fn name(&self) -> &str;
    fn remember(&self, fact: Fact) -> Result<()>;
    fn recall(&self, query: &str, limit: usize) -> Result<Vec<Fact>>;
    fn memory_doc(&self, kind: MemoryDocKind) -> Result<Option<MemoryDoc>>;
    fn upsert_memory_doc(
        &self,
        kind: MemoryDocKind,
        content: &str,
    ) -> Result<()>;
}

Required Methods§

Source

fn name(&self) -> &str

Source

fn remember(&self, fact: Fact) -> Result<()>

Source

fn recall(&self, query: &str, limit: usize) -> Result<Vec<Fact>>

Source

fn memory_doc(&self, kind: MemoryDocKind) -> Result<Option<MemoryDoc>>

Source

fn upsert_memory_doc(&self, kind: MemoryDocKind, content: &str) -> Result<()>

Dyn Compatibility§

This trait is dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementors§