Mem0: Memory Layer untuk Aplikasi AI yang Personalized

# Mem0: Memory Layer untuk Aplikasi AI yang Personalized Salah satu tantangan terbesar dalam membangun aplikasi AI adalah kemampuan untuk **mengingat** konteks dan preferensi pengguna lintas sesi. Se...

By Ruby Abdullah · · tutorial
Mem0AI MemoryLLMPersonalizationPython

Mem0: Memory Layer untuk Aplikasi AI yang Personalized

Salah satu tantangan terbesar dalam membangun aplikasi AI adalah kemampuan untuk mengingat konteks dan preferensi pengguna lintas sesi. Secara default, LLM seperti GPT atau Claude tidak memiliki memori persisten. Setiap percakapan dimulai dari nol. Di sinilah Mem0 hadir sebagai solusi.

Mem0 adalah memory layer open-source yang memungkinkan aplikasi AI Anda menyimpan, mengambil, dan mengelola memori secara cerdas. Dengan Mem0, chatbot Anda bisa mengingat preferensi pengguna, riwayat interaksi, dan konteks penting lainnya.

Mengapa Mem0?

Bayangkan Anda membangun AI assistant untuk customer service. Tanpa memory layer, setiap kali pelanggan menghubungi, AI harus menanyakan ulang informasi dasar. Dengan Mem0:

  • AI mengingat nama, preferensi, dan riwayat pelanggan
  • Respons menjadi lebih personal dan kontekstual
  • Pengalaman pengguna meningkat drastis
  • Efisiensi operasional meningkat

Mem0 menggunakan semantic search untuk menemukan memori yang relevan, bukan sekadar keyword matching. Ini berarti AI bisa memahami konteks dan mengambil informasi yang benar-benar relevan.

Instalasi

Pertama, install Mem0 menggunakan pip:

pip install mem0ai

Untuk menggunakan fitur lengkap dengan vector database, install juga dependensi opsional:

pip install mem0ai[qdrant]

Anda juga memerlukan API key dari OpenAI (default) atau provider LLM lainnya:

export OPENAIAPIKEY="sk-your-api-key-here"

Inisialisasi Mem0

Ada dua cara menggunakan Mem0: versi in-memory untuk development dan versi persistent untuk production.

Setup Dasar (In-Memory)

from mem0 import Memory

Inisialisasi dengan konfigurasi default

m = Memory()

Setup dengan Qdrant (Persistent)

from mem0 import Memory

config = {

"vectorstore": {

"provider": "qdrant",

"config": {

"host": "localhost",

"port": 6333,

"collectionname": "mem0memories"

}

},

"llm": {

"provider": "openai",

"config": {

"model": "gpt-4o-mini",

"temperature": 0.1

}

},

"embedder": {

"provider": "openai",

"config": {

"model": "text-embedding-3-small"

}

}

}

m = Memory.fromconfig(config)

Operasi Memori Dasar

Mem0 menyediakan empat operasi utama: add, get, search, dan delete.

Menambahkan Memori (Add)

# Menambahkan memori untuk user tertentu

result = m.add(

"Saya suka kopi hitam tanpa gula dan biasanya minum di pagi hari",

userid="user123"

)

print(result)

Output: {'results': [{'id': '...', 'memory': 'Suka kopi hitam tanpa gula', 'event': 'ADD'}]}

Mem0 secara otomatis mengekstrak informasi penting dari teks yang diberikan. Perhatikan bahwa Mem0 tidak menyimpan teks mentah, melainkan mengekstrak fakta dari teks tersebut.

Mengambil Semua Memori (Get)

# Mengambil semua memori untuk user tertentu

memories = m.getall(userid="user123")

for memory in memories:

print(f"ID: {memory['id']}")

print(f"Memory: {memory['memory']}")

print(f"Created: {memory['createdat']}")

print("---")

# Semantic search - mencari memori yang relevan

results = m.search(

"Apa minuman favorit user ini?",

userid="user123"

)

for result in results:

print(f"Memory: {result['memory']}")

print(f"Score: {result['score']}")

Search menggunakan semantic similarity, sehingga query "minuman favorit" akan menemukan memori tentang "kopi hitam" meskipun kata-katanya berbeda.

Menghapus Memori (Delete)

# Menghapus memori spesifik berdasarkan ID

m.delete(memoryid="memoryidhere")

Menghapus semua memori user

m.deleteall(userid="user123")

Artikel Terkait

Tutorial TRL: Post-Training LLM dengan SFT, DPO, dan Reward Modeling

Post-Training LLM dengan TRL: SFT, Reward Modeling, dan DPO Setelah sebuah base language model selesai dipretraining, mo...

Tutorial Axolotl: Fine-Tuning LLM Berbasis Konfigurasi YAML

Fine-Tuning LLM Berbasis Konfigurasi dengan Axolotl Kebanyakan proyek fine-tuning dimulai dengan cara yang sama: seseora...

Tutorial PydanticAI: Framework Agent LLM yang Type-Safe

Membangun Agen LLM yang Type-Safe dengan PydanticAI PydanticAI adalah framework agen dari tim di balik Pydantic, diranca...

Tutorial Unsloth: Fine-Tuning LLM yang Cepat dan Hemat Memori

Fine-Tuning LLM Secara Efisien dengan Unsloth Dahulu, melakukan fine-tuning model bahasa besar membutuhkan server multi-...