Contextual memory creation automatically manages message history, allowing you to focus on building AI experiences without manually tracking interactions. Simply send new messages, and Mem0 handles the context automatically.
# Just send new messages - Mem0 handles the contextmessages = [ {"role": "user", "content": "I love Italian food, especially pasta"}, {"role": "assistant", "content": "Great! I'll remember your preference for Italian cuisine."}]client.add(messages, user_id="user123")
# First interactionmessages1 = [ {"role": "user", "content": "Hi, I'm Sarah from New York"}, {"role": "assistant", "content": "Hello Sarah! Nice to meet you."}]client.add(messages1, user_id="sarah")# Later interaction - just send new messagesmessages2 = [ {"role": "user", "content": "I'm planning a trip to Italy next month"}, {"role": "assistant", "content": "How exciting! Italy is beautiful this time of year."}]client.add(messages2, user_id="sarah")# Mem0 automatically knows Sarah is from New York and can use this context
Best for: Personal preferences, profile information, long-term user data
# Persistent user memories across all interactionsmessages = [ {"role": "user", "content": "I'm allergic to nuts and dairy"}, {"role": "assistant", "content": "I've noted your allergies for future reference."}]client.add(messages, user_id="user123")# This allergy info will be available in ALL future interactions
Best for: Task-specific context, separate interaction threads, project-based sessions
# Trip planning sessionmessages1 = [ {"role": "user", "content": "I want to plan a 5-day trip to Tokyo"}, {"role": "assistant", "content": "Perfect! Let's plan your Tokyo adventure."}]client.add(messages1, user_id="user123", run_id="tokyo-trip-2024")# Later in the same trip planning sessionmessages2 = [ {"role": "user", "content": "I prefer staying near Shibuya"}, {"role": "assistant", "content": "Great choice! Shibuya is very convenient."}]client.add(messages2, user_id="user123", run_id="tokyo-trip-2024")# Different session for work project (separate context)work_messages = [ {"role": "user", "content": "Let's discuss the Q4 marketing strategy"}, {"role": "assistant", "content": "Sure! What are your main goals for Q4?"}]client.add(work_messages, user_id="user123", run_id="q4-marketing")
# Support ticket context - keeps interaction focusedmessages = [ {"role": "user", "content": "My subscription isn't working"}, {"role": "assistant", "content": "I can help with that. What specific issue are you experiencing?"}, {"role": "user", "content": "I can't access premium features even though I paid"}]# Each support ticket gets its own run_idclient.add(messages, user_id="customer123", run_id="ticket-2024-001")
Python
# Personal preferences (persistent across all interactions)preference_messages = [ {"role": "user", "content": "I prefer morning workouts and vegetarian meals"}, {"role": "assistant", "content": "Got it! I'll keep your fitness and dietary preferences in mind."}]client.add(preference_messages, user_id="user456")# Daily planning session (session-specific)planning_messages = [ {"role": "user", "content": "Help me plan tomorrow's schedule"}, {"role": "assistant", "content": "Of course! I'll consider your morning workout preference."}]client.add(planning_messages, user_id="user456", run_id="daily-plan-2024-01-15")
Python
# Student profile (persistent)profile_messages = [ {"role": "user", "content": "I'm studying computer science and struggle with math"}, {"role": "assistant", "content": "I'll tailor explanations to help with math concepts."}]client.add(profile_messages, user_id="student789")# Specific lesson sessionlesson_messages = [ {"role": "user", "content": "Can you explain algorithms?"}, {"role": "assistant", "content": "Sure! I'll explain algorithms with math-friendly examples."}]client.add(lesson_messages, user_id="student789", run_id="algorithms-lesson-1")