AI Memory ও Personalization System

লেসন ৪৪ / ৪৬

🧠 Memory Problem

LLM stateless — প্রতি conversation থেকে নতুন। User-এর past preference, history মনে রাখতে external memory দরকার।

📊 Memory Type

  • Short-term — current conversation context
  • Episodic — past conversation summary
  • Semantic — facts about user (name, preference)
  • Procedural — how user likes things done

🛠️ Memory Architecture

User Message
    ↓
[Memory Retriever] ← Vector DB (past memory)
    ↓
Augmented Prompt (system + memory + message)
    ↓
LLM Response
    ↓
[Memory Extractor] → Save important fact
    ↓
Vector DB updated

💻 Simple Memory System

from openai import OpenAI
import chromadb

client = OpenAI()
db = chromadb.PersistentClient("./memory")
collection = db.get_or_create_collection("user_memory")

def save_memory(user_id, fact):
    collection.add(
        documents=[fact],
        metadatas=[{"user_id": user_id, "ts": time.time()}],
        ids=[f"{user_id}_{uuid.uuid4()}"]
    )

def get_memories(user_id, query, k=5):
    results = collection.query(
        query_texts=[query],
        n_results=k,
        where={"user_id": user_id}
    )
    return results["documents"][0]

# Usage
memories = get_memories("user_123", current_message)
system = f"User context: {memories}\n\nRespond personalized."

🎯 Production Frameworks

  • Mem0 — open source, easy API
  • Letta (MemGPT) — research-grade memory
  • Zep — managed memory platform
  • LangChain Memory — multiple types built-in

💡 Mem0 Example

from mem0 import Memory
m = Memory()

# Add memory
m.add("User loves spicy Thai food", user_id="alice")
m.add("Allergic to peanut", user_id="alice")

# Retrieve relevant
memories = m.search("dinner suggestion", user_id="alice")
# Returns: [Thai food preference, peanut allergy]

⚖️ Privacy ও Ethics

  • User explicit consent before storing
  • "Forget me" feature mandatory (GDPR)
  • Sensitive data (health, finance) — separate handling
  • Encrypt at rest
  • Audit log: কী save হলো, কে access করলো
  • Default: less is more

🎓 মূল কথা ⭐

Memory = relationship। User feel "AI আমাকে চেনে" হলে retention 10x। তবে privacy-first design। Trust break হলে আর recover হয় না।