pub struct Pipeline { /* private fields */ }Expand description
Orchestrates the memory pipeline by coordinating ingestors, processors, and storage.
Implementations§
Source§impl Pipeline
impl Pipeline
Sourcepub fn new(
ingestor: Box<dyn Ingestor>,
processor: Box<dyn Processor>,
storage: Box<dyn Storage>,
retriever: Box<dyn Retriever>,
searcher: Box<dyn Searcher>,
recents: Box<dyn Recents>,
semantic_searcher: Box<dyn SemanticSearcher>,
) -> Self
pub fn new( ingestor: Box<dyn Ingestor>, processor: Box<dyn Processor>, storage: Box<dyn Storage>, retriever: Box<dyn Retriever>, searcher: Box<dyn Searcher>, recents: Box<dyn Recents>, semantic_searcher: Box<dyn SemanticSearcher>, ) -> Self
Creates a new Pipeline with the provided components.
Sourcepub async fn run(&self, content: &str, input: &MemoryInput) -> Result<String>
pub async fn run(&self, content: &str, input: &MemoryInput) -> Result<String>
Runs the full pipeline: ingest -> process -> store.
Sourcepub async fn retrieve(&self, id: &str) -> Result<String>
pub async fn retrieve(&self, id: &str) -> Result<String>
Retrieves data from storage via the retriever.
Sourcepub async fn search(
&self,
query: &str,
limit: usize,
opts: &SearchOptions,
) -> Result<Vec<SearchResult>>
pub async fn search( &self, query: &str, limit: usize, opts: &SearchOptions, ) -> Result<Vec<SearchResult>>
Searches for stored memories matching the provided query.
pub async fn recent( &self, limit: usize, opts: &SearchOptions, ) -> Result<Vec<SearchResult>>
pub async fn semantic_search( &self, query: &str, limit: usize, opts: &SearchOptions, ) -> Result<Vec<SemanticResult>>
Auto Trait Implementations§
impl Freeze for Pipeline
impl !RefUnwindSafe for Pipeline
impl Send for Pipeline
impl Sync for Pipeline
impl Unpin for Pipeline
impl UnsafeUnpin for Pipeline
impl !UnwindSafe for Pipeline
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more