Skip to main content

Memory Storage

The Memory Storage backend keeps all conversations in memory, making it perfect for development and testing.

Features

  • In-Memory: All data stored in memory for fast access
  • No Setup: Just import and use
  • Thread Support: Full thread and message management
  • Message Limiting: Optional limit on messages per thread
  • Type Safety: Full type hints support

Installation

Memory Storage is included with the base package:

pip install memexllm

Basic Usage

from memexllm.storage import MemoryStorage
from memexllm.algorithms import FIFOAlgorithm
from memexllm.core import HistoryManager

# Create storage instance
storage = MemoryStorage()

# Keep last 100 messages in memory
storage = MemoryStorage(max_messages=100)

# Create history manager
manager = HistoryManager(
storage=storage,
algorithm=FIFOAlgorithm(max_messages=50) # Use last 50 messages for context
)

Use with OpenAI

from openai import OpenAI
from memexllm.storage import MemoryStorage
from memexllm.algorithms import FIFOAlgorithm
from memexllm.integrations.openai import with_history
from memexllm.history import HistoryManager

# Create client with memory storage and FIFO algorithm
client = OpenAI()

history_manager = HistoryManager(
storage=MemoryStorage(),
algorithm=FIFOAlgorithm(max_messages=50) # Use last 50 messages for context
)

client = with_history(history_manager=history_manager)(client)

# Use as normal
response = client.chat.completions.create(
model="gpt-3.5-turbo",
messages=[{"role": "user", "content": "Hello!"}]
)

When to Use

Good For:

  • Development and testing
  • Prototyping
  • Small applications
  • Learning MemexLLM
  • Unit tests

Not Good For:

  • Production use
  • Data persistence
  • Large conversations
  • Multiple processes
  • Critical data

Next Steps