Skip to main content

lc_memory/
lib.rs

1#![warn(missing_docs)]
2// lc-memory/src/lib.rs
3//! Memory system for conversation history management.
4//!
5//! Provides conversation memory management functionality.
6//!
7//! # Core Concepts
8//!
9//! - **BaseMemory**: Base trait for memory.
10//! - **ConversationBufferMemory**: Simple conversation buffer.
11//! - **ConversationBufferWindowMemory**: Conversation buffer with window.
12//! - **ConversationSummaryMemory**: LLM-based summary compression.
13//! - **ConversationSummaryBufferMemory**: Hybrid compression (summary + recent messages).
14//! - **PersistentMemory**: Trait for persistent memory storage.
15//! - **ContextWindow**: Fits messages within a token budget.
16//!
17//! # Feature Flags
18//!
19//! - `mongodb-persistence` — Enables `MongoPersistentMemory` (MongoDB-backed persistent memory).
20//! - `vectorstore-memory` — Enables `VectorStoreRetrieverMemory` (vector-store-backed memory).
21
22pub mod base;
23pub mod buffer;
24pub mod context_window;
25pub mod persistent;
26pub mod summary;
27pub mod summary_buffer;
28pub mod window;
29pub mod with_history;
30
31#[cfg(feature = "vectorstore-memory")]
32pub mod vectorstore_memory;
33
34#[cfg(feature = "mongodb-persistence")]
35pub mod mongo_memory;
36
37#[cfg(test)]
38mod test_support;
39
40pub use base::{
41    memory_variables_to_messages, BaseChatMemory, BaseMemory, ChatMessageHistory, MemoryError,
42};
43pub use buffer::ConversationBufferMemory;
44pub use context_window::{ContextWindow, Strategy};
45pub use persistent::{MemoryData, PersistenceConfig, PersistentMemory};
46pub use summary::ConversationSummaryMemory;
47pub use summary_buffer::ConversationSummaryBufferMemory;
48pub use window::ConversationBufferWindowMemory;
49pub use with_history::{RunnableWithMessageHistory, SharedMemory};
50
51#[cfg(feature = "vectorstore-memory")]
52pub use vectorstore_memory::VectorStoreRetrieverMemory;
53
54#[cfg(feature = "mongodb-persistence")]
55pub use mongo_memory::MongoPersistentMemory;