Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Praktik terbaik
Manajemen siklus hidup memori
Gunakan TTL untuk memori jangka pendek - Tetapkan nilai TTL yang sesuai pada entri memori untuk secara otomatis kedaluwarsa informasi sementara. Untuk konteks sesi, gunakan TTL 30 menit hingga 24 jam. Untuk preferensi pengguna jangka panjang, gunakan TTL yang lebih lama atau bertahan tanpa batas waktu.
Menerapkan peluruhan memori - Mem0 menyediakan mekanisme peluruhan bawaan yang menghapus informasi yang tidak relevan dari waktu ke waktu. Konfigurasikan ini untuk mencegah memori kembung karena agen mengumpulkan lebih banyak interaksi.
Memori deduplikat — Sebelum menyimpan memori baru, periksa apakah memori serupa sudah ada menggunakan pencarian kesamaan vektor. Perbarui memori yang ada daripada membuat duplikat.
Konfigurasi indeks vektor
Pilih jenis indeks yang tepat — Gunakan
FLATuntuk penyimpanan memori yang lebih kecil (di bawah 100.000 entri) di mana pencarian yang tepat layak dilakukan. GunakanHNSWuntuk toko yang lebih besar di mana perkiraan pencarian tetangga terdekat memberikan kinerja yang lebih baik dalam skala besar.Pilih dimensi yang sesuai - Cocokkan dimensi penyematan dengan model Anda. Amazon Titan Text Embeddings V2 menghasilkan vektor 1024 dimensi. Text-embedding-3-small OpenAI menghasilkan vektor 1536 dimensi.
Gunakan metrik jarak COSINE — Untuk penyematan teks dari model seperti Amazon Titan dan OpenAI, jarak COSINE biasanya merupakan metrik yang paling tepat untuk mengukur kesamaan semantik.
Multi-user isolasi
Memori lingkup berdasarkan ID pengguna — Selalu sertakan
user_idparameter saat menyimpan dan mencari memori untuk mencegah kebocoran informasi antar pengguna.Gunakan filter TAG untuk isolasi yang efisien — Saat menanyakan indeks vektor, gunakan filter TAG (misalnya,
@user_id:{user_123}) untuk memfilter hasil sebelumnya oleh pengguna sebelum melakukan pencarian KNN. Ini berjalan sebagai operasi atom tunggal, memberikan isolasi dan kinerja.# Example: TAG-filtered vector search for user isolation results = client.execute_command( "FT.SEARCH", "agent_memory", f"@user_id:{{{user_id}}}=>[KNN 5 @embedding $query_vec]", "PARAMS", "2", "query_vec", query_vec, "DIALECT", "2", )
Manajemen memori dalam skala
Setel kebijakan maxmemory — Konfigurasikan
maxmemory-policy allkeys-lrupada ElastiCache klaster Anda untuk secara otomatis mengusir entri memori yang paling jarang digunakan saat klaster mencapai batas memorinya.Memantau penggunaan memori — Gunakan CloudWatch metrik Amazon untuk melacak pemanfaatan memori, tingkat hit cache, dan latensi pencarian vektor. Atur alarm untuk penggunaan memori tinggi untuk mengelola kapasitas secara proaktif.
Rencanakan kapasitas - Setiap entri memori biasanya membutuhkan sekitar 4—6 KB (dimensi penyematan × 4 byte+metadata). Sebuah ElastiCache instans 1 GB dapat menyimpan sekitar 170.000-250.000 entri memori tergantung pada ukuran embedding dan metadata.