Versions in this module Expand all Collapse all v0 v0.8.5 Jan 17, 2026 v0.8.4 Jan 7, 2026 v0.8.3 Jan 7, 2026 v0.8.2 Jan 6, 2026 v0.8.1 Jan 1, 2026 v0.8.0 Dec 31, 2025 v0.7.1 Dec 25, 2025 v0.7.0 Dec 21, 2025 v0.6.5 Dec 17, 2025 v0.6.4 Dec 17, 2025 v0.6.3 Dec 14, 2025 v0.6.2 Dec 14, 2025 v0.6.1 Dec 14, 2025 v0.6.0 Dec 14, 2025 Changes in this version + type BufferConfig struct + AutoSummarize bool + MaxMessages int + MaxTokens int + Summarizer func(ctx context.Context, messages []*Message) (string, error) + type BufferMemory struct + Summarizer func(ctx context.Context, messages []*Message) (string, error) + func NewBufferMemory(config *BufferConfig) *BufferMemory + func (b *BufferMemory) AddMessage(ctx context.Context, msg *Message) error + func (b *BufferMemory) Clear(ctx context.Context) error + func (b *BufferMemory) GetContext(ctx context.Context, query string) ([]*Message, error) + func (b *BufferMemory) GetMessages() []*Message + func (b *BufferMemory) GetStats(ctx context.Context) (*Stats, error) + func (b *BufferMemory) LoadMessages(messages []*Message) + type ChatMemory interface + Clear func(ctx context.Context) error + GetMessages func(ctx context.Context) ([]llms.ChatMessage, error) + LoadMemoryVariables func(ctx context.Context, inputs map[string]any) (map[string]any, error) + SaveContext func(ctx context.Context, inputValues map[string]any, outputValues map[string]any) error + type ChatMessageHistory struct + func NewChatMessageHistory(options ...langchainmemory.ChatMessageHistoryOption) *ChatMessageHistory + func (h *ChatMessageHistory) AddAIMessage(ctx context.Context, message string) error + func (h *ChatMessageHistory) AddMessage(ctx context.Context, message llms.ChatMessage) error + func (h *ChatMessageHistory) AddUserMessage(ctx context.Context, message string) error + func (h *ChatMessageHistory) Clear(ctx context.Context) error + func (h *ChatMessageHistory) GetHistory() schema.ChatMessageHistory + func (h *ChatMessageHistory) Messages(ctx context.Context) ([]llms.ChatMessage, error) + func (h *ChatMessageHistory) SetMessages(ctx context.Context, messages []llms.ChatMessage) error + type CompressedBlock struct + CompressedTokens int + ID string + OriginalCount int + OriginalTokens int + Summary string + TimeRange TimeRange + Topics []string + type CompressionConfig struct + CompressionTrigger int + Compressor func(ctx context.Context, messages []*Message) (*CompressedBlock, error) + ConsolidateAfter time.Duration + Consolidator func(ctx context.Context, blocks []*CompressedBlock) (*CompressedBlock, error) + type CompressionMemory struct + Compressor func(ctx context.Context, messages []*Message) (*CompressedBlock, error) + Consolidator func(ctx context.Context, blocks []*CompressedBlock) (*CompressedBlock, error) + func NewCompressionMemory(config *CompressionConfig) *CompressionMemory + func (c *CompressionMemory) AddMessage(ctx context.Context, msg *Message) error + func (c *CompressionMemory) Clear(ctx context.Context) error + func (c *CompressionMemory) ForceCompression(ctx context.Context) error + func (c *CompressionMemory) ForceConsolidation(ctx context.Context) error + func (c *CompressionMemory) GetContext(ctx context.Context, query string) ([]*Message, error) + func (c *CompressionMemory) GetStats(ctx context.Context) (*Stats, error) + type GraphBasedMemory struct + RelationExtractor func(msg *Message) []string + func NewGraphBasedMemory(config *GraphConfig) *GraphBasedMemory + func (g *GraphBasedMemory) AddMessage(ctx context.Context, msg *Message) error + func (g *GraphBasedMemory) Clear(ctx context.Context) error + func (g *GraphBasedMemory) GetContext(ctx context.Context, query string) ([]*Message, error) + func (g *GraphBasedMemory) GetRelationships() map[string]int + func (g *GraphBasedMemory) GetStats(ctx context.Context) (*Stats, error) + type GraphConfig struct + RelationExtractor func(msg *Message) []string + TopK int + type GraphNode struct + Connections []string + Message *Message + Weight float64 + type HierarchicalConfig struct + ImportanceScorer func(msg *Message) float64 + ImportantLimit int + RecentLimit int + type HierarchicalMemory struct + ImportanceScorer func(msg *Message) float64 + func NewHierarchicalMemory(config *HierarchicalConfig) *HierarchicalMemory + func (h *HierarchicalMemory) AddMessage(ctx context.Context, msg *Message) error + func (h *HierarchicalMemory) Clear(ctx context.Context) error + func (h *HierarchicalMemory) GetContext(ctx context.Context, query string) ([]*Message, error) + func (h *HierarchicalMemory) GetStats(ctx context.Context) (*Stats, error) + type LRUHeap []*MemoryPage + func (h *LRUHeap) Pop() any + func (h *LRUHeap) Push(x any) + func (h LRUHeap) Len() int + func (h LRUHeap) Less(i, j int) bool + func (h LRUHeap) Swap(i, j int) + type LangChainMemory struct + func NewConversationBufferMemory(options ...langchainmemory.ConversationBufferOption) *LangChainMemory + func NewConversationTokenBufferMemory(llm llms.Model, maxTokenLimit int, ...) *LangChainMemory + func NewConversationWindowBufferMemory(windowSize int, options ...langchainmemory.ConversationBufferOption) *LangChainMemory + func NewLangChainMemory(buffer schema.Memory) *LangChainMemory + func (m *LangChainMemory) Clear(ctx context.Context) error + func (m *LangChainMemory) GetMessages(ctx context.Context) ([]llms.ChatMessage, error) + func (m *LangChainMemory) LoadMemoryVariables(ctx context.Context, inputs map[string]any) (map[string]any, error) + func (m *LangChainMemory) SaveContext(ctx context.Context, inputValues map[string]any, outputValues map[string]any) error + type Memory interface + AddMessage func(ctx context.Context, msg *Message) error + Clear func(ctx context.Context) error + GetContext func(ctx context.Context, query string) ([]*Message, error) + GetStats func(ctx context.Context) (*Stats, error) + type MemoryPage struct + AccessCount int + Dirty bool + ID string + LastAccess time.Time + Messages []*Message + Priority int + Size int + type Message struct + Content string + ID string + Metadata map[string]any + Role string + Timestamp time.Time + TokenCount int + func NewMessage(role, content string) *Message + type OSLikeConfig struct + AccessWindow time.Duration + ActiveLimit int + CacheLimit int + type OSLikeMemory struct + func NewOSLikeMemory(config *OSLikeConfig) *OSLikeMemory + func (o *OSLikeMemory) AddMessage(ctx context.Context, msg *Message) error + func (o *OSLikeMemory) Clear(ctx context.Context) error + func (o *OSLikeMemory) GetContext(ctx context.Context, query string) ([]*Message, error) + func (o *OSLikeMemory) GetMemoryInfo() map[string]any + func (o *OSLikeMemory) GetStats(ctx context.Context) (*Stats, error) + type RetrievalConfig struct + EmbeddingFunc func(ctx context.Context, text string) ([]float64, error) + TopK int + type RetrievalMemory struct + EmbeddingFunc func(ctx context.Context, text string) ([]float64, error) + func NewRetrievalMemory(config *RetrievalConfig) *RetrievalMemory + func (r *RetrievalMemory) AddMessage(ctx context.Context, msg *Message) error + func (r *RetrievalMemory) Clear(ctx context.Context) error + func (r *RetrievalMemory) GetContext(ctx context.Context, query string) ([]*Message, error) + func (r *RetrievalMemory) GetStats(ctx context.Context) (*Stats, error) + func (r *RetrievalMemory) SetTopK(k int) + type SequentialMemory struct + func NewSequentialMemory() *SequentialMemory + func (s *SequentialMemory) AddMessage(ctx context.Context, msg *Message) error + func (s *SequentialMemory) Clear(ctx context.Context) error + func (s *SequentialMemory) GetContext(ctx context.Context, query string) ([]*Message, error) + func (s *SequentialMemory) GetStats(ctx context.Context) (*Stats, error) + type SlidingWindowMemory struct + func NewSlidingWindowMemory(windowSize int) *SlidingWindowMemory + func (s *SlidingWindowMemory) AddMessage(ctx context.Context, msg *Message) error + func (s *SlidingWindowMemory) Clear(ctx context.Context) error + func (s *SlidingWindowMemory) GetContext(ctx context.Context, query string) ([]*Message, error) + func (s *SlidingWindowMemory) GetStats(ctx context.Context) (*Stats, error) + func (s *SlidingWindowMemory) GetWindowSize() int + func (s *SlidingWindowMemory) SetWindowSize(size int) + type Stats struct + ActiveMessages int + ActiveTokens int + CompressionRate float64 + TotalMessages int + TotalTokens int + type SummarizationConfig struct + RecentWindowSize int + SummarizeAfter int + Summarizer func(ctx context.Context, messages []*Message) (string, error) + type SummarizationMemory struct + Summarizer func(ctx context.Context, messages []*Message) (string, error) + func NewSummarizationMemory(config *SummarizationConfig) *SummarizationMemory + func (s *SummarizationMemory) AddMessage(ctx context.Context, msg *Message) error + func (s *SummarizationMemory) Clear(ctx context.Context) error + func (s *SummarizationMemory) GetContext(ctx context.Context, query string) ([]*Message, error) + func (s *SummarizationMemory) GetStats(ctx context.Context) (*Stats, error) + type TimeRange struct + End time.Time + Start time.Time