pub struct MemoryExtractionService { /* private fields */ }Expand description
Memory Extraction Service.
Coordinates LLM-based memory extraction and storage via SanctumPort.
Depends only on port traits — contains no concrete adapter references.
Implementations§
Source§impl MemoryExtractionService
impl MemoryExtractionService
Sourcepub fn new(
llm: Arc<dyn LlmPort>,
embedding: Arc<dyn EmbeddingPort>,
sanctum: Arc<dyn SanctumPort>,
) -> Self
pub fn new( llm: Arc<dyn LlmPort>, embedding: Arc<dyn EmbeddingPort>, sanctum: Arc<dyn SanctumPort>, ) -> Self
Create a new memory extraction service.
Sourcepub async fn extract_memories(
&self,
paladin_id: &str,
conversation: &[GarrisonEntry],
) -> Result<Vec<SanctumEntry>, SanctumError>
pub async fn extract_memories( &self, paladin_id: &str, conversation: &[GarrisonEntry], ) -> Result<Vec<SanctumEntry>, SanctumError>
Extract memories from conversation history.
Analyzes the conversation, extracts important information, and stores it in long-term memory (Sanctum) for later retrieval.
Auto Trait Implementations§
impl !RefUnwindSafe for MemoryExtractionService
impl !UnwindSafe for MemoryExtractionService
impl Freeze for MemoryExtractionService
impl Send for MemoryExtractionService
impl Sync for MemoryExtractionService
impl Unpin for MemoryExtractionService
impl UnsafeUnpin for MemoryExtractionService
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